X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FProfileTest.java;h=66aa568b44feaf25b9a2b7a443f5399ec5acd8fe;hb=79f8a4ca967da3a0e9c53640117576ea92601d15;hp=33d7ffff5ca65d98cebb4936e3c88d2e85510903;hpb=e0e458c6bafa1bdeab29a27567e48e22b5884d51;p=Sone.git diff --git a/src/test/java/net/pterodactylus/sone/data/ProfileTest.java b/src/test/java/net/pterodactylus/sone/data/ProfileTest.java index 33d7fff..66aa568 100644 --- a/src/test/java/net/pterodactylus/sone/data/ProfileTest.java +++ b/src/test/java/net/pterodactylus/sone/data/ProfileTest.java @@ -17,15 +17,20 @@ package net.pterodactylus.sone.data; +import static com.google.common.base.Optional.of; +import static org.hamcrest.CoreMatchers.not; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.contains; +import static org.hamcrest.Matchers.hasItem; import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.notNullValue; import java.util.List; import net.pterodactylus.sone.data.Profile.Field; import com.google.common.base.Optional; +import com.google.common.collect.Lists; import org.junit.Test; /** @@ -119,6 +124,13 @@ public class ProfileTest { } @Test + public void testDeletingANonExistingField() { + Field testField = profile.addField("TestField"); + profile.removeField(testField); + profile.removeField(testField); + } + + @Test public void testGettingFieldList() { Field firstField = profile.addField("First"); Field secondField = profile.addField("Second"); @@ -173,4 +185,68 @@ public class ProfileTest { assertThat(profile.getBirthDay(), is(24)); } + @Test + public void testSettingAnAvatar() { + profile.setAvatar(of("avatar1")); + assertThat(profile.getAvatar(), is("avatar1")); + } + + @Test + public void testSettingNoAvatar() { + profile.setAvatar(Optional.absent()); + assertThat(profile.getAvatar(), is((String) null)); + } + + @Test + public void testDuplicatingAProfileAndGettingTheSameFingerprint() { + Profile secondProfile = new Profile(profile); + assertThat(profile.getFingerprint(), is(secondProfile.getFingerprint())); + } + + @Test + public void testGettingAFingerprint() { + String fingerprint = profile.getFingerprint(); + assertThat(fingerprint, notNullValue()); + } + + @Test + public void testThatSettingProfileFieldsChangesTheFingerprint() { + List fingerprints = Lists.newArrayList(); + String fingerprint = profile.getFingerprint(); + assertThat(fingerprint, notNullValue()); + fingerprints.add(fingerprint); + + Field testField = profile.addField("TestField"); + profile.setField(testField, "Value"); + verifyFingerprintAndAddItToListOfFingerprints(fingerprints); + + profile.modify().setFirstName("First").update(); + verifyFingerprintAndAddItToListOfFingerprints(fingerprints); + + profile.modify().setMiddleName("M.").update(); + verifyFingerprintAndAddItToListOfFingerprints(fingerprints); + + profile.modify().setLastName("Last").update(); + verifyFingerprintAndAddItToListOfFingerprints(fingerprints); + + profile.modify().setBirthYear(2013).update(); + verifyFingerprintAndAddItToListOfFingerprints(fingerprints); + + profile.modify().setBirthMonth(10).update(); + verifyFingerprintAndAddItToListOfFingerprints(fingerprints); + + profile.modify().setBirthDay(24).update(); + verifyFingerprintAndAddItToListOfFingerprints(fingerprints); + + profile.setAvatar(of("avatar1")); + verifyFingerprintAndAddItToListOfFingerprints(fingerprints); + } + + private void verifyFingerprintAndAddItToListOfFingerprints(List fingerprints) { + String fingerprint = profile.getFingerprint(); + assertThat(fingerprint, notNullValue()); + assertThat(fingerprints, not(hasItem(fingerprint))); + fingerprints.add(fingerprint); + } + }