Как объект Toy, который я получаю от дочернего объекта, может отличаться от объекта, переданного через конструктор?JAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Как объект Toy, который я получаю от дочернего объекта, может отличаться от объекта, переданного через конструктор?

Сообщение Гость »


Я выполняю задание, которое требует от меня создания кода, который позволит выполнить это задание без ошибок и сбоев. Это только один тестовый пример:

Код: Выделить всё

Toy t1 = new Toy(1000121, "Red Bike", 3, 98.90);
Toy t2 = new Toy(1000123, "Colouring Book", 4, 19.89);
Toy t3 = new Toy(1000128, "Skateboard", 5, 149.99);
Toy t4 = new Toy(1000127, "SpongeBob DVD", 3, 14.99);
Toy t5 = new Toy(1000130, "Bike Helmet", 1, 18.99);
Toy t6 = new Toy(1000125, "Toy car", 10, 3.99);
Toy t7 = new Toy(1000129, "Ball", 2, 5.59);
Toy t8 = new Toy(1000189, "Teddy Bear", 3, 10.79);

Toy[] listofToy1 = { t1, t2 };

Child c1 = new Child("James", 1, listofToy1);

assertTrue(c1.getChildToy().length == 2 && c1.getChildToy()[0] != t1 && c1.getChildToy()[1] != t2);
assertTrue(c1.getChildToy().length == 2 && c1.getChildToy()[0].getToyName().equals("Red Bike") && c1.getChildToy()[1].getToyName().equals("Colouring Book"));

assertTrue(c1.getChildToy().length == 2 && c1.getChildToy()[0].getToyQuantity() == 3 && c1.getChildToy()[1].getToyQuantity() == 4);
My question is how does the first assertTrue even work? Am I missing something?
You can infer what each method means by what its called. For reference, the

Код: Выделить всё

getChildToy
method will return an array of Toy objects. The toy objects are from the created Toys from line 1-8
To me it looks like

Код: Выделить всё

Child c1
is created with an array of toys that include and in index 0 and 1, respectively. So how can

Код: Выделить всё

c1.getChildToy()[0]
not equal from the first assert?
And if

Код: Выделить всё

c1.getChildToy()[0]
is not equal to , how can

Код: Выделить всё

c1.getChildToy()[0].getToyName().equals("Red Bike")
from the second assert be true?
Any help will be appreciated thank you.
Edit: I tried system.out.println.

Код: Выделить всё

System.out.println(c1.getChildToy()[0].getToyInformation());
System.out.println(c1.getChildToy()[1].getToyInformation());
console showed this:

Код: Выделить всё

(1000121, "Red Bike", 3, 98.90)
(1000123, "Colouring Book", 4, 19.89)
which is a match to line 1 and 2
P.S. getToyInformation method just puts the info from the toy object into a formatted string


Источник: https://stackoverflow.com/questions/781 ... ssed-in-th
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»