🔀 Merge branch 'release/v82'
[Sone.git] / src / test / java / net / pterodactylus / sone / data / impl / AbstractSoneBuilderTest.java
1 package net.pterodactylus.sone.data.impl;
2
3 import static org.mockito.Mockito.mock;
4
5 import net.pterodactylus.sone.data.Sone;
6 import net.pterodactylus.sone.freenet.wot.Identity;
7 import net.pterodactylus.sone.freenet.wot.OwnIdentity;
8
9 import org.junit.Test;
10
11 /**
12  * Unit test for {@link AbstractSoneBuilder}.
13  */
14 public class AbstractSoneBuilderTest {
15
16         private final AbstractSoneBuilder soneBuilder = new AbstractSoneBuilder() {
17                 @Override
18                 public Sone build() throws IllegalStateException {
19                         validate();
20                         return null;
21                 }
22         };
23
24         @Test
25         public void localSoneIsValidated() {
26                 Identity ownIdentity = mock(OwnIdentity.class);
27                 soneBuilder.local().from(ownIdentity).build();
28         }
29
30         @Test(expected = IllegalStateException.class)
31         public void localSoneIsNotValidatedIfIdentityIsNotAnOwnIdentity() {
32                 Identity identity = mock(Identity.class);
33                 soneBuilder.local().from(identity).build();
34         }
35
36         @Test(expected = IllegalStateException.class)
37         public void localSoneIsNotValidatedIfIdentityIsNull() {
38                 soneBuilder.local().build();
39         }
40
41         @Test
42         public void removeSoneIsValidate() {
43                 Identity identity = mock(Identity.class);
44                 soneBuilder.from(identity).build();
45         }
46
47         @Test(expected = IllegalStateException.class)
48         public void remoteSoneIsNotValidatedIfIdentityIsNull() {
49                 soneBuilder.build();
50         }
51
52 }