package com.forter.contracts; import com.forter.contracts.mocks.MockInput; import com.google.common.base.Optional; import org.testng.annotations.Test; import static org.fest.assertions.api.Assertions.assertThat; /** * Tests {@link ContractFactory} */ public class ContractFactoryTest { @Test public void test() { ContractFactory<MockInput> f = new ContractFactory(MockInput.class); MockInput input = f.newInstance(); assertThat(input.x).isNull(); assertThat(input.y.isPresent()).isFalse(); assertThat(input.z).isNull(); } @Test public void testPrivates() { ContractFactory<MockInputWithNonPublic> f = new ContractFactory(MockInputWithNonPublic.class); MockInputWithNonPublic input = f.newInstance(); assertThat(input.x).isNull(); assertThat(input.y.isPresent()).isFalse(); assertThat(input.z).isNull(); assertThat(input.getA().isPresent()).isFalse(); } }