diff options
Diffstat (limited to 'Tests/WmapParserTests/NotesParserTests.swift')
| -rw-r--r-- | Tests/WmapParserTests/NotesParserTests.swift | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/Tests/WmapParserTests/NotesParserTests.swift b/Tests/WmapParserTests/NotesParserTests.swift new file mode 100644 index 0000000..655bef6 --- /dev/null +++ b/Tests/WmapParserTests/NotesParserTests.swift @@ -0,0 +1,42 @@ +import Testing + +@testable import WmapParser + +@Test func shouldParseANote() { + let source = "[Note] (0.5, 0.5) This is a note" + let result = parse(source) + #expect(result.notes.count == 1) + #expect( + result.notes.first + == Note(text: "This is a note", coordinates: MapPoint(xCoordinate: 0.5, yCoordinate: 0.5)) + ) +} + +@Test func shouldHandleCaseInsensitiveNoteKeyword() { + let source = "[note] (0.1, 0.2) Text" + let result = parse(source) + #expect(result.notes.count == 1) + #expect( + result.notes.first + == Note(text: "Text", coordinates: MapPoint(xCoordinate: 0.1, yCoordinate: 0.2)) + ) +} + +@Test func shouldPreserveCaseInNoteText() { + let source = "[NOTE] (0.77, 0.19) Important NOTE" + let result = parse(source) + #expect(result.notes.count == 1) + #expect( + result.notes.first + == Note(text: "Important NOTE", coordinates: MapPoint(xCoordinate: 0.77, yCoordinate: 0.19)) + ) +} + +@Test func shouldHandleEmptyNoteText() { + let source = "[Note] (0.5, 0.5) " + let result = parse(source) + #expect(result.notes.count == 1) + #expect( + result.notes.first == Note(text: "", coordinates: MapPoint(xCoordinate: 0.5, yCoordinate: 0.5)) + ) +} |