1 package net.pterodactylus.sone.template;
3 import static org.hamcrest.MatcherAssert.assertThat;
4 import static org.hamcrest.Matchers.is;
5 import static org.mockito.Mockito.mock;
6 import static org.mockito.Mockito.when;
8 import java.util.ArrayList;
9 import java.util.Collection;
11 import net.pterodactylus.sone.data.Profile;
12 import net.pterodactylus.sone.data.Sone;
14 import org.junit.Before;
15 import org.junit.Test;
18 * Unit test for {@link CollectionAccessor}.
20 public class CollectionAccessorTest {
22 private final CollectionAccessor accessor = new CollectionAccessor();
23 private final Collection<Object> collection = new ArrayList<>();
26 public void setupCollection() {
27 collection.add(new Object());
28 collection.add(createSone("One", "1.", "First"));
29 collection.add(new Object());
30 collection.add(createSone("Two", "2.", "Second"));
33 private Sone createSone(String firstName, String middleName,
35 Sone sone = mock(Sone.class);
36 Profile profile = new Profile(sone);
37 profile.setFirstName(firstName).setMiddleName(middleName).setLastName(
39 when(sone.getProfile()).thenReturn(profile);
44 public void soneNamesAreConcatenatedCorrectly() {
45 assertThat(accessor.get(null, collection, "soneNames"),
46 is((Object) "One 1. First, Two 2. Second"));
50 public void sizeIsReportedCorrectly() {
51 assertThat(accessor.get(null, collection, "size"),
52 is((Object) Integer.valueOf(4)));