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) ) }