aboutsummaryrefslogtreecommitdiff
path: root/Tests/WmapParserTests/NotesParserTests.swift
diff options
context:
space:
mode:
authorRuben Beltran del Rio <jj@r.bdr.sh>2025-12-13 01:17:52 +0100
committerRuben Beltran del Rio <jj@r.bdr.sh>2025-12-14 09:15:07 +0100
commit03f1a7389afeadf9aa2b1d62a38e5cb0a2a7e60d (patch)
tree2efefc34a61c62d55d8436180acfc3590287f5fd /Tests/WmapParserTests/NotesParserTests.swift
Initial implementation
Diffstat (limited to 'Tests/WmapParserTests/NotesParserTests.swift')
-rw-r--r--Tests/WmapParserTests/NotesParserTests.swift42
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))
+ )
+}