package org.atomhopper.config; import org.atomhopper.config.v1_0.Author; import org.atomhopper.config.v1_0.Configuration; import org.atomhopper.config.v1_0.ConfigurationDefaults; import org.atomhopper.config.v1_0.FeedConfiguration; import org.atomhopper.config.v1_0.WorkspaceConfiguration; import org.junit.Before; import org.junit.Test; import org.junit.experimental.runners.Enclosed; import org.junit.runner.RunWith; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; /** * User: sbrayman * Date: 12/20/11 */ @RunWith(Enclosed.class) public class AtomHopperConfigurationPreprocessorTest { public static class WhenSettingDefaultAuthor { AtomHopperConfigurationPreprocessor atomHopperConfigurationPreprocessor; Configuration configuration; ConfigurationDefaults configurationDefaults; Author author; String authorName; WorkspaceConfiguration workspaceConfiguration; FeedConfiguration feedConfiguration; @Before public void setUp() throws Exception { configuration = new Configuration(); configurationDefaults = new ConfigurationDefaults(); author = new Author(); authorName = "Testing Author"; author.setName(authorName); configurationDefaults.setAuthor(author); configuration.setDefaults(configurationDefaults); workspaceConfiguration = new WorkspaceConfiguration(); feedConfiguration = new FeedConfiguration(); workspaceConfiguration.getFeed().add(feedConfiguration); configuration.getWorkspace().add(workspaceConfiguration); atomHopperConfigurationPreprocessor = new AtomHopperConfigurationPreprocessor(configuration); } @Test public void shouldSetAuthor() throws Exception { atomHopperConfigurationPreprocessor.applyDefaults(); String authorFromFeed = configuration.getWorkspace().get(0).getFeed().get(0).getAuthor().getName(); assertEquals("Feed should contain an author", authorName, authorFromFeed); } @Test public void shouldReturnConfiguration() throws Exception { assertTrue("This should return a configuration object", atomHopperConfigurationPreprocessor.getConfiguration() instanceof Configuration); } } }