blob: e87bf9eab12a24155b66f021a6181fe0045dba1f (
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
39
40
41
42
43
44
45
46
47
48
|
import Testing
@testable import WmapParser
@Test func shouldParsePositiveEvolution() {
let source = "[Evolution] Nanomachines + 0.5"
let result = parse(source)
#expect(result.evolutions.count == 1)
#expect(
result.evolutions.first == Evolution(component: "Nanomachines", value: 0.5)
)
}
@Test func shouldParseNegativeEvolution() {
let source = "[Evolution] FOXDIE - 0.3"
let result = parse(source)
#expect(result.evolutions.count == 1)
#expect(
result.evolutions.first == Evolution(component: "FOXDIE", value: -0.3)
)
}
@Test func shouldHandleCaseInsensitiveEvolutionKeyword() {
let source = "[Evolution] tamales + 0.73"
let result = parse(source)
#expect(result.evolutions.count == 1)
#expect(
result.evolutions.first == Evolution(component: "tamales", value: 0.73)
)
}
@Test func shouldPreserveCaseInEvolutionComponentLabel() {
let source = "[EVOLUTION] iMac - 0.2"
let result = parse(source)
#expect(result.evolutions.count == 1)
#expect(
result.evolutions.first == Evolution(component: "iMac", value: -0.2)
)
}
@Test func shouldHandleDecimalEvolutionValues() {
let source = "[Evolution] Numerals + .75"
let result = parse(source)
#expect(result.evolutions.count == 1)
#expect(
result.evolutions.first == Evolution(component: "Numerals", value: 0.75)
)
}
|