package org.jtwig.environment;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import java.util.HashMap;
import static org.hamcrest.Matchers.containsString;
import static org.junit.Assert.assertSame;
public class EnvironmentTest {
private final HashMap<String, Object> parameters = new HashMap<>();
private Environment underTest = new Environment(null, parameters, null, null, null, null, null, null, null);
@Rule
public ExpectedException expectedException = ExpectedException.none();
@Before
public void setUp() throws Exception {
parameters.clear();
}
@Test
public void parameterNotPresent() throws Exception {
String key = "key";
expectedException.expectMessage(containsString("No property found with name 'key'"));
underTest.parameter(key);
}
@Test
public void parameterPresent() throws Exception {
String key = "key";
Object value = new Object();
parameters.put(key, value);
Object result = underTest.parameter(key);
assertSame(value, result);
}
@Test
public void parameterWithDefaultPresent() throws Exception {
String key = "key";
Object value = new Object();
Object defaultValue = new Object();
parameters.put(key, value);
Object result = underTest.parameter(key, defaultValue);
assertSame(value, result);
}
@Test
public void parameterWithDefaultNotPresent() throws Exception {
String key = "key";
Object defaultValue = new Object();
Object result = underTest.parameter(key, defaultValue);
assertSame(defaultValue, result);
}
}