@@ -16,6 +16,19 @@ fileprivate func cannedStructDecl() -> StructDeclSyntax {
16
16
}
17
17
}
18
18
19
+ fileprivate func infixOperationExprList( with operatorToken: TokenSyntax ) -> ExprListSyntax {
20
+ let first = IntegerLiteralExprSyntax {
21
+ $0. useDigits ( SyntaxFactory . makeIntegerLiteral ( " 1 " , trailingTrivia: . spaces( 1 ) ) )
22
+ }
23
+ let op = BinaryOperatorExprSyntax {
24
+ $0. useOperatorToken ( operatorToken. withTrailingTrivia ( . spaces( 1 ) ) )
25
+ }
26
+ let second = IntegerLiteralExprSyntax {
27
+ $0. useDigits ( SyntaxFactory . makeIntegerLiteral ( " 1 " ) )
28
+ }
29
+ return SyntaxFactory . makeExprList ( [ first, op, second] )
30
+ }
31
+
19
32
public class SyntaxFactoryAPITestCase : XCTestCase {
20
33
21
34
public static let allTests = [
@@ -24,6 +37,21 @@ public class SyntaxFactoryAPITestCase: XCTestCase {
24
37
( " testFunctionCallSyntaxBuilder " , testFunctionCallSyntaxBuilder) ,
25
38
( " testWithOptionalChild " , testWithOptionalChild) ,
26
39
( " testUnknownSyntax " , testUnknownSyntax) ,
40
+ ( " testMakeNonEqualityOperator " , testMakeNonEqualityOperator) ,
41
+ ( " testMakeAdditionOperator " , testMakeAdditionOperator) ,
42
+ ( " testMakeSubtractionOperator " , testMakeSubtractionOperator) ,
43
+ ( " testMakeMultiplicationOperator " , testMakeMultiplicationOperator) ,
44
+ ( " testMakeDivisionOperator " , testMakeDivisionOperator) ,
45
+ ( " testMakeRemainderOperator " , testMakeRemainderOperator) ,
46
+ ( " testMakeAdditionAssignmentOperator " , testMakeAdditionAssignmentOperator) ,
47
+ ( " testMakeSubtractionAssignmentOperator " , testMakeSubtractionAssignmentOperator) ,
48
+ ( " testMakeMultiplicationAssignmentOperator " , testMakeMultiplicationAssignmentOperator) ,
49
+ ( " testMakeDivisionAssignmentOperator " , testMakeDivisionAssignmentOperator) ,
50
+ ( " testMakeRemainderAssignmentOperator " , testMakeRemainderAssignmentOperator) ,
51
+ ( " testMakeLessThanOperator " , testMakeLessThanOperator) ,
52
+ ( " testMakeGreaterThanOperator " , testMakeGreaterThanOperator) ,
53
+ ( " testMakeLessThanOrEqualToOperator " , testMakeLessThanOrEqualToOperator) ,
54
+ ( " testMakeGreaterThanOrEqualToOperator " , testMakeGreaterThanOrEqualToOperator) ,
27
55
]
28
56
29
57
public func testGenerated( ) {
@@ -160,4 +188,79 @@ public class SyntaxFactoryAPITestCase: XCTestCase {
160
188
XCTAssertNoThrow ( try SyntaxVerifier . verify ( expr) )
161
189
XCTAssertThrowsError ( try SyntaxVerifier . verify ( unknown) )
162
190
}
191
+
192
+ public func testMakeNonEqualityOperator( ) {
193
+ let exprList = infixOperationExprList ( with: SyntaxFactory . makeNonEqualityOperator ( ) )
194
+ XCTAssertEqual ( " \( exprList) " , " 1 != 1 " )
195
+ }
196
+
197
+ public func testMakeAdditionOperator( ) {
198
+ let exprList = infixOperationExprList ( with: SyntaxFactory . makeAdditionOperator ( ) )
199
+ XCTAssertEqual ( " \( exprList) " , " 1 + 1 " )
200
+ }
201
+
202
+ public func testMakeSubtractionOperator( ) {
203
+ let exprList = infixOperationExprList ( with: SyntaxFactory . makeSubtractionOperator ( ) )
204
+ XCTAssertEqual ( " \( exprList) " , " 1 - 1 " )
205
+ }
206
+
207
+ public func testMakeMultiplicationOperator( ) {
208
+ let exprList = infixOperationExprList ( with: SyntaxFactory . makeMultiplicationOperator ( ) )
209
+ XCTAssertEqual ( " \( exprList) " , " 1 * 1 " )
210
+ }
211
+
212
+ public func testMakeDivisionOperator( ) {
213
+ let exprList = infixOperationExprList ( with: SyntaxFactory . makeDivisionOperator ( ) )
214
+ XCTAssertEqual ( " \( exprList) " , " 1 / 1 " )
215
+ }
216
+
217
+ public func testMakeRemainderOperator( ) {
218
+ let exprList = infixOperationExprList ( with: SyntaxFactory . makeRemainderOperator ( ) )
219
+ XCTAssertEqual ( " \( exprList) " , " 1 % 1 " )
220
+ }
221
+
222
+ public func testMakeAdditionAssignmentOperator( ) {
223
+ let exprList = infixOperationExprList ( with: SyntaxFactory . makeAdditionAssignmentOperator ( ) )
224
+ XCTAssertEqual ( " \( exprList) " , " 1 += 1 " )
225
+ }
226
+
227
+ public func testMakeSubtractionAssignmentOperator( ) {
228
+ let exprList = infixOperationExprList ( with: SyntaxFactory . makeSubtractionAssignmentOperator ( ) )
229
+ XCTAssertEqual ( " \( exprList) " , " 1 -= 1 " )
230
+ }
231
+
232
+ public func testMakeMultiplicationAssignmentOperator( ) {
233
+ let exprList = infixOperationExprList ( with: SyntaxFactory . makeMultiplicationAssignmentOperator ( ) )
234
+ XCTAssertEqual ( " \( exprList) " , " 1 *= 1 " )
235
+ }
236
+
237
+ public func testMakeDivisionAssignmentOperator( ) {
238
+ let exprList = infixOperationExprList ( with: SyntaxFactory . makeDivisionAssignmentOperator ( ) )
239
+ XCTAssertEqual ( " \( exprList) " , " 1 /= 1 " )
240
+ }
241
+
242
+ public func testMakeRemainderAssignmentOperator( ) {
243
+ let exprList = infixOperationExprList ( with: SyntaxFactory . makeRemainderAssignmentOperator ( ) )
244
+ XCTAssertEqual ( " \( exprList) " , " 1 %= 1 " )
245
+ }
246
+
247
+ public func testMakeLessThanOperator( ) {
248
+ let exprList = infixOperationExprList ( with: SyntaxFactory . makeLessThanOperator ( ) )
249
+ XCTAssertEqual ( " \( exprList) " , " 1 < 1 " )
250
+ }
251
+
252
+ public func testMakeGreaterThanOperator( ) {
253
+ let exprList = infixOperationExprList ( with: SyntaxFactory . makeGreaterThanOperator ( ) )
254
+ XCTAssertEqual ( " \( exprList) " , " 1 > 1 " )
255
+ }
256
+
257
+ public func testMakeLessThanOrEqualToOperator( ) {
258
+ let exprList = infixOperationExprList ( with: SyntaxFactory . makeLessThanOrEqualToOperator ( ) )
259
+ XCTAssertEqual ( " \( exprList) " , " 1 <= 1 " )
260
+ }
261
+
262
+ public func testMakeGreaterThanOrEqualToOperator( ) {
263
+ let exprList = infixOperationExprList ( with: SyntaxFactory . makeGreaterThanOrEqualToOperator ( ) )
264
+ XCTAssertEqual ( " \( exprList) " , " 1 >= 1 " )
265
+ }
163
266
}
0 commit comments