what is wrong with my code ? public void addNames(ArrayList n) { if(names.size() names = new ArrayList(); Name n = new Name("Peter", "Bloggs"); Name n2 = new Name("Tom", "Bloggs"); Name n3 = new Name("Anna", "Jones"); names.add(n); names.add(n2); names.add(n3); r2.addNames(names); assertSame("Register's third element should be the newly added name object", n3, r2.getName(2)); assertEquals("Register's size should be three", 3, r2.sizeOfRegister()); r2 = new Register(4); Name n4 = new Name("Joe", "Bloggs"); r2.addName(n4); r2.addNames(names); assertEquals("Register's size should be four", 4, r2.sizeOfRegister()); r2 = new Register(3); r2.addName(n4); r2.addNames(names); assertEquals("Register's size should be one", 1, r2.sizeOfRegister()); }
what is wrong with my code ?
public void addNames(ArrayList<Name> n) {
if(names.size()<roomCapacity) {
for(Name x: n) {
names.add(x);
}
}
}
I cannot pass these tests:
@Test
public void testAddNamesCapacity() {
Register r2 = new Register(4);
ArrayList<Name> names = new ArrayList<Name>();
Name n = new Name("Peter", "Bloggs");
Name n2 = new Name("Tom", "Bloggs");
Name n3 = new Name("Anna", "Jones");
names.add(n);
names.add(n2);
names.add(n3);
r2.addNames(names);
assertSame("Register's third element should be the newly added name object", n3, r2.getName(2));
assertEquals("Register's size should be three", 3, r2.sizeOfRegister());
r2 = new Register(4);
Name n4 = new Name("Joe", "Bloggs");
r2.addName(n4);
r2.addNames(names);
assertEquals("Register's size should be four", 4, r2.sizeOfRegister());
r2 = new Register(3);
r2.addName(n4);
r2.addNames(names);
assertEquals("Register's size should be one", 1, r2.sizeOfRegister());
}
Step by step
Solved in 2 steps