Skip to content

Commit df6dfca

Browse files
committed
Adds tests for TecoPackageGenerator
1 parent bdd082f commit df6dfca

File tree

2 files changed

+54
-0
lines changed

2 files changed

+54
-0
lines changed

Package.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,5 +93,11 @@ let package = Package(
9393
.byName(name: "TecoCodeGeneratorTestHelpers"),
9494
.byName(name: "TecoCommonErrorGenerator"),
9595
]),
96+
.testTarget(
97+
name: "TecoPackageGeneratorTests",
98+
dependencies: [
99+
.byName(name: "TecoCodeGeneratorTestHelpers"),
100+
.byName(name: "TecoPackageGenerator"),
101+
]),
96102
]
97103
)
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import TecoCodeGeneratorTestHelpers
2+
import XCTest
3+
4+
#if Xcode // Works around FB11980900
5+
@testable import teco_package_generator
6+
#else
7+
@testable import TecoPackageGenerator
8+
#endif
9+
10+
final class TecoPackageGeneratorTests: XCTestCase {
11+
private let services: [(service: String, version: String)] = [
12+
("Aa", "V20200224"), ("Ams", "V20200608"), ("Ams", "V20201229"),
13+
]
14+
15+
func testProductExprBuilder() {
16+
AssertBuilder(buildProductExpr(name: "TecoDemo"), """
17+
.library(name: "TecoDemo", targets: ["TecoDemo"])
18+
""")
19+
AssertBuilder(buildProductExpr(name: "TecoDemo", trailingComma: true), """
20+
.library(name: "TecoDemo", targets: ["TecoDemo"]),
21+
""")
22+
}
23+
24+
func testProductExprListBuilder() {
25+
AssertBuilder(buildProductListExpr(for: services), contains: [
26+
#" .library(name: "TecoAaV20200224", targets: ["TecoAaV20200224"]),"#,
27+
#" .library(name: "TecoAmsV20200608", targets: ["TecoAmsV20200608"]),"#,
28+
#" .library(name: "TecoAmsV20201229", targets: ["TecoAmsV20201229"]),"#,
29+
])
30+
}
31+
32+
func testTargetExprBuilder() {
33+
AssertBuilder(buildTargetExpr(name: "TecoDemo", path: "./Demo"), """
34+
.target(name: "TecoDemo", dependencies: [.product(name: "TecoCore", package: "teco-core")], path: "./Demo")
35+
""")
36+
AssertBuilder(buildTargetExpr(name: "TecoDemo", path: "./Demo", trailingComma: true), """
37+
.target(name: "TecoDemo", dependencies: [.product(name: "TecoCore", package: "teco-core")], path: "./Demo"),
38+
""")
39+
}
40+
41+
func testTargetExprListBuilder() {
42+
AssertBuilder(buildTargetListExpr(for: services), contains: [
43+
#" .target(name: "TecoAaV20200224", dependencies: [.product(name: "TecoCore", package: "teco-core")], path: "./Sources/Teco/Aa/V20200224"),"#,
44+
#" .target(name: "TecoAmsV20201229", dependencies: [.product(name: "TecoCore", package: "teco-core")], path: "./Sources/Teco/Ams/V20201229"),"#,
45+
#" .target(name: "TecoAmsV20200608", dependencies: [.product(name: "TecoCore", package: "teco-core")], path: "./Sources/Teco/Ams/V20200608"),"#,
46+
])
47+
}
48+
}

0 commit comments

Comments
 (0)