import org.junit.Test;
import java.util.Arrays;
import java.util.List;
import static org.junit.Assert.*;
public class PaintBooleanMatrixTest {
private final Boolean w = true;
private final Boolean b = false;
private List<List<Boolean>> expected;
private List<List<Boolean>> A;
private int x;
private int y;
@Test
public void flipColor1() throws Exception {
expected = Arrays.asList(
Arrays.asList(b,w,b,w,w,w,b,b,b,b),
Arrays.asList(w,w,b,w,w,b,w,w,b,b),
Arrays.asList(b,b,b,w,w,b,b,w,b,b),
Arrays.asList(w,b,w,b,b,b,b,w,b,w),
Arrays.asList(b,b,b,b,b,b,b,b,w,w),
Arrays.asList(b,b,b,b,b,b,b,b,b,b),
Arrays.asList(b,b,b,b,b,b,b,w,w,b),
Arrays.asList(b,b,b,b,b,b,b,w,w,w),
Arrays.asList(b,b,b,b,b,b,b,b,b,b),
Arrays.asList(b,b,b,b,b,b,b,b,b,w)
);
A = Arrays.asList(
Arrays.asList(b,w,b,w,w,w,b,b,b,b),
Arrays.asList(w,w,b,w,w,b,w,w,b,b),
Arrays.asList(b,b,b,w,w,b,b,w,b,b),
Arrays.asList(w,b,w,b,b,b,b,w,b,w),
Arrays.asList(b,w,b,w,w,w,w,b,w,w),
Arrays.asList(b,w,b,w,w,b,w,b,b,b),
Arrays.asList(w,w,w,w,b,w,b,w,w,b),
Arrays.asList(b,w,b,w,b,w,b,w,w,w),
Arrays.asList(b,w,b,b,w,w,w,b,b,b),
Arrays.asList(w,w,w,w,w,w,w,b,b,w)
);
x = 5;
y = 4;
test(expected, A, x, y);
}
@Test
public void flipColor2() throws Exception {
expected = Arrays.asList(
Arrays.asList(b,w,w,w,w,w,b,b,b,b),
Arrays.asList(w,w,w,w,w,w,w,w,b,b),
Arrays.asList(w,w,w,w,w,w,w,w,b,b),
Arrays.asList(w,w,w,w,w,w,w,w,b,w),
Arrays.asList(w,w,w,w,w,w,w,w,w,w),
Arrays.asList(w,w,w,w,w,w,w,w,w,w),
Arrays.asList(w,w,w,w,w,w,w,w,w,w),
Arrays.asList(w,w,w,w,w,w,w,w,w,w),
Arrays.asList(w,w,w,w,w,w,w,w,w,w),
Arrays.asList(w,w,w,w,w,w,w,w,w,w)
);
A = Arrays.asList(
Arrays.asList(b,w,b,w,w,w,b,b,b,b),
Arrays.asList(w,w,b,w,w,b,w,w,b,b),
Arrays.asList(b,b,b,w,w,b,b,w,b,b),
Arrays.asList(w,b,w,b,b,b,b,w,b,w),
Arrays.asList(b,b,b,b,b,b,b,b,w,w),
Arrays.asList(b,b,b,b,b,b,b,b,b,b),
Arrays.asList(b,b,b,b,b,b,b,w,w,b),
Arrays.asList(b,b,b,b,b,b,b,w,w,w),
Arrays.asList(b,b,b,b,b,b,b,b,b,b),
Arrays.asList(b,b,b,b,b,b,b,b,b,w)
);
x = 3;
y = 6;
test(expected, A, x, y);
}
private void test(List<List<Boolean>> expected, List<List<Boolean>> A, int x, int y) {
PaintBooleanMatrix.flipColor(A, x, y);
assertEquals(expected, A);
}
}