public void testInsert() {
Nodes nodes = new Nodes();
int length = 10;
for (int i = 0; i < length; i++) {
nodes.append(new Text(String.valueOf(i)));
}
nodes.insert(new Comment("dTA"), 3);
nodes.insert(new Comment("dTA"), 5);
nodes.insert(new Comment("dTA"), 12);
assertEquals(length+3, nodes.size());
for (int i = 0; i < 3; i++) {
assertEquals(String.valueOf(i), nodes.get(i).getValue());
}
assertEquals("dTA", nodes.get(3).getValue());
assertEquals("dTA", nodes.get(5).getValue());
assertEquals("dTA", nodes.get(12).getValue());
for (int i = 6; i < length+2; i++) {
assertEquals(String.valueOf(i-2), nodes.get(i).getValue());
}
try {
nodes.insert(new Text("data"), 14);
}
catch (IndexOutOfBoundsException ex) {
assertNotNull(ex.getMessage());
}
try {
nodes.insert(new Text("data"), 140);
}
catch (IndexOutOfBoundsException ex) {
assertNotNull(ex.getMessage());
}
try {
nodes.insert(new Text("data"), -14);
}
catch (IndexOutOfBoundsException ex) {
assertNotNull(ex.getMessage());
}