No effective change - code cleanup - while to foreach on BeanList etc

This commit is contained in:
Robin Bygrave
2015-07-31 19:39:18 +12:00
parent ece7466117
commit cca7a505a3
8 changed files with 723 additions and 58 deletions
@@ -0,0 +1,233 @@
package com.avaje.ebean.common;
import com.avaje.ebean.bean.BeanCollection;
import org.jetbrains.annotations.NotNull;
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
import static org.assertj.core.api.Assertions.*;
public class BeanListTest {
Object object1 = new Object();
Object object2 = new Object();
Object object3 = new Object();
@NotNull
private List<Object> all() {
List<Object> all = new ArrayList<Object>();
all.add(object1);
all.add(object2);
all.add(object3);
return all;
}
@NotNull
private List<Object> some() {
List<Object> some = new ArrayList<Object>();
some.add(object2);
some.add(object3);
return some;
}
@Test
public void testAdd() throws Exception {
BeanList<Object> list = new BeanList<Object>();
list.setModifyListening(BeanCollection.ModifyListenMode.ALL);
list.add(object1);
assertThat(list.getModifyAdditions()).containsExactly(object1);
assertThat(list.getModifyRemovals()).isEmpty();
list.add(object1);
assertThat(list.getModifyAdditions()).containsExactly(object1);
list.add(object2);
assertThat(list.getModifyAdditions()).containsExactly(object1, object2);
list.remove(object1);
assertThat(list.getModifyAdditions()).containsExactly(object2);
assertThat(list.getModifyRemovals()).isEmpty();
}
@Test
public void testAddAll_given_emptyStart() throws Exception {
BeanList<Object> list = new BeanList<Object>();
list.setModifyListening(BeanCollection.ModifyListenMode.ALL);
// act
list.addAll(all());
assertThat(list.getModifyAdditions()).containsExactly(object1, object2, object3);
assertThat(list.getModifyRemovals()).isEmpty();
}
@Test
public void testAdd_given_someAlreadyIn() throws Exception {
BeanList<Object> list = new BeanList<Object>(some());
list.setModifyListening(BeanCollection.ModifyListenMode.ALL);
// act
assertThat(list.contains(object1)).isFalse();
list.add(object1);
assertThat(list.contains(object2)).isTrue();
list.add(object2); // object2 added as List allows duplicates
assertThat(list.getModifyAdditions()).containsExactly(object1, object2);
assertThat(list.getModifyRemovals()).isEmpty();
}
@Test
public void testAddSome_given_someAlreadyIn() throws Exception {
BeanList<Object> list = new BeanList<Object>(some());
list.setModifyListening(BeanCollection.ModifyListenMode.ALL);
// act
list.addAll(all());
assertThat(list.getModifyAdditions()).containsExactly(object1, object2, object3);
assertThat(list.getModifyRemovals()).isEmpty();
}
@Test
public void testRemove_given_beansInAdditions() throws Exception {
BeanList<Object> list = new BeanList<Object>();
list.setModifyListening(BeanCollection.ModifyListenMode.ALL);
list.addAll(all());
assertThat(list.getModifyAdditions()).containsExactly(object1, object2, object3);
// act
list.remove(object2);
list.remove(object3);
assertThat(list.getModifyAdditions()).containsExactly(object1);
assertThat(list.getModifyRemovals()).isEmpty();
}
@Test
public void testRemoveAll_given_beansInAdditions() throws Exception {
BeanList<Object> list = new BeanList<Object>();
list.setModifyListening(BeanCollection.ModifyListenMode.ALL);
list.addAll(all());
assertThat(list.getModifyAdditions()).containsExactly(object1, object2, object3);
// act
list.removeAll(some());
assertThat(list.getModifyAdditions()).containsExactly(object1);
assertThat(list.getModifyRemovals()).isEmpty();
}
@Test
public void testRemove_given_beansNotInAdditions() throws Exception {
BeanList<Object> list = new BeanList<Object>(all());
list.setModifyListening(BeanCollection.ModifyListenMode.ALL);
// act
list.remove(object2);
list.remove(object3);
// assert
assertThat(list.getModifyAdditions()).isEmpty();
assertThat(list.getModifyRemovals()).containsExactly(object2, object3);
}
@Test
public void testRemoveAll_given_beansNotInAdditions() throws Exception {
BeanList<Object> list = new BeanList<Object>(all());
list.setModifyListening(BeanCollection.ModifyListenMode.ALL);
// act
list.removeAll(some());
// assert
assertThat(list.getModifyAdditions()).isEmpty();
assertThat(list.getModifyRemovals()).containsExactly(object2, object3);
}
@Test
public void testClear() throws Exception {
BeanList<Object> list = new BeanList<Object>(all());
list.setModifyListening(BeanCollection.ModifyListenMode.ALL);
// act
list.clear();
//assert
assertThat(list.getModifyRemovals()).containsExactly(object1, object2, object3);
assertThat(list.getModifyAdditions()).isEmpty();
}
@Test
public void testClear_given_someBeansInAdditions() throws Exception {
BeanList<Object> list = new BeanList<Object>();
list.add(object1);
list.setModifyListening(BeanCollection.ModifyListenMode.ALL);
list.add(object2);
list.add(object3);
// act
list.clear();
//assert
assertThat(list.getModifyRemovals()).containsExactly(object1);
assertThat(list.getModifyAdditions()).isEmpty();
}
@Test
public void testRetainAll_given_beansInAdditions() throws Exception {
BeanList<Object> list = new BeanList<Object>();
list.setModifyListening(BeanCollection.ModifyListenMode.ALL);
list.addAll(all());
assertThat(list.getModifyAdditions()).containsExactly(object1, object2, object3);
// act
list.retainAll(some());
assertThat(list.getModifyAdditions()).containsExactly(object2, object3);
assertThat(list.getModifyRemovals()).isEmpty();
}
@Test
public void testRetainAll_given_someBeansInAdditions() throws Exception {
BeanList<Object> list = new BeanList<Object>();
list.add(object1);
list.add(object2);
list.setModifyListening(BeanCollection.ModifyListenMode.ALL);
list.add(object3);
// act
list.retainAll(some());
assertThat(list.getModifyAdditions()).containsExactly(object3);
assertThat(list.getModifyRemovals()).containsExactly(object1);
}
@Test
public void testRetainAll_given_noBeansInAdditions() throws Exception {
BeanList<Object> list = new BeanList<Object>(all());
list.setModifyListening(BeanCollection.ModifyListenMode.ALL);
// act
list.retainAll(some());
assertThat(list.getModifyRemovals()).containsExactly(object1);
}
}
@@ -0,0 +1,194 @@
package com.avaje.ebean.common;
import com.avaje.ebean.bean.BeanCollection;
import org.jetbrains.annotations.NotNull;
import org.junit.Test;
import java.util.LinkedHashMap;
import java.util.Map;
import static org.assertj.core.api.Assertions.assertThat;
public class BeanMapTest {
Object object1 = new Object();
Object object2 = new Object();
Object object3 = new Object();
@NotNull
private Map<String, Object> all() {
Map<String, Object> all = new LinkedHashMap<String, Object>();
all.put("1", object1);
all.put("2", object2);
all.put("3", object3);
return all;
}
@NotNull
private Map<String, Object> some() {
Map<String, Object> all = new LinkedHashMap<String, Object>();
all.put("2", object2);
all.put("3", object3);
return all;
}
@Test
public void testAdd() throws Exception {
BeanMap<String,Object> map = new BeanMap<String,Object>();
map.setModifyListening(BeanCollection.ModifyListenMode.ALL);
map.put("1", object1);
map.put("4", null);
assertThat(map.getModifyAdditions()).containsExactly(object1);
assertThat(map.getModifyRemovals()).isEmpty();
map.put("1", object1);
map.put("4", null);
assertThat(map.getModifyAdditions()).containsExactly(object1);
map.put("2", object2);
assertThat(map.getModifyAdditions()).containsExactly(object1, object2);
map.remove("1");
assertThat(map.getModifyAdditions()).containsExactly(object2);
assertThat(map.getModifyRemovals()).isEmpty();
}
@Test
public void testAddAll_given_emptyStart() throws Exception {
BeanMap<String,Object> set = new BeanMap<String,Object>();
set.setModifyListening(BeanCollection.ModifyListenMode.ALL);
// act
set.putAll(all());
assertThat(set.getModifyAdditions()).containsExactly(object1, object2, object3);
assertThat(set.getModifyRemovals()).isEmpty();
}
@Test
public void testAdd_given_someAlreadyIn() throws Exception {
BeanMap<String,Object> map = new BeanMap<String,Object>(some());
map.setModifyListening(BeanCollection.ModifyListenMode.ALL);
// act
assertThat(map.values().contains(object1)).isFalse();
map.put("1", object1);
assertThat(map.values().contains(object2)).isTrue();
map.put("2", object2);
assertThat(map.getModifyAdditions()).containsExactly(object1);
assertThat(map.getModifyRemovals()).isEmpty();
}
@Test
public void testAddSome_given_someAlreadyIn() throws Exception {
BeanMap<String,Object> map = new BeanMap<String,Object>(some());
map.setModifyListening(BeanCollection.ModifyListenMode.ALL);
// act
map.putAll(all());
assertThat(map.getModifyAdditions()).containsExactly(object1);
assertThat(map.getModifyRemovals()).isEmpty();
}
@Test
public void testRemove_given_beansInAdditions() throws Exception {
BeanMap<String,Object> map = new BeanMap<String,Object>();
map.setModifyListening(BeanCollection.ModifyListenMode.ALL);
map.putAll(all());
assertThat(map.getModifyAdditions()).containsExactly(object1, object2, object3);
// act
map.remove("2");
map.remove("3");
assertThat(map.getModifyAdditions()).containsExactly(object1);
assertThat(map.getModifyRemovals()).isEmpty();
}
@Test
public void testRemoveAll_given_beansInAdditions() throws Exception {
BeanMap<String,Object> map = new BeanMap<String,Object>();
map.setModifyListening(BeanCollection.ModifyListenMode.ALL);
map.putAll(all());
assertThat(map.getModifyAdditions()).containsExactly(object1, object2, object3);
// act
map.remove("2");
map.remove("3");
assertThat(map.getModifyAdditions()).containsExactly(object1);
assertThat(map.getModifyRemovals()).isEmpty();
}
@Test
public void testRemove_given_beansNotInAdditions() throws Exception {
BeanMap<String,Object> map = new BeanMap<String,Object>(all());
map.setModifyListening(BeanCollection.ModifyListenMode.ALL);
// act
map.remove("2");
map.remove("3");
// assert
assertThat(map.getModifyAdditions()).isEmpty();
assertThat(map.getModifyRemovals()).containsExactly(object2, object3);
}
@Test
public void testRemoveAll_given_beansNotInAdditions() throws Exception {
BeanMap<String,Object> map = new BeanMap<String,Object>(all());
map.setModifyListening(BeanCollection.ModifyListenMode.ALL);
// act
map.remove("2");
map.remove("3");
// assert
assertThat(map.getModifyAdditions()).isEmpty();
assertThat(map.getModifyRemovals()).containsExactly(object2, object3);
}
@Test
public void testClear() throws Exception {
BeanMap<String,Object> map = new BeanMap<String,Object>(all());
map.setModifyListening(BeanCollection.ModifyListenMode.ALL);
// act
map.clear();
//assert
assertThat(map.getModifyRemovals()).containsExactly(object1, object2, object3);
assertThat(map.getModifyAdditions()).isEmpty();
}
@Test
public void testClear_given_someBeansInAdditions() throws Exception {
BeanMap<String,Object> map = new BeanMap<String,Object>();
map.put("1",object1);
map.setModifyListening(BeanCollection.ModifyListenMode.ALL);
map.put("2", object2);
map.put("3", object3);
// act
map.clear();
//assert
assertThat(map.getModifyRemovals()).containsExactly(object1);
assertThat(map.getModifyAdditions()).isEmpty();
}
}
@@ -0,0 +1,233 @@
package com.avaje.ebean.common;
import com.avaje.ebean.bean.BeanCollection;
import org.jetbrains.annotations.NotNull;
import org.junit.Test;
import java.util.LinkedHashSet;
import java.util.Set;
import static org.assertj.core.api.Assertions.assertThat;
public class BeanSetTest {
Object object1 = new Object();
Object object2 = new Object();
Object object3 = new Object();
@NotNull
private Set<Object> all() {
Set<Object> all = new LinkedHashSet<Object>();
all.add(object1);
all.add(object2);
all.add(object3);
return all;
}
@NotNull
private Set<Object> some() {
Set<Object> some = new LinkedHashSet<Object>();
some.add(object2);
some.add(object3);
return some;
}
@Test
public void testAdd() throws Exception {
BeanSet<Object> set = new BeanSet<Object>();
set.setModifyListening(BeanCollection.ModifyListenMode.ALL);
set.add(object1);
assertThat(set.getModifyAdditions()).containsExactly(object1);
assertThat(set.getModifyRemovals()).isEmpty();
set.add(object1);
assertThat(set.getModifyAdditions()).containsExactly(object1);
set.add(object2);
assertThat(set.getModifyAdditions()).containsExactly(object1, object2);
set.remove(object1);
assertThat(set.getModifyAdditions()).containsExactly(object2);
assertThat(set.getModifyRemovals()).isEmpty();
}
@Test
public void testAddAll_given_emptyStart() throws Exception {
BeanSet<Object> set = new BeanSet<Object>();
set.setModifyListening(BeanCollection.ModifyListenMode.ALL);
// act
set.addAll(all());
assertThat(set.getModifyAdditions()).containsExactly(object1, object2, object3);
assertThat(set.getModifyRemovals()).isEmpty();
}
@Test
public void testAdd_given_someAlreadyIn() throws Exception {
BeanSet<Object> set = new BeanSet<Object>(some());
set.setModifyListening(BeanCollection.ModifyListenMode.ALL);
// act
assertThat(set.contains(object1)).isFalse();
set.add(object1);
assertThat(set.contains(object2)).isTrue();
set.add(object2);
assertThat(set.getModifyAdditions()).containsExactly(object1);
assertThat(set.getModifyRemovals()).isEmpty();
}
@Test
public void testAddSome_given_someAlreadyIn() throws Exception {
BeanSet<Object> set = new BeanSet<Object>(some());
set.setModifyListening(BeanCollection.ModifyListenMode.ALL);
// act
set.addAll(all());
assertThat(set.getModifyAdditions()).containsExactly(object1);
assertThat(set.getModifyRemovals()).isEmpty();
}
@Test
public void testRemove_given_beansInAdditions() throws Exception {
BeanSet<Object> set = new BeanSet<Object>();
set.setModifyListening(BeanCollection.ModifyListenMode.ALL);
set.addAll(all());
assertThat(set.getModifyAdditions()).containsExactly(object1, object2, object3);
// act
set.remove(object2);
set.remove(object3);
assertThat(set.getModifyAdditions()).containsExactly(object1);
assertThat(set.getModifyRemovals()).isEmpty();
}
@Test
public void testRemoveAll_given_beansInAdditions() throws Exception {
BeanSet<Object> set = new BeanSet<Object>();
set.setModifyListening(BeanCollection.ModifyListenMode.ALL);
set.addAll(all());
assertThat(set.getModifyAdditions()).containsExactly(object1, object2, object3);
// act
set.removeAll(some());
assertThat(set.getModifyAdditions()).containsExactly(object1);
assertThat(set.getModifyRemovals()).isEmpty();
}
@Test
public void testRemove_given_beansNotInAdditions() throws Exception {
BeanSet<Object> set = new BeanSet<Object>(all());
set.setModifyListening(BeanCollection.ModifyListenMode.ALL);
// act
set.remove(object2);
set.remove(object3);
// assert
assertThat(set.getModifyAdditions()).isEmpty();
assertThat(set.getModifyRemovals()).containsExactly(object2, object3);
}
@Test
public void testRemoveAll_given_beansNotInAdditions() throws Exception {
BeanSet<Object> set = new BeanSet<Object>(all());
set.setModifyListening(BeanCollection.ModifyListenMode.ALL);
// act
set.removeAll(some());
// assert
assertThat(set.getModifyAdditions()).isEmpty();
assertThat(set.getModifyRemovals()).containsExactly(object2, object3);
}
@Test
public void testClear() throws Exception {
BeanSet<Object> set = new BeanSet<Object>(all());
set.setModifyListening(BeanCollection.ModifyListenMode.ALL);
// act
set.clear();
//assert
assertThat(set.getModifyRemovals()).containsExactly(object1, object2, object3);
assertThat(set.getModifyAdditions()).isEmpty();
}
@Test
public void testClear_given_someBeansInAdditions() throws Exception {
BeanSet<Object> set = new BeanSet<Object>();
set.add(object1);
set.setModifyListening(BeanCollection.ModifyListenMode.ALL);
set.add(object2);
set.add(object3);
// act
set.clear();
//assert
assertThat(set.getModifyRemovals()).containsExactly(object1);
assertThat(set.getModifyAdditions()).isEmpty();
}
@Test
public void testRetainAll_given_beansInAdditions() throws Exception {
BeanSet<Object> set = new BeanSet<Object>();
set.setModifyListening(BeanCollection.ModifyListenMode.ALL);
set.addAll(all());
assertThat(set.getModifyAdditions()).containsExactly(object1, object2, object3);
// act
set.retainAll(some());
assertThat(set.getModifyAdditions()).containsExactly(object2, object3);
assertThat(set.getModifyRemovals()).isEmpty();
}
@Test
public void testRetainAll_given_someBeansInAdditions() throws Exception {
BeanSet<Object> set = new BeanSet<Object>();
set.add(object1);
set.add(object2);
set.setModifyListening(BeanCollection.ModifyListenMode.ALL);
set.add(object3);
// act
set.retainAll(some());
assertThat(set.getModifyAdditions()).containsExactly(object3);
assertThat(set.getModifyRemovals()).containsExactly(object1);
}
@Test
public void testRetainAll_given_noBeansInAdditions() throws Exception {
BeanSet<Object> set = new BeanSet<Object>(all());
set.setModifyListening(BeanCollection.ModifyListenMode.ALL);
// act
set.retainAll(some());
assertThat(set.getModifyRemovals()).containsExactly(object1);
}
}