package cgeo.geocaching.connector.gc; import static org.assertj.core.api.Java6Assertions.assertThat; import junit.framework.TestCase; public class UncertainPropertyTest extends TestCase { public static void testHigherCertaintyWins() { final UncertainProperty<String> prop1 = new UncertainProperty<>("prop1", 10); final UncertainProperty<String> prop2 = new UncertainProperty<>("prop2", 20); assertThat(UncertainProperty.getMergedProperty(prop1, prop2)).isEqualTo(prop2); } public static void testAvoidNull() { final UncertainProperty<String> prop1 = new UncertainProperty<>("prop1", 10); final UncertainProperty<String> prop2 = new UncertainProperty<>(null, 20); assertThat(UncertainProperty.getMergedProperty(prop1, prop2)).isEqualTo(prop1); assertThat(UncertainProperty.getMergedProperty(prop2, prop1)).isEqualTo(prop1); assertThat(UncertainProperty.getMergedProperty(prop1, null)).isEqualTo(prop1); assertThat(UncertainProperty.getMergedProperty(null, prop1)).isEqualTo(prop1); assertThat(UncertainProperty.getMergedProperty(prop2, null)).isEqualTo(prop2); assertThat(UncertainProperty.getMergedProperty(null, prop2)).isEqualTo(prop2); assertThat(UncertainProperty.getMergedProperty(null, null)).isEqualTo(null); } public static void testEquals() { final UncertainProperty<String> prop1 = new UncertainProperty<>("prop1", 10); final UncertainProperty<String> prop2 = new UncertainProperty<>(null, 20); assertThat(UncertainProperty.equalValues(null, null)).isTrue(); assertThat(UncertainProperty.equalValues(prop1, null)).isFalse(); assertThat(UncertainProperty.equalValues(null, prop1)).isFalse(); assertThat(UncertainProperty.equalValues(prop2, null)).isFalse(); assertThat(UncertainProperty.equalValues(null, prop2)).isFalse(); assertThat(UncertainProperty.equalValues(prop1, prop1)).isTrue(); assertThat(UncertainProperty.equalValues(prop2, prop2)).isTrue(); assertThat(UncertainProperty.equalValues(prop1, prop2)).isFalse(); assertThat(UncertainProperty.equalValues(prop2, prop1)).isFalse(); } }