diff options
Diffstat (limited to 'Tests/WmapParserTests/DependenciesParserTests.swift')
| -rw-r--r-- | Tests/WmapParserTests/DependenciesParserTests.swift | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/Tests/WmapParserTests/DependenciesParserTests.swift b/Tests/WmapParserTests/DependenciesParserTests.swift new file mode 100644 index 0000000..88e6e99 --- /dev/null +++ b/Tests/WmapParserTests/DependenciesParserTests.swift @@ -0,0 +1,44 @@ +import Testing + +@testable import WmapParser + +@Test func shouldParseUndirectedDependency() { + let source = "Smoke -- Fire" + let result = parse(source) + #expect(result.dependencies.count == 1) + #expect( + result.dependencies.first + == Dependency(fromComponent: "Smoke", toComponent: "Fire", isDirected: false) + ) +} + +@Test func shouldParseDirectedDependency() { + let source = "Cool Thing -> Different Cool Thing" + let result = parse(source) + #expect(result.dependencies.count == 1) + #expect( + result.dependencies.first + == Dependency( + fromComponent: "Cool Thing", toComponent: "Different Cool Thing", isDirected: true) + ) +} + +@Test func shouldPreserveCaseInDependencyLabels() { + let source = "SaRcAsM -> Seriousness." + let result = parse(source) + #expect(result.dependencies.count == 1) + #expect( + result.dependencies.first + == Dependency(fromComponent: "SaRcAsM", toComponent: "Seriousness.", isDirected: true) + ) +} + +@Test func shouldIgnoreWhitespaceInDependencies() { + let source = " loose --TIGHT" + let result = parse(source) + #expect(result.dependencies.count == 1) + #expect( + result.dependencies.first + == Dependency(fromComponent: "loose", toComponent: "TIGHT", isDirected: false) + ) +} |