package in.partake.model.dto; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; import in.partake.app.PartakeTestApp; import in.partake.model.fixture.TestDataProvider; import org.junit.Assert; import org.junit.Before; import org.junit.Test; public class UserPreferenceTest extends AbstractPartakeModelTest<UserPreference> { @Override protected UserPreference copy(UserPreference t) { return new UserPreference(t); } @Override protected TestDataProvider<UserPreference> getTestDataProvider() { return PartakeTestApp.getTestService().getTestDataProviderSet().getUserPreferenceProvider(); } private UserPreference[] samples; @Before public void createSamples() { samples = new UserPreference[] { new UserPreference("id1", false, false, false), new UserPreference("id2", true, false, true), new UserPreference("id3", false, true, false), new UserPreference("id4", true, true, false), new UserPreference("id5", false, false, true), new UserPreference("id6", true, false, true), new UserPreference("id7", false, true, true), new UserPreference("id8", true, true, true), }; } @Test public void testCopyConstructor() { for (UserPreference source : samples) { Assert.assertEquals(source, new UserPreference(source)); } for (UserPreference lhs : samples) { for (UserPreference rhs : samples) { if (lhs == rhs) { continue; } Assert.assertFalse(lhs.equals(rhs)); } } } @Test public void testEquals() { UserPreference pref = samples[0]; assertThat(pref.equals(null), is(false)); for (int i = 0; i < 8; ++i) { for (int j = 0; j < 8; ++j) { assertThat(samples[i].equals(samples[j]), is(i == j)); } } } @Test public void testSetUserId() { UserPreference pref = samples[0]; pref.setUserId("modified"); assertThat(pref.getUserId(), is("modified")); } }