MixedColorsDiamond.java

1
package com.takenoko.shape;
2
3
import com.takenoko.layers.tile.Tile;
4
import com.takenoko.layers.tile.TileColor;
5
import com.takenoko.vector.PositionVector;
6
import java.util.List;
7
import org.apache.commons.lang3.tuple.Pair;
8
9
/** Build a mixed color Diamond pattern */
10
public class MixedColorsDiamond extends Pattern {
11
12
    public MixedColorsDiamond(TileColor tileColor) {
13
        super(
14
                switch (tileColor) {
15
                    case PINK -> List.of(
16
                            Pair.of(new PositionVector(0, 0, 0), new Tile(TileColor.PINK)),
17
                            Pair.of(new PositionVector(1, 0, -1), new Tile(TileColor.YELLOW)),
18
                            Pair.of(new PositionVector(0, 1, -1), new Tile(TileColor.PINK)),
19
                            Pair.of(new PositionVector(-1, 1, 0), new Tile(TileColor.YELLOW)));
20
                    case GREEN -> List.of(
21
                            Pair.of(new PositionVector(0, 0, 0), new Tile(TileColor.GREEN)),
22
                            Pair.of(new PositionVector(1, 0, -1), new Tile(TileColor.PINK)),
23
                            Pair.of(new PositionVector(0, 1, -1), new Tile(TileColor.GREEN)),
24
                            Pair.of(new PositionVector(-1, 1, 0), new Tile(TileColor.PINK)));
25
                    case YELLOW -> List.of(
26
                            Pair.of(new PositionVector(0, 0, 0), new Tile(TileColor.YELLOW)),
27
                            Pair.of(new PositionVector(1, 0, -1), new Tile(TileColor.GREEN)),
28
                            Pair.of(new PositionVector(0, 1, -1), new Tile(TileColor.YELLOW)),
29
                            Pair.of(new PositionVector(-1, 1, 0), new Tile(TileColor.GREEN)));
30
                    default -> throw new IllegalArgumentException("Unexpected value: " + tileColor);
31
                });
32
    }
33
34
    @Override
35
    public String toString() {
36 1 1. toString : replaced return value with "" for com/takenoko/shape/MixedColorsDiamond::toString → TIMED_OUT
        return "MixedColorsDiamond{" + this.getColorsString() + "}";
37
    }
38
}

Mutations

36

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

Active mutators

Tests examined


Report generated by PIT 1.8.0