         }
     }
 
+    func testRead_Point_Invalid_Coordinate_NoSpaceAfterM() {
+
+        let input = "POINT ZM(1.0 1.0 1.01.0)"
+        let expected = "Unexpected token at line: 1 column: 9. Expected 'single space' but found -> '(1.0 1.0 1.01.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_NoSpaceBeforeM() {
 
         let input = "POINT ZM (1.0 1.0 1.01.0)"


        let input = "POINT Z (1.0 1.0 )"
        let expected = "Unexpected token at line: 1 column: 18. Expected 'numeric literal' but found -> ')'"

        XCTAssertThrowsError(try wktReader.read(wkt: input)) { error in
            if case ParseError.unexpectedToken(let message) = error {

            }
        }
    }

    // MARK: - GoemetryCollection

    func testRead_GeometryCollection_Valid() {
