@Test
public void addSibling() {
VariablesDeclaration d = new VariablesDeclaration();
Declarator s1 = new Declarator.DirectDeclarator(), s2 = new Declarator.DirectDeclarator();
d.setDeclarators(Arrays.asList(s1));
s1.insertSibling(s2, false);
List<Declarator> list = d.getDeclarators();
assertEquals("Failed to add after", 2, list.size());
assertSame("Added, but not after", s1, list.get(0));
assertSame(s2, list.get(1));
s2.replaceBy(null);
list = d.getDeclarators();
assertEquals("Failed to remove added element", 1, list.size());
assertSame("Removed bad element", s1, list.get(0));
d.setDeclarators(Arrays.asList(s1));
s1.insertSibling(s2, true);
list = d.getDeclarators();
assertEquals("Failed to add before", 2, list.size());
assertSame("Added, but not before", s2, list.get(0));
assertSame(s1, list.get(1));
s2.replaceBy(null);
list = d.getDeclarators();
assertEquals("Failed to remove added element", 1, list.size());
assertSame("Removed bad element", s1, list.get(0));
}
}