TotalSolarRadiation { @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; TotalSolarRadiation totalSolarRadiation = (TotalSolarRadiation) o; return Double.compare(totalSolarRadiation.value, value) == 0 && type == totalSolarRadiation.type; } @JsonCreator  TotalSolarRadiation(
		@JsonProperty("value") double value,
		@JsonProperty("type") RadiationType type); double getValue(); RadiationType getType(); double toWattPerHourPerSquareMeter(); @Override boolean equals(Object o); @Override int hashCode();  }
@Test public void testEquals() { TotalSolarRadiation solar1 = new TotalSolarRadiation(70.1, RadiationType.JOULE_PER_SQUARE_CENTIMETER); TotalSolarRadiation solar2 = new TotalSolarRadiation(70.1, RadiationType.JOULE_PER_SQUARE_CENTIMETER); TotalSolarRadiation solar3 = new TotalSolarRadiation(70.101, RadiationType.JOULE_PER_SQUARE_CENTIMETER); Assert.assertEquals(solar1, solar2); Assert.assertNotEquals(solar1, solar3); }