@Test public void testStrataNamesAndIdsStrataCriterions() { DichotomousCriterion criterion1 = new DichotomousCriterion(); criterion1.setId(1); criterion1.setName("criterion1"); criterion1.setOption1("option1"); criterion1.setOption2("option2"); try { DichotomousConstraint d1 = new DichotomousConstraint(Arrays.asList(new String[] {"option1"})); d1.setId(1); criterion1.addStrata(d1); DichotomousConstraint d2 = new DichotomousConstraint(Arrays.asList(new String[] {"option2"})); d2.setId(2); criterion1.addStrata(d2); } catch (ContraintViolatedException e) { fail(); } DichotomousCriterion criterion2 = new DichotomousCriterion(); criterion2.setId(2); criterion2.setName("criterion2"); criterion2.setOption1("option1"); criterion2.setOption2("option2"); try { DichotomousConstraint d1 = new DichotomousConstraint(Arrays.asList(new String[] {"option1"})); d1.setId(1); criterion2.addStrata(d1); DichotomousConstraint d2 = new DichotomousConstraint(Arrays.asList(new String[] {"option2"})); d2.setId(2); criterion2.addStrata(d2); } catch (ContraintViolatedException e) { fail(); } validTrial.addCriterion(criterion1); validTrial.addCriterion(criterion2); Pair<List<String>, List<String>> pair = validTrial.getAllStrataIdsAndNames(); assertEquals(4, pair.first().size()); assertEquals(4, pair.last().size()); Collections.sort(pair.first()); assertEquals("1_1;2_1;", pair.first().get(0)); assertEquals("1_1;2_2;", pair.first().get(1)); assertEquals("1_2;2_1;", pair.first().get(2)); assertEquals("1_2;2_2;", pair.first().get(3)); Collections.sort(pair.last()); assertEquals("criterion1_option1;criterion2_option1;", pair.last().get(0)); assertEquals("criterion1_option1;criterion2_option2;", pair.last().get(1)); assertEquals("criterion1_option2;criterion2_option1;", pair.last().get(2)); assertEquals("criterion1_option2;criterion2_option2;", pair.last().get(3)); }