Segment seg1 = segments.get(0);
Segment seg2 = segments.get(1);
assertThat(seg1.getTerms().size(), is(2));
assertThat(seg2.getTerms().size(), is(2));
Ex1 ex1 = new Ex1();
ex1.setSid(1);
ex1.setValue(100);
ex1.setStringAsString("ex1");
Ex2 ex2 = new Ex2();
ex2.setSid(2);
ex2.setValue(100);
ex2.setStringAsString("ex2");
int p01, p02;
setShuffleKeyValue(seg1, k, v, ex1);
p01 = part.getPartition(k, v, 100);
setShuffleKeyValue(seg2, k, v, ex2);
p02 = part.getPartition(k, v, 100);
assertThat(p01, is(p02));
setShuffleKeyValue(seg1, k, v, ex1);
p01 = part.getPartition(k, v, 100);
ex1.setValue(101);
setShuffleKeyValue(seg1, k, v, ex1);
p02 = part.getPartition(k, v, 100);
assertThat(p01, not(p02));
ex1.setValue(100);
ex1.setSid(2);
setShuffleKeyValue(seg1, k, v, ex1);
p01 = part.getPartition(k, v, 100);
setShuffleKeyValue(seg2, k, v, ex2);
p02 = part.getPartition(k, v, 100);
assertThat(p01, is(p02));
ex2.setStringAsString("ex3");
setShuffleKeyValue(seg1, k, v, ex1);
p01 = part.getPartition(k, v, 100);
setShuffleKeyValue(seg2, k, v, ex2);
p02 = part.getPartition(k, v, 100);
assertThat(p01, is(p02));
ex1.setValue(101);
setShuffleKeyValue(seg1, k, v, ex1);
p01 = part.getPartition(k, v, 100);
setShuffleKeyValue(seg2, k, v, ex2);
p02 = part.getPartition(k, v, 100);
assertThat(p01, not(p02));