1 package net.pterodactylus.sone.test;
3 import static java.util.UUID.randomUUID;
4 import static org.mockito.Mockito.mock;
5 import static org.mockito.Mockito.when;
7 import net.pterodactylus.sone.data.Image;
8 import net.pterodactylus.sone.data.Sone;
9 import net.pterodactylus.sone.database.ImageBuilder;
12 * {@link ImageBuilder} implementation that returns a mocked {@link Image}.
14 public class TestImageBuilder implements ImageBuilder {
16 private final Image image;
18 public TestImageBuilder() {
19 image = mock(Image.class);
20 Image.Modifier imageModifier = new Image.Modifier() {
21 private Sone sone = image.getSone();
22 private long creationTime = image.getCreationTime();
23 private String key = image.getKey();
24 private String title = image.getTitle();
25 private String description = image.getDescription();
26 private int width = image.getWidth();
27 private int height = image.getHeight();
30 public Image.Modifier setSone(Sone sone) {
36 public Image.Modifier setCreationTime(long creationTime) {
37 this.creationTime = creationTime;
42 public Image.Modifier setKey(String key) {
48 public Image.Modifier setTitle(String title) {
54 public Image.Modifier setDescription(String description) {
55 this.description = description;
60 public Image.Modifier setWidth(int width) {
66 public Image.Modifier setHeight(int height) {
72 public Image update() throws IllegalStateException {
73 when(image.getSone()).thenReturn(sone);
74 when(image.getCreationTime()).thenReturn(creationTime);
75 when(image.getKey()).thenReturn(key);
76 when(image.getTitle()).thenReturn(title);
77 when(image.getDescription()).thenReturn(description);
78 when(image.getWidth()).thenReturn(width);
79 when(image.getHeight()).thenReturn(height);
83 when(image.modify()).thenReturn(imageModifier);
87 public ImageBuilder randomId() {
88 when(image.getId()).thenReturn(randomUUID().toString());
93 public ImageBuilder withId(String id) {
94 when(image.getId()).thenReturn(id);
99 public Image build() throws IllegalStateException {