use of com.opensimulationplatform.core.model.modeldescription.Unit in project osp-validator by open-simulation-platform.
the class ValidateModelDescriptionDataModel method main.
public static void main(String[] args) {
ModelDescription modelDescription = new ModelDescription();
Unit unit = new Unit();
unit.setExponent(Unit.Exponent.KILOGRAM, 1);
Variable v1 = new Variable();
v1.setCausality(Variable.Causality.OUTPUT);
v1.setType(Variable.Type.REAL);
v1.setName("v1");
v1.setUnit(unit);
Variable v2 = new Variable();
v2.setCausality(Variable.Causality.OUTPUT);
v2.setType(Variable.Type.REAL);
v2.setName("v2");
v2.setUnit(unit);
Variable v3 = new Variable();
v3.setCausality(Variable.Causality.INPUT);
v3.setType(Variable.Type.REAL);
v3.setName("v3");
v3.setUnit(unit);
Variable v4 = new Variable();
v4.setCausality(Variable.Causality.INPUT);
v4.setType(Variable.Type.REAL);
v4.setName("v4");
v4.setUnit(unit);
Force force = new Force();
force.setName("force");
force.setVariables(Arrays.asList(v1, v2));
LinearVelocity linearVelocity = new LinearVelocity();
linearVelocity.setName("linearVelocity");
linearVelocity.setVariables(Arrays.asList(v3, v4));
LinearMechanicalPort linearMechanicalPort = new LinearMechanicalPort();
linearMechanicalPort.setName("linearMechanicalPort");
linearMechanicalPort.setForce(force);
linearMechanicalPort.setLinearVelocity(linearVelocity);
modelDescription.getUnits().add(unit);
modelDescription.getVariables().addAll(Arrays.asList(v1, v2, v3, v4));
modelDescription.getForces().add(force);
modelDescription.getLinearVelocities().add(linearVelocity);
modelDescription.getLinearMechanicalPorts().add(linearMechanicalPort);
ModelDescriptionValidator validator = new ModelDescriptionValidator();
List<ValidationDiagnostic<Object>> diagnostics = validator.validate(modelDescription);
for (ValidationDiagnostic<Object> diagnostic : diagnostics) {
System.out.println("Message: " + diagnostic.getErrorMessage());
System.out.println("Object: " + diagnostic.getValidatedObject());
}
}
use of com.opensimulationplatform.core.model.modeldescription.Unit in project osp-validator by open-simulation-platform.
the class ValidateSystemStructureDataModel method getModelDescription.
private static ModelDescription getModelDescription(Variable.Causality causalityA, Variable.Causality causalityB) {
ModelDescription modelDescription = new ModelDescription();
Unit unit = new Unit();
unit.setExponent(Unit.Exponent.KILOGRAM, 1);
Variable v1 = new Variable();
v1.setCausality(causalityA);
v1.setType(Variable.Type.REAL);
v1.setName("v1");
v1.setUnit(unit);
Variable v2 = new Variable();
v2.setCausality(causalityA);
v2.setType(Variable.Type.REAL);
v2.setName("v2");
v2.setUnit(unit);
Variable v3 = new Variable();
v3.setCausality(causalityB);
v3.setType(Variable.Type.REAL);
v3.setName("v3");
v3.setUnit(unit);
Variable v4 = new Variable();
v4.setCausality(causalityB);
v4.setType(Variable.Type.REAL);
v4.setName("v4");
v4.setUnit(unit);
Variable v5 = new Variable();
v5.setCausality(causalityA);
v5.setType(Variable.Type.REAL);
v5.setName("v5");
v5.setUnit(unit);
Force force = new Force();
force.setName("force");
force.setVariables(Arrays.asList(v1, v2));
LinearVelocity linearVelocity = new LinearVelocity();
linearVelocity.setName("linearVelocity");
linearVelocity.setVariables(Arrays.asList(v3, v4));
LinearMechanicalPort linearMechanicalPort = new LinearMechanicalPort();
linearMechanicalPort.setName("linearMechanicalPort");
linearMechanicalPort.setForce(force);
linearMechanicalPort.setLinearVelocity(linearVelocity);
modelDescription.getUnits().add(unit);
modelDescription.getVariables().addAll(Arrays.asList(v1, v2, v3, v4, v5));
modelDescription.getForces().add(force);
modelDescription.getLinearVelocities().add(linearVelocity);
modelDescription.getLinearMechanicalPorts().add(linearMechanicalPort);
return modelDescription;
}
use of com.opensimulationplatform.core.model.modeldescription.Unit in project osp-validator by open-simulation-platform.
the class VE_AngularMechanicalPort_1_Test method invalid.
@Test
public void invalid() {
Variable v1 = new Variable();
v1.setCausality(Variable.Causality.OUTPUT);
v1.setUnit(new Unit());
v1.setType(Variable.Type.REAL);
Variable v2 = new Variable();
v2.setCausality(Variable.Causality.OUTPUT);
v2.setUnit(new Unit());
v2.setType(Variable.Type.REAL);
Variable v3 = new Variable();
v3.setCausality(Variable.Causality.OUTPUT);
v3.setUnit(new Unit());
v3.setType(Variable.Type.REAL);
Variable v4 = new Variable();
v4.setCausality(Variable.Causality.OUTPUT);
v4.setUnit(new Unit());
v4.setType(Variable.Type.REAL);
Torque torque = new Torque();
torque.setVariables(Arrays.asList(v1, v2));
AngularVelocity angularVelocity = new AngularVelocity();
angularVelocity.setVariables(Arrays.asList(v3, v4));
AngularMechanicalPort angularMechanicalPort = new AngularMechanicalPort();
angularMechanicalPort.setTorque(torque);
angularMechanicalPort.setAngularVelocity(angularVelocity);
builder.build(angularMechanicalPort);
builder.complete();
List<ValidationDiagnostic<AngularMechanicalPort>> diagnostics = validationError.validate();
assertEquals(1, diagnostics.size());
AngularMechanicalPort invalidAngularMechanicalPort = diagnostics.get(0).getValidatedObject();
assertEquals(angularMechanicalPort, invalidAngularMechanicalPort);
}
use of com.opensimulationplatform.core.model.modeldescription.Unit in project osp-validator by open-simulation-platform.
the class VE_AngularMechanicalQuasiPort_1_Test method valid.
@Test
public void valid() {
Variable v1 = new Variable();
v1.setCausality(Variable.Causality.OUTPUT);
v1.setUnit(new Unit());
v1.setType(Variable.Type.REAL);
Variable v2 = new Variable();
v2.setCausality(Variable.Causality.OUTPUT);
v2.setUnit(new Unit());
v2.setType(Variable.Type.REAL);
Variable v3 = new Variable();
v3.setCausality(Variable.Causality.INPUT);
v3.setUnit(new Unit());
v3.setType(Variable.Type.REAL);
Variable v4 = new Variable();
v4.setCausality(Variable.Causality.INPUT);
v4.setUnit(new Unit());
v4.setType(Variable.Type.REAL);
Torque torque = new Torque();
torque.setVariables(Arrays.asList(v1, v2));
AngularDisplacement angularDisplacement = new AngularDisplacement();
angularDisplacement.setVariables(Arrays.asList(v3, v4));
AngularMechanicalQuasiPort angularMechanicalQuasiPort = new AngularMechanicalQuasiPort();
angularMechanicalQuasiPort.setTorque(torque);
angularMechanicalQuasiPort.setAngularDisplacement(angularDisplacement);
builder.build(angularMechanicalQuasiPort);
builder.complete();
List<ValidationDiagnostic<AngularMechanicalQuasiPort>> diagnostics = validationError.validate();
assertTrue(diagnostics.isEmpty());
}
use of com.opensimulationplatform.core.model.modeldescription.Unit in project osp-validator by open-simulation-platform.
the class AngularVelocityValidatorTest method valid.
@Test
public void valid() {
ModelDescription modelDescription = new ModelDescription();
AngularVelocity angularVelocity = new AngularVelocity();
Variable v1 = new Variable();
v1.setCausality(Variable.Causality.INPUT);
v1.setType(Variable.Type.REAL);
v1.setUnit(new Unit());
Variable v2 = new Variable();
v2.setCausality(v1.getCausality());
v2.setType(v1.getType());
v2.setUnit(v1.getUnit());
angularVelocity.setVariables(Arrays.asList(v1, v2));
modelDescription.getAngularVelocities().add(angularVelocity);
AngularVelocityValidator v = new AngularVelocityValidator();
List<ValidationDiagnostic<AngularVelocity>> diagnostics = v.validate(modelDescription);
assertTrue(diagnostics.isEmpty());
}
Aggregations