package pl.matisoft.soy.global.compile;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.mockito.InjectMocks;
import org.mockito.MockitoAnnotations;
/**
* Created with IntelliJ IDEA.
* User: mati
* Date: 20/10/2013
* Time: 23:26
*/
public class DefaultCompileTimeGlobalModelResolverTest {
@InjectMocks
private DefaultCompileTimeGlobalModelResolver defaultCompileTimeGlobalModelResolver = new DefaultCompileTimeGlobalModelResolver();
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
}
@Test
public void defaultNotNull() throws Exception {
Assert.assertNotNull("by default not null", defaultCompileTimeGlobalModelResolver.resolveData());
}
@Test
public void emptyCheck() throws Exception {
defaultCompileTimeGlobalModelResolver.setData(new HashMap());
Assert.assertNotNull("by default not null", defaultCompileTimeGlobalModelResolver.resolveData());
}
@Test
public void defaultAbsent() throws Exception {
Assert.assertFalse("by default there is no data - returns absent", defaultCompileTimeGlobalModelResolver.resolveData().isPresent());
}
@Test
public void absentCheckEmptyMap() throws Exception {
defaultCompileTimeGlobalModelResolver.setData(new HashMap());
defaultCompileTimeGlobalModelResolver.setData(new HashMap());
Assert.assertNotNull("by default not null", defaultCompileTimeGlobalModelResolver.resolveData());
}
@Test
public void setDataMapPresent() throws Exception {
final Map<String,String> map = new HashMap<String, String>();
map.put("name1", "value1");
defaultCompileTimeGlobalModelResolver.setData(map);
Assert.assertTrue("after setting data - returns not absent", defaultCompileTimeGlobalModelResolver.resolveData().isPresent());
Assert.assertNotNull("after setting data - returns not absent", defaultCompileTimeGlobalModelResolver.resolveData());
}
@Test
public void setDataMapString() throws Exception {
final Map<String,String> map = new HashMap<String, String>();
map.put("name1", "value1");
defaultCompileTimeGlobalModelResolver.setData(map);
Assert.assertEquals("after setting data - returns value1", "value1", defaultCompileTimeGlobalModelResolver.resolveData().get().get("name1").stringValue());
}
@Test
public void setDataMapBoolean() throws Exception {
final Map<String,Object> map = new HashMap<String, Object>();
map.put("name1", Boolean.FALSE);
defaultCompileTimeGlobalModelResolver.setData(map);
Assert.assertFalse("after setting data - returns false", defaultCompileTimeGlobalModelResolver.resolveData().get().get("name1").booleanValue());
}
@Test
public void setDataMapInt() throws Exception {
final Map<String,Object> map = new HashMap<String, Object>();
map.put("name1", Integer.valueOf(123));
defaultCompileTimeGlobalModelResolver.setData(map);
Assert.assertEquals("after setting data - returns 123", 123, defaultCompileTimeGlobalModelResolver.resolveData().get().get("name1").integerValue());
}
@Test
public void setProperties() throws Exception {
final Properties properties = new Properties();
properties.setProperty("key1", "value1");
properties.setProperty("key2", "value2");
properties.setProperty("key3", "value3");
defaultCompileTimeGlobalModelResolver.setProperties(properties);
Assert.assertEquals("after setting data - returns value1", "value1", defaultCompileTimeGlobalModelResolver.resolveData().get().get("key1").stringValue());
Assert.assertEquals("after setting data - returns value2", "value2", defaultCompileTimeGlobalModelResolver.resolveData().get().get("key2").stringValue());
Assert.assertEquals("after setting data - returns value3", "value3", defaultCompileTimeGlobalModelResolver.resolveData().get().get("key3").stringValue());
}
}