X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FIdTest.java;h=46964d0c6a2c385b6add43ea54a25ca477180d24;hb=91e7fe2aee5cc2e6d355935c247ed87fc9145227;hp=082f65b9de588c25a75e34d55f43a5cba59a7c7d;hpb=25eccb52bf670342982c1f87c85b191cf4ae56cd;p=Sone.git diff --git a/src/test/java/net/pterodactylus/sone/data/IdTest.java b/src/test/java/net/pterodactylus/sone/data/IdTest.java index 082f65b..46964d0 100644 --- a/src/test/java/net/pterodactylus/sone/data/IdTest.java +++ b/src/test/java/net/pterodactylus/sone/data/IdTest.java @@ -17,55 +17,79 @@ public class IdTest { private static final String SONE_ID = "~Yp72VX0c6FLDvgIzip5wIvaGIIrjKcKvnX~pTaMKXs"; private static final String ELEMENT_ID = "88CC70AE-E853-4EEE-B245-E4C55F40DDDF"; private static final String EXPECTED_ID = "139a629a13f6a2c4191fb19ecead7e57335ea3deb2a971b88d5e004378c4daad"; - private final Id id = Id.from(SONE_ID, ELEMENT_ID); + + private final Id completeId = Id.from(SONE_ID, ELEMENT_ID); + private final Id parsedId = Id.from(EXPECTED_ID); @Test public void idBuilderBuildsCorrectIds() { - assertThat(id.getSoneId(), is(SONE_ID)); - assertThat(id.getElementId(), is(ELEMENT_ID)); - assertThat(id.getExternal(), is(EXPECTED_ID)); + assertThat(completeId.getSoneId().get(), is(SONE_ID)); + assertThat(completeId.getElementId().get(), is(ELEMENT_ID)); + assertThat(completeId.getExternal(), is(EXPECTED_ID)); } @Test - public void twoIdsAreNotEqualIfSoneIdIsDifferent() { - Id id2 = Id.from(SONE_ID + "1", ELEMENT_ID); - assertThat(id2, not(equalTo(id))); - assertThat(id, not(equalTo(id2))); + public void parsedIdIsBuiltCorrectly() { + assertThat(parsedId.getSoneId().isPresent(), is(false)); + assertThat(parsedId.getElementId().isPresent(), is(false)); + assertThat(parsedId.getExternal(), is(EXPECTED_ID)); } @Test - public void twoIdsAreNotEqualIfElementIdIsDifferent() { - Id id2 = Id.from(SONE_ID, ELEMENT_ID + "1"); - assertThat(id2, not(equalTo(id))); - assertThat(id, not(equalTo(id2))); + public void twoIdsAreNotEqualIfExternalIdIsDifferent() { + Id id2 = Id.from(EXPECTED_ID + "1"); + assertThat(id2, not(equalTo(parsedId))); + assertThat(parsedId, not(equalTo(id2))); } @Test public void twoIdsAreEqualIfSoneAndElementIdIsEqual() { Id id2 = Id.from(SONE_ID, ELEMENT_ID); - assertThat(id2, equalTo(id)); - assertThat(id, equalTo(id2)); + assertThat(id2, equalTo(completeId)); + assertThat(completeId, equalTo(id2)); + } + + @Test + public void twoIdsAreEqualIfExternalIdIsEqual() { + Id id2 = Id.from(EXPECTED_ID); + assertThat(id2, equalTo(parsedId)); + assertThat(parsedId, equalTo(id2)); } @Test public void twoIdsHaveTheSameHashCodeIfTheyAreEqual() { - Id id2 = Id.from(SONE_ID, ELEMENT_ID); - assertThat(id2.hashCode(), equalTo(id.hashCode())); + Id id2 = Id.from(EXPECTED_ID); + assertThat(id2.hashCode(), equalTo(completeId.hashCode())); } @Test public void nullIsNotEqualToId() { - assertThat(id, not(equalTo(null))); + assertThat(completeId, not(equalTo(null))); } @Test public void objectOfDifferentClassIsNotEqualToId() { - assertThat(id, not(equalTo(new Object()))); + assertThat(completeId, not(equalTo(new Object()))); } @Test public void stringRepresentationMatchesTheExternalId() { - assertThat(id.toString(), is(EXPECTED_ID)); + assertThat(completeId.toString(), is(EXPECTED_ID)); + } + + @Test(expected = NullPointerException.class) + public void canNotParseNullAsExternalId() { + Id.from(null); + } + + @Test(expected = NullPointerException.class) + public void canNotParseNullAsSoneId() { + Id.from(null, ELEMENT_ID); + } + + @Test(expected = NullPointerException.class) + public void canNotParseNullAsElementId() { + Id.from(SONE_ID, null); } }