|
3 | 3 | import static java.util.Arrays.asList;
|
4 | 4 | import static org.everit.json.schema.TestSupport.asStream;
|
5 | 5 | import static org.everit.json.schema.TestSupport.loadAsV6;
|
| 6 | +import static org.everit.json.schema.TestSupport.loadAsV7; |
6 | 7 | import static org.everit.json.schema.TestSupport.v6Loader;
|
7 | 8 | import org.everit.json.schema.internal.URIV4FormatValidator;
|
8 | 9 | import static org.everit.json.schema.loader.SpecificationVersion.DRAFT_6;
|
|
24 | 25 | import org.everit.json.schema.ArraySchema;
|
25 | 26 | import org.everit.json.schema.BooleanSchema;
|
26 | 27 | import org.everit.json.schema.CombinedSchema;
|
| 28 | +import org.everit.json.schema.ConditionalSchema; |
27 | 29 | import org.everit.json.schema.ConstSchema;
|
28 | 30 | import org.everit.json.schema.EmptySchema;
|
29 | 31 | import org.everit.json.schema.EnumSchema;
|
@@ -140,6 +142,59 @@ public void integerSchema() {
|
140 | 142 | assertTrue(actual.requiresInteger());
|
141 | 143 | }
|
142 | 144 |
|
| 145 | + @Test |
| 146 | + public void conditionalSchemaIf() { |
| 147 | + ConditionalSchema actual = (ConditionalSchema) loadAsV7(get("conditionalSchemaIf")); |
| 148 | + Assert.assertTrue(actual.getIfSchema().isPresent()); |
| 149 | + Assert.assertFalse(actual.getThenSchema().isPresent()); |
| 150 | + Assert.assertFalse(actual.getElseSchema().isPresent()); |
| 151 | + } |
| 152 | + |
| 153 | + @Test |
| 154 | + public void conditionalSchemaThen() { |
| 155 | + ConditionalSchema actual = (ConditionalSchema) loadAsV7(get("conditionalSchemaThen")); |
| 156 | + Assert.assertFalse(actual.getIfSchema().isPresent()); |
| 157 | + Assert.assertTrue(actual.getThenSchema().isPresent()); |
| 158 | + Assert.assertFalse(actual.getElseSchema().isPresent()); |
| 159 | + } |
| 160 | + |
| 161 | + @Test |
| 162 | + public void conditionalSchemaElse() { |
| 163 | + ConditionalSchema actual = (ConditionalSchema) loadAsV7(get("conditionalSchemaElse")); |
| 164 | + Assert.assertFalse(actual.getIfSchema().isPresent()); |
| 165 | + Assert.assertFalse(actual.getThenSchema().isPresent()); |
| 166 | + Assert.assertTrue(actual.getElseSchema().isPresent()); |
| 167 | + } |
| 168 | + |
| 169 | + @Test |
| 170 | + public void conditionalSchemaIfThenElse() { |
| 171 | + ConditionalSchema actual = (ConditionalSchema) loadAsV7(get("conditionalSchemaIfThenElse")); |
| 172 | + Assert.assertTrue(actual.getIfSchema().isPresent()); |
| 173 | + Assert.assertTrue(actual.getThenSchema().isPresent()); |
| 174 | + Assert.assertTrue(actual.getElseSchema().isPresent()); |
| 175 | + } |
| 176 | + |
| 177 | + @Test |
| 178 | + public void conditionalSchemaLoadingV4() { |
| 179 | + Schema actual = SchemaLoader.load(get("conditionalSchemaIf")); |
| 180 | + assertFalse(actual instanceof ConditionalSchema); |
| 181 | + } |
| 182 | + |
| 183 | + @Test |
| 184 | + public void conditionalSchemaLoadingV6() { |
| 185 | + Schema actual = loadAsV6(get("conditionalSchemaIf")); |
| 186 | + assertFalse(actual instanceof ConditionalSchema); |
| 187 | + } |
| 188 | + |
| 189 | + @Test |
| 190 | + public void conditionalSchemaIfSubSchemaTrue() { |
| 191 | + ConditionalSchema actual = (ConditionalSchema) loadAsV7(get("conditionalSchemaIfSubSchemaTrue")); |
| 192 | + Assert.assertTrue(actual.getIfSchema().isPresent()); |
| 193 | + Assert.assertFalse(actual.getThenSchema().isPresent()); |
| 194 | + Assert.assertFalse(actual.getElseSchema().isPresent()); |
| 195 | + assertTrue(actual.getIfSchema().get() instanceof TrueSchema); |
| 196 | + } |
| 197 | + |
143 | 198 | @Test(expected = SchemaException.class)
|
144 | 199 | public void invalidExclusiveMinimum() {
|
145 | 200 | SchemaLoader.load(get("invalidExclusiveMinimum"));
|
|
0 commit comments