ошибка возникает в этом тесте:
@Test
public void colorToString() {
Veget color = new Veget("сolor");
assertEquals("Бесцветный", color.colorToString());//23
}
23-я строчка показана в коде(коммент.), а 67-я строчка вот:
инициализация переменной color(класс Veget):
import Enumeration.Color;
import Enumeration.Vegetable;
import java.util.Random;
public class Veget extends Item {
private Color color;
private Vegetable vegetable;
public Veget() {
super("Enums.Vegetable");
}
public Veget(String name) {
super(name);
}
public Veget (String name, Color color, Vegetable vegetable) {
super (name);
this.color = color;
this.vegetable = vegetable;
}
public void setColor (Color color) {
this.color = color;
}
public void setVegetable (Vegetable vegetable) {
this.vegetable = vegetable;
}
public Color getColor () {
return this.color;
}
public Vegetable getVegetable() {
return this.vegetable;
}
public void setRandVeget() {
int rand = new Random().nextInt(9);
switch (rand) {
case 0: setColor(Color.RED); break;
case 1: setColor(Color.GREEN); break;
case 2: setColor(Color.BLUE); break;
case 3: setColor(Color.PURPLE); break;
case 4: setColor(Color.YELLOW); break;
case 5: setColor(Color.VIOLET); break;
case 6: setColor(Color.BROWN); break;
case 7: setColor(Color.CYAN); break;
case 8: setColor(Color.PINK); break;
}
rand = new Random().nextInt(5);
switch (rand) {
case 0: setVegetable(Vegetable.CARROT); break;
case 1: setVegetable(Vegetable.CORN); break;
case 2: setVegetable(Vegetable.POTATO); break;
case 3: setVegetable(Vegetable.TOMAT); break;
case 4: setVegetable(Vegetable.CUCUMBER); break;
}
}
public String colorToString() {
switch (color) {
case RED: return "Красный";
case GREEN: return "Зелёный";
case BLUE: return "Голубой";
case PURPLE: return "Фиолетовый";
case YELLOW: return "Жёлтый";
case VIOLET: return "Сиреневый";
case BROWN: return "Коричневый";
case CYAN: return "Бирюзовый";
case PINK: return "Розовый";
}
return "Бесцветный";
}
public String vegetableToString() {
switch (vegetable) {
case CARROT: return "Морковь";
case CORN: return "Кукуруза";
case POTATO: return "Картофель";
case TOMAT: return "Помидор";
case CUCUMBER: return "Огурец";
}
return "Овощ";
}
}
Вы передаете в конструктор String и срабатывает конструктор String , однако при этом, инициализиции color не происходит, поскольку вы просто передаете String в конструктор Item.
Поставьте начальное значение color :
private Color color = ...;
и если вы правильно реализовали остальную структуру, как задумали, должно получиться
Вы вызываете конструктор Veget(String name)
, который инициализирует name
, но color
так и остается null
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пишу экспертную систему с использованием CLIPSРеализовав интерфейс Router я смогу перенаправить ввод и вывод CLIPS в Java
Из всего кода совсем не понимаю как отрабатывает ключевое слово superВо всех моментах этого кода, помогите разобраться пожалуйста!
Есть блок, хочу сделать плавный переход на белый цвет1 вариант - svg - не шарю, и не хочу кешировать, с png такая же история