More tests for preference object handling and notification set

calculation
This commit is contained in:
Steffen Schaefer committed 2016-07-05 18:47:48 +02:00
1 parent 0f93d35bcf
commit ee5eda7ff0
2 files changed
+52

No files matched your search

@@ -36,6 +36,7 @@ public class PreferenceObjectBasedNotificationSetTest {
private String otherPrefKey = "otherPrefKey";
private HashSet<String> values1 = values(A, B);
private HashSet<String> values2 = values(B, C);
private HashSet<String> allValues = values(A, B, C);
@Before
public void setUp() throws UnknownHostException, MongoException {
@@ -97,6 +98,41 @@ public class PreferenceObjectBasedNotificationSetTest {
Assert.assertTrue(Util.equals(notificationSet.getUsersnamesToNotifyFor(C), values(user1)));
}
@Test
public void preferenceUpdateDoesntInfluenceOtherUserTest() {
store.registerPreferenceConverter(prefKey, prefConverter);
store.setPreferenceObject(user1, prefKey, values1);
store.setPreferenceObject(user2, prefKey, allValues);
PreferenceObjectBasedNotificationSetImpl notificationSet = new PreferenceObjectBasedNotificationSetImpl(prefKey, store);
store.setPreferenceObject(user1, prefKey, values2);
Assert.assertTrue(Util.equals(notificationSet.getUsersnamesToNotifyFor(A), values(user2)));
Assert.assertTrue(Util.equals(notificationSet.getUsersnamesToNotifyFor(B), values(user1, user2)));
Assert.assertTrue(Util.equals(notificationSet.getUsersnamesToNotifyFor(C), values(user1, user2)));
}
@Test
public void preferenceUnsetDoesntInfluenceOtherUserTest() {
store.registerPreferenceConverter(prefKey, prefConverter);
store.setPreferenceObject(user1, prefKey, values1);
store.setPreferenceObject(user2, prefKey, values2);
PreferenceObjectBasedNotificationSetImpl notificationSet = new PreferenceObjectBasedNotificationSetImpl(prefKey, store);
store.unsetPreference(user1, prefKey);
Assert.assertTrue(Util.equals(notificationSet.getUsersnamesToNotifyFor(A), values()));
Assert.assertTrue(Util.equals(notificationSet.getUsersnamesToNotifyFor(B), values(user2)));
Assert.assertTrue(Util.equals(notificationSet.getUsersnamesToNotifyFor(C), values(user2)));
}
@Test
public void preferenceUnsetTest() {
store.registerPreferenceConverter(prefKey, prefConverter);
PreferenceObjectBasedNotificationSetImpl notificationSet = new PreferenceObjectBasedNotificationSetImpl(prefKey, store);
store.setPreferenceObject(user1, prefKey, values1);
store.unsetPreference(user1, prefKey);
Assert.assertTrue(Util.equals(notificationSet.getUsersnamesToNotifyFor(A), values()));
Assert.assertTrue(Util.equals(notificationSet.getUsersnamesToNotifyFor(B), values()));
Assert.assertTrue(Util.equals(notificationSet.getUsersnamesToNotifyFor(C), values()));
}
@Test
public void testForObjectThatIsntKnownTest() {
store.registerPreferenceConverter(prefKey, prefConverter);
@@ -88,6 +88,22 @@ public class UserPreferenceObjectAndConverterTest {
Assert.assertEquals(serializedPref1, store.getPreference(user1, prefKey1));
Assert.assertEquals(pref1, store.getPreferenceObject(user1, prefKey1));
}
@Test
public void unsetPreferenceTest() {
store.registerPreferenceConverter(prefKey1, prefConverter);
store.setPreferenceObject(user1, prefKey1, pref1);
store.unsetPreference(user1, prefKey1);
Assert.assertEquals(null, store.getPreferenceObject(user1, prefKey1));
}
@Test
public void setPreferenceObjectToNullTest() {
store.registerPreferenceConverter(prefKey1, prefConverter);
store.setPreferenceObject(user1, prefKey1, pref1);
store.setPreferenceObject(user1, prefKey1, null);
Assert.assertEquals(null, store.getPreferenceObject(user1, prefKey1));
}
public static class SimplePreferenceForSerialization implements Serializable {
private static final long serialVersionUID = -580569932709860895L;