blob: dced4868a308b4b9266323e115e22aa40c4d720e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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"])
}
|