Skip to content

Commit 361ac9a

Browse files
committed
Update test cases for new changes
1 parent b37a089 commit 361ac9a

19 files changed

+246
-127
lines changed

src/test/java/com/relogiclabs/json/schema/positive/ExternalFunctions.java renamed to src/test/java/com/relogiclabs/json/schema/external/ExternalFunctions.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.relogiclabs.json.schema.positive;
1+
package com.relogiclabs.json.schema.external;
22

33
import com.relogiclabs.json.schema.exception.JsonSchemaException;
44
import com.relogiclabs.json.schema.function.FunctionBase;
@@ -7,16 +7,17 @@
77
import com.relogiclabs.json.schema.message.ErrorDetail;
88
import com.relogiclabs.json.schema.message.ExpectedDetail;
99
import com.relogiclabs.json.schema.tree.RuntimeContext;
10-
import com.relogiclabs.json.schema.types.JBoolean;
11-
import com.relogiclabs.json.schema.types.JInteger;
12-
import com.relogiclabs.json.schema.types.JNumber;
13-
import com.relogiclabs.json.schema.types.JReceiver;
14-
import com.relogiclabs.json.schema.types.JString;
10+
import com.relogiclabs.json.schema.type.JBoolean;
11+
import com.relogiclabs.json.schema.type.JInteger;
12+
import com.relogiclabs.json.schema.type.JNumber;
13+
import com.relogiclabs.json.schema.type.JReceiver;
14+
import com.relogiclabs.json.schema.type.JString;
1515

1616
import java.util.Arrays;
1717

1818
import static com.relogiclabs.json.schema.internal.util.StringHelper.join;
1919

