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");
setShuffleKey(seg1, k1, ex1);
setShuffleKey(seg2, k2, ex2);
assertThat(cmp.compare(k1, k2), is(0));
ex1.setSid(2);
setShuffleKey(seg1, k1, ex1);
assertThat(cmp.compare(k1, k2), is(0));
ex2.setStringAsString("ex3");
setShuffleKey(seg2, k2, ex2);
assertThat(cmp.compare(k1, k2), is(0));
ex1.setValue(101);
setShuffleKey(seg1, k1, ex1);
assertThat(cmp.compare(k1, k2), not(0));
ex2.setValue(101);
setShuffleKey(seg2, k2, ex2);