@Test public void testSatisfiedMinElementInput() throws IOException { Map<String, JsonNode> parameters = new HashMap<>(); Map<String, Variable> variables = new HashMap<>(); String jsonArray = "[\"action1\", \"action2\", \"action3\", " + "\"action4\", \"action5\", \"action6\"]"; parameters.put("actions", _mapper.readTree(jsonArray)); Variable actionsVariable = new Variable(); actionsVariable.setType(STRING); actionsVariable.setMinElements(5); variables.put("actions", actionsVariable); Client.validateAndSet(parameters, variables); }
@Test public void testUnsatisfiedMinElementInput() throws IOException { Map<String, JsonNode> parameters = new HashMap<>(); Map<String, Variable> variables = new HashMap<>(); JsonNode jsonArray = _mapper.readTree("[\"action1\", \"action2\"]"); parameters.put("actions", jsonArray); Variable actionsVariable = new Variable(); actionsVariable.setType(STRING); actionsVariable.setMinElements(5); variables.put("actions", actionsVariable); _thrown.expect(BatfishException.class); String errorMessage = String.format( "Invalid value for parameter actions: %s. Expecting a " + "JSON array of at least 5 elements", jsonArray); _thrown.expectMessage(equalTo(errorMessage)); Client.validateAndSet(parameters, variables); }
@Test public void testEquals() throws IOException { Variable variable = new Variable(); variable.setType(Type.INTEGER); Variable initialInstance = clone(variable); EqualsTester equalsTester = new EqualsTester(); equalsTester.addEqualityGroup(initialInstance, initialInstance).addEqualityGroup(new Object()); variable.setDescription("description"); equalsTester.addEqualityGroup(clone(variable)); variable.setDisplayName("display name"); equalsTester.addEqualityGroup(clone(variable)); variable.setFields(ImmutableMap.of("f", new Field())); equalsTester.addEqualityGroup(clone(variable)); variable.setLongDescription("long description"); equalsTester.addEqualityGroup(clone(variable)); variable.setMinElements(1); equalsTester.addEqualityGroup(clone(variable)); variable.setMinLength(1); equalsTester.addEqualityGroup(clone(variable)); variable.setOptional(true); equalsTester.addEqualityGroup(clone(variable)); variable.setType(Type.BOOLEAN); equalsTester.addEqualityGroup(clone(variable)); variable.setValue(BooleanNode.TRUE); equalsTester.addEqualityGroup(clone(variable)); variable.setValues(ImmutableList.of()); equalsTester.addEqualityGroup(clone(variable)); equalsTester.testEquals(); }