Rainy.java

1
package com.takenoko.weather;
2
3
import com.takenoko.actions.Action;
4
import com.takenoko.actions.bamboo.GrowBambooAction;
5
import com.takenoko.engine.Board;
6
import com.takenoko.engine.BotManager;
7
import java.util.List;
8
9
/**
10
 * A fine rain nourishes the young bamboo shoots. The player may place a Bamboo section on the
11
 * irrigated plot of his choice, up to a limit of four sections per plot.
12
 */
13
public class Rainy extends Weather {
14
    @Override
15
    public List<Class<? extends Action>> apply(Board board, BotManager botManager) {
16 1 1. apply : removed call to com/takenoko/engine/Board::setWeather → TIMED_OUT
        board.setWeather(this);
17 1 1. apply : negated conditional → KILLED
        if (board.getGrowablePositions().isEmpty()) {
18 1 1. apply : removed call to com/takenoko/engine/BotManager::displayMessage → SURVIVED
            botManager.displayMessage("No bamboo to grow");
19
            return List.of();
20
        }
21 1 1. apply : replaced return value with Collections.emptyList for com/takenoko/weather/Rainy::apply → KILLED
        return List.of(GrowBambooAction.class);
22
    }
23
24
    @Override
25
    public void revert(Board board, BotManager botManager) {
26 1 1. revert : removed call to com/takenoko/engine/Board::resetWeather → TIMED_OUT
        board.resetWeather();
27
    }
28
29
    @Override
30
    public String toString() {
31 1 1. toString : replaced return value with "" for com/takenoko/weather/Rainy::toString → TIMED_OUT
        return "Rainy";
32
    }
33
}

Mutations

16

1.1
Location : apply
Killed by : none
removed call to com/takenoko/engine/Board::setWeather → TIMED_OUT

17

1.1
Location : apply
Killed by : com.takenoko.weather.RainyTest.[engine:junit-jupiter]/[class:com.takenoko.weather.RainyTest]/[nested-class:Apply]/[method:shouldReturnEmptyListWhenBambooIsNotGrowable()]
negated conditional → KILLED

18

1.1
Location : apply
Killed by : none
removed call to com/takenoko/engine/BotManager::displayMessage → SURVIVED

21

1.1
Location : apply
Killed by : com.takenoko.weather.RainyTest.[engine:junit-jupiter]/[class:com.takenoko.weather.RainyTest]/[nested-class:Apply]/[method:shouldReturnGrowBambooActionWhenBambooIsGrowable()]
replaced return value with Collections.emptyList for com/takenoko/weather/Rainy::apply → KILLED

26

1.1
Location : revert
Killed by : none
removed call to com/takenoko/engine/Board::resetWeather → TIMED_OUT

31

1.1
Location : toString
Killed by : none
replaced return value with "" for com/takenoko/weather/Rainy::toString → TIMED_OUT

Active mutators

Tests examined


Report generated by PIT 1.8.0