X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FConfigurationSoneParserTest.java;h=0df4836c38f474a39a82d5fd405e2e7f06dccc56;hb=851ef7a7f4e25fe3c57c2d9c67349acce58f1ddc;hp=c8742c24f42065756c75b8b928e2f625b5cbf461;hpb=527ba49512006908c5bae602e34a1ce7167ea3fe;p=Sone.git diff --git a/src/test/java/net/pterodactylus/sone/core/ConfigurationSoneParserTest.java b/src/test/java/net/pterodactylus/sone/core/ConfigurationSoneParserTest.java index c8742c2..0df4836 100644 --- a/src/test/java/net/pterodactylus/sone/core/ConfigurationSoneParserTest.java +++ b/src/test/java/net/pterodactylus/sone/core/ConfigurationSoneParserTest.java @@ -22,12 +22,12 @@ import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.concurrent.atomic.AtomicReference; import net.pterodactylus.sone.TestAlbumBuilder; import net.pterodactylus.sone.TestImageBuilder; import net.pterodactylus.sone.TestPostBuilder; import net.pterodactylus.sone.TestPostReplyBuilder; +import net.pterodactylus.sone.TestValue; import net.pterodactylus.sone.core.ConfigurationSoneParser.InvalidAlbumFound; import net.pterodactylus.sone.core.ConfigurationSoneParser.InvalidImageFound; import net.pterodactylus.sone.core.ConfigurationSoneParser.InvalidParentAlbumFound; @@ -48,8 +48,6 @@ import net.pterodactylus.sone.database.PostBuilderFactory; import net.pterodactylus.sone.database.PostReplyBuilder; import net.pterodactylus.sone.database.PostReplyBuilderFactory; import net.pterodactylus.util.config.Configuration; -import net.pterodactylus.util.config.ConfigurationException; -import net.pterodactylus.util.config.Value; import com.google.common.base.Optional; import org.hamcrest.Matchers; @@ -71,13 +69,13 @@ public class ConfigurationSoneParserTest { public ConfigurationSoneParserTest() { when(sone.getId()).thenReturn("1"); configurationSoneParser = - new ConfigurationSoneParser(configuration, sone); + new ConfigurationSoneParser(configuration, "1"); } @Test public void emptyProfileIsLoadedCorrectly() { setupEmptyProfile(); - Profile profile = configurationSoneParser.parseProfile(); + Profile profile = configurationSoneParser.parseProfile(sone); assertThat(profile, notNullValue()); assertThat(profile.getFirstName(), nullValue()); assertThat(profile.getMiddleName(), nullValue()); @@ -90,15 +88,15 @@ public class ConfigurationSoneParserTest { private void setupEmptyProfile() { when(configuration.getStringValue(anyString())).thenReturn( - new TestValue(null)); + TestValue.from(null)); when(configuration.getIntValue(anyString())).thenReturn( - new TestValue(null)); + TestValue.from(null)); } @Test public void filledProfileWithFieldsIsParsedCorrectly() { setupFilledProfile(); - Profile profile = configurationSoneParser.parseProfile(); + Profile profile = configurationSoneParser.parseProfile(sone); assertThat(profile, notNullValue()); assertThat(profile.getFirstName(), is("First")); assertThat(profile.getMiddleName(), is("M.")); @@ -130,12 +128,12 @@ public class ConfigurationSoneParserTest { private void setupString(String nodeName, String value) { when(configuration.getStringValue(eq(nodeName))).thenReturn( - new TestValue(value)); + TestValue.from(value)); } private void setupInteger(String nodeName, Integer value) { when(configuration.getIntValue(eq(nodeName))).thenReturn( - new TestValue(value)); + TestValue.from(value)); } @Test @@ -182,7 +180,7 @@ public class ConfigurationSoneParserTest { private void setupLong(String nodeName, Long value) { when(configuration.getLongValue(eq(nodeName))).thenReturn( - new TestValue(value)); + TestValue.from(value)); } @Test(expected = InvalidPostFound.class) @@ -332,7 +330,7 @@ public class ConfigurationSoneParserTest { AlbumBuilderFactory albumBuilderFactory = createAlbumBuilderFactory(); List topLevelAlbums = configurationSoneParser.parseTopLevelAlbums( - albumBuilderFactory); + albumBuilderFactory, sone); assertThat(topLevelAlbums, hasSize(2)); Album firstAlbum = topLevelAlbums.get(0); assertThat(firstAlbum, isAlbum("A1", null, "T1", "D1", "I1")); @@ -383,30 +381,30 @@ public class ConfigurationSoneParserTest { public void albumWithInvalidTitleIsRecognized() { setupAlbum(0, "A1", null, null, "D1", "I1"); configurationSoneParser.parseTopLevelAlbums( - createAlbumBuilderFactory()); + createAlbumBuilderFactory(), sone); } @Test(expected = InvalidAlbumFound.class) public void albumWithInvalidDescriptionIsRecognized() { setupAlbum(0, "A1", null, "T1", null, "I1"); configurationSoneParser.parseTopLevelAlbums( - createAlbumBuilderFactory()); + createAlbumBuilderFactory(), sone); } @Test(expected = InvalidParentAlbumFound.class) public void albumWithInvalidParentIsRecognized() { setupAlbum(0, "A1", "A0", "T1", "D1", "I1"); configurationSoneParser.parseTopLevelAlbums( - createAlbumBuilderFactory()); + createAlbumBuilderFactory(), sone); } @Test public void imagesAreParsedCorrectly() { setupTopLevelAlbums(); configurationSoneParser.parseTopLevelAlbums( - createAlbumBuilderFactory()); + createAlbumBuilderFactory(), sone); setupImages(); - configurationSoneParser.parseImages(createImageBuilderFactory()); + configurationSoneParser.parseImages(createImageBuilderFactory(), sone); Map albums = configurationSoneParser.getAlbums(); assertThat(albums.get("A1").getImages(), contains(isImage("I1", 1000L, "K1", "T1", "D1", 16, 9))); @@ -455,98 +453,72 @@ public class ConfigurationSoneParserTest { public void missingAlbumIdIsRecognized() { setupTopLevelAlbums(); configurationSoneParser.parseTopLevelAlbums( - createAlbumBuilderFactory()); + createAlbumBuilderFactory(), sone); setupImage(0, "I1", null, 1000L, "K1", "T1", "D1", 16, 9); - configurationSoneParser.parseImages(createImageBuilderFactory()); + configurationSoneParser.parseImages(createImageBuilderFactory(), sone); } @Test(expected = InvalidParentAlbumFound.class) public void invalidAlbumIdIsRecognized() { setupTopLevelAlbums(); configurationSoneParser.parseTopLevelAlbums( - createAlbumBuilderFactory()); + createAlbumBuilderFactory(), sone); setupImage(0, "I1", "A4", 1000L, "K1", "T1", "D1", 16, 9); - configurationSoneParser.parseImages(createImageBuilderFactory()); + configurationSoneParser.parseImages(createImageBuilderFactory(), sone); } @Test(expected = InvalidImageFound.class) public void missingCreationTimeIsRecognized() { setupTopLevelAlbums(); configurationSoneParser.parseTopLevelAlbums( - createAlbumBuilderFactory()); + createAlbumBuilderFactory(), sone); setupImage(0, "I1", "A1", null, "K1", "T1", "D1", 16, 9); - configurationSoneParser.parseImages(createImageBuilderFactory()); + configurationSoneParser.parseImages(createImageBuilderFactory(), sone); } @Test(expected = InvalidImageFound.class) public void missingKeyIsRecognized() { setupTopLevelAlbums(); configurationSoneParser.parseTopLevelAlbums( - createAlbumBuilderFactory()); + createAlbumBuilderFactory(), sone); setupImage(0, "I1", "A1", 1000L, null, "T1", "D1", 16, 9); - configurationSoneParser.parseImages(createImageBuilderFactory()); + configurationSoneParser.parseImages(createImageBuilderFactory(), sone); } @Test(expected = InvalidImageFound.class) public void missingTitleIsRecognized() { setupTopLevelAlbums(); configurationSoneParser.parseTopLevelAlbums( - createAlbumBuilderFactory()); + createAlbumBuilderFactory(), sone); setupImage(0, "I1", "A1", 1000L, "K1", null, "D1", 16, 9); - configurationSoneParser.parseImages(createImageBuilderFactory()); + configurationSoneParser.parseImages(createImageBuilderFactory(), sone); } @Test(expected = InvalidImageFound.class) public void missingDescriptionIsRecognized() { setupTopLevelAlbums(); configurationSoneParser.parseTopLevelAlbums( - createAlbumBuilderFactory()); + createAlbumBuilderFactory(), sone); setupImage(0, "I1", "A1", 1000L, "K1", "T1", null, 16, 9); - configurationSoneParser.parseImages(createImageBuilderFactory()); + configurationSoneParser.parseImages(createImageBuilderFactory(), sone); } @Test(expected = InvalidImageFound.class) public void missingWidthIsRecognized() { setupTopLevelAlbums(); configurationSoneParser.parseTopLevelAlbums( - createAlbumBuilderFactory()); + createAlbumBuilderFactory(), sone); setupImage(0, "I1", "A1", 1000L, "K1", "T1", "D1", null, 9); - configurationSoneParser.parseImages(createImageBuilderFactory()); + configurationSoneParser.parseImages(createImageBuilderFactory(), sone); } @Test(expected = InvalidImageFound.class) public void missingHeightIsRecognized() { setupTopLevelAlbums(); configurationSoneParser.parseTopLevelAlbums( - createAlbumBuilderFactory()); + createAlbumBuilderFactory(), sone); setupImage(0, "I1", "A1", 1000L, "K1", "T1", "D1", 16, null); - configurationSoneParser.parseImages(createImageBuilderFactory()); - } - - private static class TestValue implements Value { - - private final AtomicReference value = new AtomicReference(); - - public TestValue(T originalValue) { - value.set(originalValue); - } - - @Override - public T getValue() throws ConfigurationException { - return value.get(); - } - - @Override - public T getValue(T defaultValue) { - final T realValue = value.get(); - return (realValue != null) ? realValue : defaultValue; - } - - @Override - public void setValue(T newValue) throws ConfigurationException { - value.set(newValue); - } - + configurationSoneParser.parseImages(createImageBuilderFactory(), sone); } }