Skip to content

Commit

Permalink
Add unit tests for GenericArgumentClauseSyntax
Browse files Browse the repository at this point in the history
  • Loading branch information
dafurman authored and Matejkob committed Feb 5, 2024
1 parent 2ac9227 commit b5267c0
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,26 @@ final class UT_TypeSyntax_ContainsGenericType: XCTestCase {
XCTAssertFalse(typeSyntax(with: "String", containsGenericType: ["T"]))
}

func testContainsGenericType_WithGenericArgumentClauseSyntax() {
func typeSyntax(
with identifier: String,
containsGenericType genericTypes: Set<String>
) -> Bool {
TypeSyntax(
IdentifierTypeSyntax(
name: .identifier("Array"),
genericArgumentClause: GenericArgumentClauseSyntax {
GenericArgumentSyntax(argument: TypeSyntax(stringLiteral: identifier))
}
)
)
.containsGenericType(from: genericTypes)
}

XCTAssertTrue(typeSyntax(with: "T", containsGenericType: ["T"]))
XCTAssertFalse(typeSyntax(with: "String", containsGenericType: ["T"]))
}

func testContainsGenericType_WithTupleTypeSyntax() {
func typeSyntax(
with identifier: String,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,26 @@ final class UT_TypeSyntax_ErasingGenericTypes: XCTestCase {
XCTAssertEqual(typeSyntaxDescription(with: "String"), " [String] ")
}

func testErasingGenericTypes_WithGenericArgumentClauseSyntax() {
func typeSyntaxDescription(with identifier: String) -> String {
TypeSyntax(
IdentifierTypeSyntax(
leadingTrivia: .space,
name: .identifier("Array"),
genericArgumentClause: GenericArgumentClauseSyntax {
GenericArgumentSyntax(argument: TypeSyntax(stringLiteral: identifier))
},
trailingTrivia: .space
)
)
.erasingGenericTypes(["T"])
.description
}

XCTAssertEqual(typeSyntaxDescription(with: "T"), " Array<Any> ")
XCTAssertEqual(typeSyntaxDescription(with: "String"), " Array<String> ")
}

func testErasingGenericTypes_WithTupleTypeSyntax() {
func typeSyntaxDescription(with identifier: String) -> String {
TypeSyntax(
Expand Down

0 comments on commit b5267c0

Please sign in to comment.