         XCTAssertEqual(try wktReader.read(wkt: input) as? Point<Coordinate2D>, expected)
     }
 
-    func testRead_Point_InvalidCoordinate() {
+    func testRead_Point_Invalid_Coordinate_NoSpace() {
 
         let input = "POINT (1.01.0)"
         let expected = "Unexpected token at line: 1 column: 12. Expected 'single space' but found -> '.0)'"
+
+        XCTAssertThrowsError(try wktReader.read(wkt: input)) { error in
+            if case ParseError.unexpectedToken(let message) = error {
+                XCTAssertEqual(message, expected)
+            } else {
+                XCTFail("Wrong error thrown")
+            }
+        }
+    }
+
+    func testRead_Point_Invalid_Coordinate_X() {
+
+        let input = "POINT (K 1.0)"
+        let expected = "Unexpected token at line: 1 column: 8. Expected 'numeric literal' but found -> 'K 1.0)'"
+
+        XCTAssertThrowsError(try wktReader.read(wkt: input)) { error in
+            if case ParseError.unexpectedToken(let message) = error {
+                XCTAssertEqual(message, expected)
+            } else {
+                XCTFail("Wrong error thrown")
+            }
+        }
+    }
+
+    func testRead_Point_Invalid_Coordinate_Y() {
+
+        let input = "POINT (1.0 K)"
+        let expected = "Unexpected token at line: 1 column: 12. Expected 'numeric literal' but found -> 'K)'"
 
         XCTAssertThrowsError(try wktReader.read(wkt: input)) { error in
             if case ParseError.unexpectedToken(let message) = error {

            }
        }
    }

}


class WKTReader_Coordinate2D_FloatingPrecision_Cartesian_Tests: XCTestCase {

    private typealias WKTReaderType = WKTReader<Coordinate2D>
    private var wktReader = WKTReaderType(precision: FloatingPrecision(), coordinateReferenceSystem: Cartesian())

    // MARK: - Init