20+
// Functions for positive (valid) test cases
2021
public class ExternalFunctions extends FunctionBase {
2122
public static final String EVENFUNC01 = "EVENFUNC01";
2223
public static final String ERRACCESS01 = "ERRACCESS01";
@@ -31,7 +32,7 @@ public ExternalFunctions(RuntimeContext runtime) {
3132

3233
public boolean even(JNumber target) {
3334
boolean result = (target.toDouble() % 2 == 0);
34-
if(!result) failWith(new JsonSchemaException(
35+
if(!result) return failWith(new JsonSchemaException(
3536
new ErrorDetail(EVENFUNC01, "Number is not even"),
3637
new ExpectedDetail(target, "even number"),
3738
new ActualDetail(target, "number ", target, " is odd")));

src/test/java/com/relogiclabs/json/schema/negative/function/ExternalFunctions1.java renamed to src/test/java/com/relogiclabs/json/schema/external/ExternalFunctions1.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
package com.relogiclabs.json.schema.negative.function;
1+
package com.relogiclabs.json.schema.external;
22

3-
import com.relogiclabs.json.schema.types.JNumber;
3+
import com.relogiclabs.json.schema.type.JNumber;
44

5+
// Functions for negative (error) test cases
56
public class ExternalFunctions1 {
67
public boolean odd(JNumber target) {
78
boolean result = (target.toDouble() % 2 != 0);

src/test/java/com/relogiclabs/json/schema/negative/function/ExternalFunctions2.java renamed to src/test/java/com/relogiclabs/json/schema/external/ExternalFunctions2.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
package com.relogiclabs.json.schema.negative.function;
1+
package com.relogiclabs.json.schema.external;
22

33
import com.relogiclabs.json.schema.function.FunctionBase;
44
import com.relogiclabs.json.schema.tree.RuntimeContext;
5-
import com.relogiclabs.json.schema.types.JNumber;
5+
import com.relogiclabs.json.schema.type.JNumber;
66

7+
// Functions for negative (error) test cases
78
public class ExternalFunctions2 extends FunctionBase {
89
public ExternalFunctions2(RuntimeContext runtime) {
910
super(runtime);
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
package com.relogiclabs.json.schema.negative.function;
1+
package com.relogiclabs.json.schema.external;
22

33
import com.relogiclabs.json.schema.function.FunctionBase;
44
import com.relogiclabs.json.schema.tree.RuntimeContext;
55

6+
// Functions for negative (error) test cases
67
public class ExternalFunctions3 extends FunctionBase {
78
public ExternalFunctions3(RuntimeContext runtime) {
89
super(runtime);
@@ -11,4 +12,4 @@ public ExternalFunctions3(RuntimeContext runtime) {
1112
public boolean odd() {
1213
throw new UnsupportedOperationException();
1314
}
14-
}
15+
}

src/test/java/com/relogiclabs/json/schema/negative/function/ExternalFunctions4.java renamed to src/test/java/com/relogiclabs/json/schema/external/ExternalFunctions4.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
package com.relogiclabs.json.schema.negative.function;
1+
package com.relogiclabs.json.schema.external;
22

33
import com.relogiclabs.json.schema.function.FunctionBase;
44
import com.relogiclabs.json.schema.tree.RuntimeContext;
5-
import com.relogiclabs.json.schema.types.JNumber;
5+
import com.relogiclabs.json.schema.type.JNumber;
66

7+
// Functions for negative (error) test cases
78
public class ExternalFunctions4 extends FunctionBase {
89
public ExternalFunctions4(RuntimeContext runtime) {
910
super(runtime);

src/test/java/com/relogiclabs/json/schema/negative/function/ExternalFunctions5.java renamed to src/test/java/com/relogiclabs/json/schema/external/ExternalFunctions5.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
package com.relogiclabs.json.schema.negative.function;
1+
package com.relogiclabs.json.schema.external;
22

33
import com.relogiclabs.json.schema.function.FunctionBase;
44

5+
// Functions for negative (error) test cases
56
public class ExternalFunctions5 extends FunctionBase {
67
public ExternalFunctions5() {
78
super(null);

src/test/java/com/relogiclabs/json/schema/negative/AggregatedTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
import com.relogiclabs.json.schema.exception.JsonSchemaException;
66
import org.junit.jupiter.api.Test;
77

8+
import static com.relogiclabs.json.schema.external.ExternalFunctions.ERRACCESS01;
89
import static com.relogiclabs.json.schema.message.ErrorCode.DTYP04;
9-
import static com.relogiclabs.json.schema.positive.ExternalFunctions.ERRACCESS01;
1010
import static org.junit.jupiter.api.Assertions.assertEquals;
1111
import static org.junit.jupiter.api.Assertions.assertThrows;
1212

@@ -74,7 +74,7 @@ public void When_ExtendedAggregatedTestWithInvalidAccess_ExceptionThrown() {
7474
var schema = """
7575
%title: "Extended User Profile Dashboard API Response"
7676
%version: 2.0.0
77-
%include: com.relogiclabs.json.schema.positive.ExternalFunctions
77+
%include: com.relogiclabs.json.schema.external.ExternalFunctions
7878
%pragma IgnoreUndefinedProperties: true
7979
8080
%define $post: {

src/test/java/com/relogiclabs/json/schema/negative/FunctionTests.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public void When_FunctionAppliedOnWrongType_ExceptionThrown() {
4646
public void When_ExternalIncludeNotInheritBaseClass_ExceptionThrown() {
4747
var schema =
4848
"""
49-
%include: com.relogiclabs.json.schema.negative.function.ExternalFunctions1
49+
%include: com.relogiclabs.json.schema.external.ExternalFunctions1
5050
%schema: @odd #integer
5151
""";
5252
var json = "10";
@@ -78,8 +78,8 @@ public void When_ExternalIncludeNotExisting_ExceptionThrown() {
7878
public void When_ExternalIncludeDuplicationOccurred_ExceptionThrown() {
7979
var schema =
8080
"""
81-
%include: com.relogiclabs.json.schema.positive.ExternalFunctions
82-
%include: com.relogiclabs.json.schema.positive.ExternalFunctions
81+
%include: com.relogiclabs.json.schema.external.ExternalFunctions
82+
%include: com.relogiclabs.json.schema.external.ExternalFunctions
8383
%schema: @odd #integer
8484
""";
8585
var json = "10";
@@ -95,7 +95,7 @@ public void When_ExternalIncludeDuplicationOccurred_ExceptionThrown() {
9595
public void When_ExternalIncludeInstantiationNotCompleted_ExceptionThrown() {
9696
var schema =
9797
"""
98-
%include: com.relogiclabs.json.schema.negative.function.ExternalFunctions5
98+
%include: com.relogiclabs.json.schema.external.ExternalFunctions5
9999
%schema: @odd #integer
100100
""";
101101
var json = "10";
@@ -111,7 +111,7 @@ public void When_ExternalIncludeInstantiationNotCompleted_ExceptionThrown() {
111111
public void When_ExternalFunctionWrongReturnType_ExceptionThrown() {
112112
var schema =
113113
"""
114-
%include: com.relogiclabs.json.schema.negative.function.ExternalFunctions2
114+
%include: com.relogiclabs.json.schema.external.ExternalFunctions2
115115
%schema: @odd #integer
116116
""";
117117
var json = "10";
@@ -127,7 +127,7 @@ public void When_ExternalFunctionWrongReturnType_ExceptionThrown() {
127127
public void When_ExternalFunctionWrongParameterNumber_ExceptionThrown() {
128128
var schema =
129129
"""
130-
%include: com.relogiclabs.json.schema.negative.function.ExternalFunctions3
130+
%include: com.relogiclabs.json.schema.external.ExternalFunctions3
131131
%schema: @odd #integer
132132
""";
133133
var json = "10";
@@ -143,7 +143,7 @@ public void When_ExternalFunctionWrongParameterNumber_ExceptionThrown() {
143143
public void When_ExternalFunctionNotExists_ExceptionThrown() {
144144
var schema =
145145
"""
146-
%include: com.relogiclabs.json.schema.negative.function.ExternalFunctions4
146+
%include: com.relogiclabs.json.schema.external.ExternalFunctions4
147147
%schema: @odd #integer
148148
""";
149149
var json = "10";
@@ -159,7 +159,7 @@ public void When_ExternalFunctionNotExists_ExceptionThrown() {
159159
public void When_FunctionThrowArbitraryException_ExceptionThrown() {
160160
var schema =
161161
"""
162-
%include: com.relogiclabs.json.schema.negative.function.ExternalFunctions4
162+
%include: com.relogiclabs.json.schema.external.ExternalFunctions4
163163
%schema: @canTest #integer
164164
""";
165165
var json = "10";

src/test/java/com/relogiclabs/json/schema/negative/IntegerTests.java

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
import static com.relogiclabs.json.schema.message.ErrorCode.DTYP06;
1010
import static com.relogiclabs.json.schema.message.ErrorCode.FUNC06;
1111
import static com.relogiclabs.json.schema.message.ErrorCode.INTE01;
12-
import static com.relogiclabs.json.schema.message.ErrorCode.NEGI01;
13-
import static com.relogiclabs.json.schema.message.ErrorCode.POSI01;
1412
import static com.relogiclabs.json.schema.message.ErrorCode.RANG01;
1513
import static com.relogiclabs.json.schema.message.ErrorCode.RANG03;
1614
import static com.relogiclabs.json.schema.message.ErrorCode.RANG04;
@@ -214,38 +212,4 @@ public void When_NestedRangeWithMaxUndefinedAndWrongIntegerInArray_ExceptionThro
214212
assertEquals(RANG03, exception.getCode());
215213
exception.printStackTrace();
216214
}
217-
218-
@Test
219-
public void When_NestedPositiveWithWrongIntegerInArray_ExceptionThrown() {
220-
var schema =
221-
"""
222-
@positive* #integer*
223-
""";
224-
var json =
225-
"""
226-
[100, -500, 900]
227-
""";
228-
JsonSchema.isValid(schema, json);
229-
var exception = assertThrows(JsonSchemaException.class,
230-
() -> JsonAssert.isValid(schema, json));
231-
assertEquals(POSI01, exception.getCode());
232-
exception.printStackTrace();
233-
}
234-
235-
@Test
236-
public void When_NestedNegativeWithWrongIntegerInArray_ExceptionThrown() {
237-
var schema =
238-
"""
239-
@negative* #integer*
240-
""";
241-
var json =
242-
"""
243-
[-100, -500, 900]
244-
""";
245-
JsonSchema.isValid(schema, json);
246-
var exception = assertThrows(JsonSchemaException.class,
247-
() -> JsonAssert.isValid(schema, json));
248-
assertEquals(NEGI01, exception.getCode());
249-
exception.printStackTrace();
250-
}
251215
}

src/test/java/com/relogiclabs/json/schema/negative/NumberTests.java

Lines changed: 75 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
import static com.relogiclabs.json.schema.message.ErrorCode.MAXI03;
1010
import static com.relogiclabs.json.schema.message.ErrorCode.MINI01;
1111
import static com.relogiclabs.json.schema.message.ErrorCode.MINI03;
12+
import static com.relogiclabs.json.schema.message.ErrorCode.NEGI01;
13+
import static com.relogiclabs.json.schema.message.ErrorCode.NEGI02;
14+
import static com.relogiclabs.json.schema.message.ErrorCode.POSI01;
15+
import static com.relogiclabs.json.schema.message.ErrorCode.POSI02;
1216
import static org.junit.jupiter.api.Assertions.assertEquals;
1317
import static org.junit.jupiter.api.Assertions.assertThrows;
1418

@@ -111,7 +115,7 @@ public void When_WrongJsonWithNestedMaximumNumberInArray_ExceptionThrown() {
111115
}
112116

113117
@Test
114-
public void When_NestedMaximumFloatInObject_ValidTrue() {
118+
public void When_NestedMaximumWrongFloatInObject_ExceptionThrown() {
115119
var schema =
116120
"""
117121
@maximum*(100) #float*
@@ -132,7 +136,7 @@ public void When_NestedMaximumFloatInObject_ValidTrue() {
132136
}
133137

134138
@Test
135-
public void When_NestedMinimumExclusiveFloatInObject_ValidTrue() {
139+
public void When_NestedMinimumExclusiveWrongFloatInObject_ExceptionThrown() {
136140
var schema =
137141
"""
138142
@minimum*(100, true) #float*
@@ -153,7 +157,7 @@ public void When_NestedMinimumExclusiveFloatInObject_ValidTrue() {
153157
}
154158

155159
@Test
156-
public void When_NestedMaximumExclusiveFloatInObject_ValidTrue() {
160+
public void When_NestedMaximumExclusiveWrongFloatInObject_ExceptionThrown() {
157161
var schema =
158162
"""
159163
@maximum*(100, true) #float*
@@ -172,4 +176,72 @@ public void When_NestedMaximumExclusiveFloatInObject_ValidTrue() {
172176
assertEquals(MAXI03, exception.getCode());
173177
exception.printStackTrace();
174178
}
179+
180+
@Test
181+
public void When_NestedPositiveWithWrongNumberInArray_ExceptionThrown() {
182+
var schema =
183+
"""
184+
@positive* #number*
185+
""";
186+
var json =
187+
"""
188+
[1, 100.5, -500]
189+
""";
190+
JsonSchema.isValid(schema, json);
191+
var exception = assertThrows(JsonSchemaException.class,
192+
() -> JsonAssert.isValid(schema, json));
193+
assertEquals(POSI01, exception.getCode());
194+
exception.printStackTrace();
195+
}
196+
197+
@Test
198+
public void When_NestedPositiveReferenceWithWrongNumberInArray_ExceptionThrown() {
199+
var schema =
200+
"""
201+
@positive*(0) #number*
202+
""";
203+
var json =
204+
"""
205+
[0, 100, 0.1, -1]
206+
""";
207+
JsonSchema.isValid(schema, json);
208+
var exception = assertThrows(JsonSchemaException.class,
209+
() -> JsonAssert.isValid(schema, json));
210+
assertEquals(POSI02, exception.getCode());
211+
exception.printStackTrace();
212+
}
213+
214+
@Test
215+
public void When_NestedNegativeWithWrongNumberInArray_ExceptionThrown() {
216+
var schema =
217+
"""
218+
@negative* #number*
219+
""";
220+
var json =
221+
"""
222+
[-100, -500, -0.1, 0]
223+
""";
224+
JsonSchema.isValid(schema, json);
225+
var exception = assertThrows(JsonSchemaException.class,
226+
() -> JsonAssert.isValid(schema, json));
227+
assertEquals(NEGI01, exception.getCode());
228+
exception.printStackTrace();
229+
}
230+
231+
@Test
232+
public void When_NestedNegativeReferenceWithWrongNumberInArray_ExceptionThrown() {
233+
var schema =
234+
"""
235+
@negative*(0) #number*
236+
""";
237+
var json =
238+
"""
239+
[-100, -500, -0.01, 1]
240+
""";
241+
JsonSchema.isValid(schema, json);
242+
var exception = assertThrows(JsonSchemaException.class,
243+
() -> JsonAssert.isValid(schema, json));
244+
assertEquals(NEGI02, exception.getCode());
245+
exception.printStackTrace();
246+
}
175247
}

0 commit comments

Comments
 (0)