diff options
| author | Ruben Beltran del Rio <jj@r.bdr.sh> | 2025-12-13 01:17:52 +0100 |
|---|---|---|
| committer | Ruben Beltran del Rio <jj@r.bdr.sh> | 2025-12-14 09:15:07 +0100 |
| commit | 03f1a7389afeadf9aa2b1d62a38e5cb0a2a7e60d (patch) | |
| tree | 2efefc34a61c62d55d8436180acfc3590287f5fd /Tests/WmapParserTests/GroupsParserTests.swift | |
Initial implementation
Diffstat (limited to 'Tests/WmapParserTests/GroupsParserTests.swift')
| -rw-r--r-- | Tests/WmapParserTests/GroupsParserTests.swift | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Tests/WmapParserTests/GroupsParserTests.swift b/Tests/WmapParserTests/GroupsParserTests.swift new file mode 100644 index 0000000..dced486 --- /dev/null +++ b/Tests/WmapParserTests/GroupsParserTests.swift @@ -0,0 +1,38 @@ +import Testing + +@testable import WmapParser + +@Test func shouldParseAGroupWithASingleComponent() { + let source = "[Group] Lonely" + let result = parse(source) + #expect(result.groups.count == 1) + #expect(result.groups.first?.components == ["Lonely"]) +} + +@Test func shouldParseAGroupWithMultipleComponents() { + let source = "[GrouP] Huey, Dewey, Louie" + let result = parse(source) + #expect(result.groups.count == 1) + #expect(result.groups.first?.components == ["Huey", "Dewey", "Louie"]) +} + +@Test func shouldHandleCaseInsensitiveGroupKeyword() { + let source = "[group] Salt, Pepper" + let result = parse(source) + #expect(result.groups.count == 1) + #expect(result.groups.first?.components == ["Salt", "Pepper"]) +} + +@Test func shouldPreserveCaseInGroupComponentLabel() { + let source = "[GROUP] XML, LaTeX" + let result = parse(source) + #expect(result.groups.count == 1) + #expect(result.groups.first?.components == ["XML", "LaTeX"]) +} + +@Test func shouldHandleWhitespaceAroundCommas() { + let source = "[Group] sky, is large, emperor" + let result = parse(source) + #expect(result.groups.count == 1) + #expect(result.groups.first?.components == ["sky", "is large", "emperor"]) +} |