Namely, how to test: String tasteToString ()?

package sample; /** * Класс Еда */ class Food extends Item { /** Вкус блюда*/ private Taste taste; /** * Конструктор с параметрами * @param ItemName название блюда */ Food(String ItemName) { super(ItemName); this.taste = Taste.TASTELESS; } /** * Конструктор с параметрами * @param taste вкус блюда * @param ItemName название блюда */ Food(Taste taste, String ItemName){ super(ItemName); this.taste = taste; } /** * @return вкус блюда */ Taste getTaste() { return taste; } /** * @return строку, эквивалентную вкусу блюда */ String tasteToString() { switch (taste) { case SWEET: return "Сладкий"; case SOUR: return "Кислый"; case SALTY: return "Солёный"; case BITTER: return "Горький"; } return "Безвкусный"; } } 
  • I recommend to abandon Taste and make as many classes as Taste elements - keekkenen

1 answer 1

 @Test public void tasteToString() { Food water = new Food("Water"); assertEquals("Безвкусный", water.tasteToString()); } 

I would make a parameterized enum.

  • yes, yes, there is this: enum Taste {SWEET, // Sweet SALTY, // Salty SOUR, // Sour BITTER, // Bitter TASTELESS; // Tasteless} - code
  • @Daniil that’s what I’d do with parameters. - Oleksiy Morenets