Sha256: 3d4584c1f4dcb606f7a95be4c43d4eb57ebb3cb28dab183bd3c159e81ffc9615
Contents?: true
Size: 1.54 KB
Versions: 75
Compression:
Stored size: 1.54 KB
Contents
import XCTest import Foundation @testable import RobotName #if os(Linux) typealias Regex = RegularExpression #elseif os(OSX) typealias Regex = NSRegularExpression #endif class RobotNameTests: XCTestCase { func robotNameIsCorrectlyFormatted(_ name: String) -> Bool { let robotNameRegex = try? Regex(pattern: "\\A\\w{2}\\d{3}\\z", options: Regex.Options.caseInsensitive) guard let matches = robotNameRegex?.matches(in: name, options: .withoutAnchoringBounds, range: NSRange(0..<name.utf16.count)) else { return false } return matches.count > 0 } func testHasName() { let robot = Robot() XCTAssert(robotNameIsCorrectlyFormatted(robot.name)) } func testNameSticks() { let robot = Robot() let name = robot.name XCTAssertEqual(name, robot.name) } func testDifferentRobotsHaveDifferentNames() { let firstRobot = Robot() let secondRobot = Robot() XCTAssertNotEqual(firstRobot.name, secondRobot.name) } func testResetName() { var robot = Robot() let firstName = robot.name robot.resetName() let secondName = robot.name XCTAssertNotEqual(firstName, secondName) } static var allTests: [(String, (RobotNameTests) -> () throws -> Void)] { return [ ("testHasName", testHasName), ("testNameSticks", testNameSticks), ("testDifferentRobotsHaveDifferentNames", testDifferentRobotsHaveDifferentNames), ("testResetName", testResetName), ] } }
Version data entries
75 entries across 75 versions & 1 rubygems