in CyborgTests/ParserTests.swift [72:127]
func test_number_parser() {
"-432".withXMLString { str in
switch Cyborg.number(from: str, at: 0) {
case .ok(let result, let index):
XCTAssertEqual(result, -432)
XCTAssertEqual(index, str.count)
case .error(let error):
XCTFail(error.message)
}
}
"40".withXMLString { str2 in
switch Cyborg.number(from: str2, at: 0) {
case .ok(let result, let index):
XCTAssertEqual(result, 40)
XCTAssertEqual(index, str2.count)
case .error(let error):
XCTFail(error.message)
}
}
"4".withXMLString { str3 in
switch Cyborg.number(from: str3, at: 0) {
case .ok(let result, let index):
XCTAssertEqual(result, 4)
XCTAssertEqual(index, str3.count)
case .error(let error):
XCTFail(error.message)
}
}
"4.4 ".withXMLString { str4 in
switch Cyborg.number(from: str4, at: 0) {
case .ok(let result, let index):
XCTAssertEqual(result, 4.4)
XCTAssertEqual(index, str4.count - 1)
case .error(let error):
XCTFail(error.message)
}
}
".9 ".withXMLString { str5 in
switch Cyborg.number(from: str5, at: 0) {
case .ok(let result, let index):
XCTAssertEqual(result, 0.9)
XCTAssertEqual(index, str5.count - 1)
case .error(let error):
XCTFail(error.message)
}
}
"-.9 ".withXMLString { str6 in
switch Cyborg.number(from: str6, at: 0) {
case .ok(let result, let index):
XCTAssertEqual(result, -0.9)
XCTAssertEqual(index, str6.count - 1)
case .error(let error):
XCTFail(error.message)
}
}
}