SimulatedField implements PlcField { @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } SimulatedField testField = (SimulatedField) o; return numElements == testField.numElements && type == testField.type && Objects.equals(name, testField.name) && Objects.equals(dataType, testField.dataType); } private  SimulatedField(SimulatedFieldType type, String name, Class<?> dataType, int numElements); static SimulatedField of(String fieldString); SimulatedFieldType getType(); String getName(); Class<?> getDataType(); int getNumElements(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }
@Test public void equalsTest() { EqualsVerifier.forClass(SimulatedField.class).usingGetClass().verify(); }