package net.pterodactylus.sone.data.impl; import static org.mockito.Mockito.mock; import net.pterodactylus.sone.data.Sone; import net.pterodactylus.sone.freenet.wot.Identity; import net.pterodactylus.sone.freenet.wot.OwnIdentity; import org.junit.Test; /** * Unit test for {@link AbstractSoneBuilder}. * * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a> */ public class AbstractSoneBuilderTest { private final AbstractSoneBuilder soneBuilder = new AbstractSoneBuilder() { @Override public Sone build() throws IllegalStateException { validate(); return null; } }; @Test public void localSoneIsValidated() { Identity ownIdentity = mock(OwnIdentity.class); soneBuilder.local().from(ownIdentity).build(); } @Test(expected = IllegalStateException.class) public void localSoneIsNotValidatedIfIdentityIsNotAnOwnIdentity() { Identity identity = mock(Identity.class); soneBuilder.local().from(identity).build(); } @Test(expected = IllegalStateException.class) public void localSoneIsNotValidatedIfIdentityIsNull() { soneBuilder.local().build(); } @Test public void removeSoneIsValidate() { Identity identity = mock(Identity.class); soneBuilder.from(identity).build(); } @Test(expected = IllegalStateException.class) public void remoteSoneIsNotValidatedIfIdentityIsNull() { soneBuilder.build(); } }