package br.com.six2six.fixturefactory;
import static java.lang.String.format;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
import org.junit.BeforeClass;
import org.junit.Test;
import br.com.six2six.fixturefactory.loader.FixtureFactoryLoader;
import br.com.six2six.fixturefactory.model.BeanWithPlaceholder;
public class BeanWtihPlaceholderTest {
@BeforeClass
public static void setUp() {
FixtureFactoryLoader.loadTemplates("br.com.six2six.template");
}
@Test
public void shouldSubstituteOnePlaceholderViaConstructor() {
BeanWithPlaceholder result = Fixture.from(BeanWithPlaceholder.Immutable.class).gimme("one-placeholder");
assertThat(result.getAttrThree(), equalTo(result.getAttrOne()));
}
@Test
public void shouldSubstituteOnePlaceholderViaSetter() {
BeanWithPlaceholder result = Fixture.from(BeanWithPlaceholder.Mutable.class).gimme("one-placeholder");
assertThat(result.getAttrThree(), equalTo(result.getAttrOne()));
}
@Test
public void shouldSubstituteTwoPlaceholdersViaConstructor() {
BeanWithPlaceholder result = Fixture.from(BeanWithPlaceholder.Immutable.class).gimme("two-placeholders");
assertThat(result.getAttrThree(), equalTo(format("%s %s", result.getAttrOne(), result.getAttrTwo())));
}
@Test
public void shouldSubstituteTwoPlaceholdersViaSetters() {
BeanWithPlaceholder result = Fixture.from(BeanWithPlaceholder.Mutable.class).gimme("two-placeholders");
assertThat(result.getAttrThree(), equalTo(format("%s %s", result.getAttrOne(), result.getAttrTwo())));
}
@Test
public void shouldSubstituteTheSamePlaceholdersTwiceViaConstructor() {
BeanWithPlaceholder result = Fixture.from(BeanWithPlaceholder.Immutable.class).gimme("same-placeholder-twice");
assertThat(result.getAttrThree(), equalTo(format("%s %s", result.getAttrOne(), result.getAttrOne())));
}
@Test
public void shouldSubstituteTheSamePlaceholdersTwiceViaSetters() {
BeanWithPlaceholder result = Fixture.from(BeanWithPlaceholder.Mutable.class).gimme("same-placeholder-twice");
assertThat(result.getAttrThree(), equalTo(format("%s %s", result.getAttrOne(), result.getAttrOne())));
}
}