SATCreatorDecoder extends AbstractSATDecoder<Genotype, ImplementationWrapper> { protected double getLowerOrderBound(int orderSize, int orderIndex) { if (orderIndex == -1) { throw new IllegalArgumentException("Illegal order index provided."); } return (orderSize - orderIndex - 1) * 1.0 / orderSize; } @Inject  SATCreatorDecoder(VariableClassOrder order, SATManager manager, Rand random, SATConstraints constraints,
			SpecificationWrapper specificationWrapper, Interpreter interpreter, Control control,
			@Constant(value = "variableorder", namespace = SATCreatorDecoder.class) boolean useVariableOrder); @Override ImplementationWrapper convertModel(Model model); @Override Set<Constraint> createConstraints(); @Override void randomize(Collection<Object> variables, Map<Object, Double> lowerBounds,
			Map<Object, Double> upperBounds, Map<Object, Double> priorities, Map<Object, Boolean> phases); @Override Set<Object> ignoreVariables(Set<Object> variables); @Override Map<Object, Double> getLowerBounds(Set<Object> variables); @Override Map<Object, Double> getUpperBounds(Set<Object> variables);  }
@Test(expected=IllegalArgumentException.class) public void testIgnoredVariable1() { int orderSize = 5; int orderIndex = -1; SATCreatorDecoder testObject = getObject(); testObject.getLowerOrderBound(orderSize, orderIndex); }