use of com.opensimulationplatform.core.model.systemstructure.SystemStructure in project osp-validator by open-simulation-platform.
the class VariableGroupConnectionsValidatorTest method invalid.
@Test
public void invalid() {
SystemStructure systemStructure = new SystemStructure();
VariableGroupConnection variableGroupConnection = new VariableGroupConnection();
Simulator simulatorA = new Simulator();
Force force = new Force();
force.setName("force");
Variable variableA = new Variable();
Unit unitA = new Unit();
unitA.setExponent(Unit.Exponent.KILOGRAM, 1);
variableA.setName("variableA");
variableA.setUnit(unitA);
variableA.setType(Variable.Type.REAL);
variableA.setCausality(Variable.Causality.OUTPUT);
force.setVariables(Arrays.asList(variableA));
simulatorA.getModelDescription().getVariables().add(variableA);
simulatorA.getModelDescription().getForces().add(force);
variableGroupConnection.setSimulatorA(simulatorA);
variableGroupConnection.setVariableGroupA(force);
Simulator simulatorB = new Simulator();
LinearVelocity linearVelocity = new LinearVelocity();
linearVelocity.setName("linearVelocity");
Variable variableB = new Variable();
Unit unitB = new Unit();
unitB.setExponent(Unit.Exponent.KILOGRAM, 1);
variableB.setName("variableB");
variableB.setUnit(unitB);
variableB.setType(Variable.Type.REAL);
variableB.setCausality(Variable.Causality.INPUT);
linearVelocity.setVariables(Arrays.asList(variableB));
simulatorB.getModelDescription().getVariables().add(variableB);
simulatorB.getModelDescription().getLinearVelocities().add(linearVelocity);
variableGroupConnection.setSimulatorB(simulatorB);
variableGroupConnection.setVariableGroupB(linearVelocity);
systemStructure.getSimulators().add(simulatorA);
systemStructure.getSimulators().add(simulatorB);
systemStructure.getVariableGroupConnections().add(variableGroupConnection);
VariableGroupConnectionsValidator validator = new VariableGroupConnectionsValidator();
List<ValidationDiagnostic<VariableGroupConnection>> diagnostics = validator.validate(systemStructure);
assertEquals(1, diagnostics.size());
}
Aggregations