Skip to content

Commit 0fac9c1

Browse files
committed
Move test data out of the official specification
1 parent f54ed47 commit 0fac9c1

File tree

6 files changed

+34
-79
lines changed

6 files changed

+34
-79
lines changed

src/main/java/com/networknt/schema/MultipleOfValidator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public Set<ValidationMessage> validate(JsonNode node, JsonNode rootNode, String
4848
// convert to BigDecimal since double type is not accurate enough to do the division and multiple
4949
BigDecimal accurateDividend = new BigDecimal(String.valueOf(nodeValue));
5050
BigDecimal accurateDivisor = new BigDecimal(String.valueOf(divisor));
51-
if ((accurateDividend.divideAndRemainder(accurateDivisor)[1].abs().compareTo(BigDecimal.ZERO) > 0)) {
51+
if (accurateDividend.divideAndRemainder(accurateDivisor)[1].abs().compareTo(BigDecimal.ZERO) > 0) {
5252
return Collections.singleton(buildValidationMessage(at, "" + divisor));
5353
}
5454
}

src/test/java/com/networknt/schema/V7JsonSchemaTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -409,4 +409,9 @@ public void testUniqueItemsValidator() throws Exception {
409409
runTestFile("draft7/uniqueItems.json");
410410
}
411411

412+
@Test
413+
public void testMultipleOfScale() throws Exception {
414+
runTestFile("multipleOfScale.json");
415+
}
416+
412417
}

src/test/resources/draft4/multipleOf.json

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -89,31 +89,5 @@
8989
"valid": true
9090
}
9191
]
92-
},
93-
{
94-
"description": "by deep rounding",
95-
"schema": {"multipleOf": 0.25},
96-
"tests": [
97-
{
98-
"description": "8.75 is multiple of 0.25",
99-
"data": 8.75,
100-
"valid": true
101-
},
102-
{
103-
"description": "8.750000000001 is not multiple of 0.25",
104-
"data": 8.750000000001,
105-
"valid": false
106-
},
107-
{
108-
"description": "8.7500000000001 is not multiple of 0.25",
109-
"data": 8.7500000000001,
110-
"valid": false
111-
},
112-
{
113-
"description": "8.75000000000001 is not multiple of 0.25",
114-
"data": 8.75000000000001,
115-
"valid": false
116-
}
117-
]
11892
}
11993
]

src/test/resources/draft6/multipleOf.json

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -56,31 +56,5 @@
5656
"valid": false
5757
}
5858
]
59-
},
60-
{
61-
"description": "by deep rounding",
62-
"schema": {"multipleOf": 0.25},
63-
"tests": [
64-
{
65-
"description": "8.75 is multiple of 0.25",
66-
"data": 8.75,
67-
"valid": true
68-
},
69-
{
70-
"description": "8.750000000001 is not multiple of 0.25",
71-
"data": 8.750000000001,
72-
"valid": false
73-
},
74-
{
75-
"description": "8.7500000000001 is not multiple of 0.25",
76-
"data": 8.7500000000001,
77-
"valid": false
78-
},
79-
{
80-
"description": "8.75000000000001 is not multiple of 0.25",
81-
"data": 8.75000000000001,
82-
"valid": false
83-
}
84-
]
8559
}
8660
]

src/test/resources/draft7/multipleOf.json

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -56,31 +56,5 @@
5656
"valid": false
5757
}
5858
]
59-
},
60-
{
61-
"description": "by deep rounding",
62-
"schema": {"multipleOf": 0.25},
63-
"tests": [
64-
{
65-
"description": "8.75 is multiple of 0.25",
66-
"data": 8.75,
67-
"valid": true
68-
},
69-
{
70-
"description": "8.750000000001 is not multiple of 0.25",
71-
"data": 8.750000000001,
72-
"valid": false
73-
},
74-
{
75-
"description": "8.7500000000001 is not multiple of 0.25",
76-
"data": 8.7500000000001,
77-
"valid": false
78-
},
79-
{
80-
"description": "8.75000000000001 is not multiple of 0.25",
81-
"data": 8.75000000000001,
82-
"valid": false
83-
}
84-
]
8559
}
8660
]
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
[
2+
{
3+
"description": "by deep scale",
4+
"schema": {"multipleOf": 0.25},
5+
"tests": [
6+
{
7+
"description": "8.75 is multiple of 0.25",
8+
"data": 8.75,
9+
"valid": true
10+
},
11+
{
12+
"description": "8.750000000001 is not multiple of 0.25",
13+
"data": 8.750000000001,
14+
"valid": false
15+
},
16+
{
17+
"description": "8.7500000000001 is not multiple of 0.25",
18+
"data": 8.7500000000001,
19+
"valid": false
20+
},
21+
{
22+
"description": "8.75000000000001 is not multiple of 0.25",
23+
"data": 8.75000000000001,
24+
"valid": false
25+
}
26+
]
27+
}
28+
]

0 commit comments

Comments
 (0)