CS代考 package comp1110.exam;

package comp1110.exam;

import org.junit.FixMethodOrder;
import org.junit.Rule;

Copyright By PowCoder代写 加微信 powcoder

import org.junit.Test;
import org.junit.rules.Timeout;
import org.junit.runners.MethodSorters;

import static org.junit.Assert.assertTrue;

@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class Q1BishopTest {
public Timeout globalTimeout = Timeout.millis(1000);

static String board = “.oo.oooo.o..o…..o………………o………..*.*….*.**.*..”;

public void testNone() {
test(board, “c8”, -1);
test(board, “a8”, -1);

public void testOne() {
test(“………o…….*.*oo.oo.*.*.*……..*.o….*……..o….o.*.”, “b3”, 1);
// a b c d e f g h
// 8 . . . . o . * .
// 7 . . . . . . . o
// 6 . o . . . . * .
// 5 . . . . . . . *
// 4 o . * . * . * .
// 3 . * . * o o . o
// 2 . o . . . . . .
// 1 . . . . . . . .

test(“……..o….*……o…*.*.*o*…..oo..**.*o………o….o….”, “f2”, 1);
// a b c d e f g h
// 8 . . . o . . . .
// 7 . . . . . . o .
// 6 * * . * o . . .
// 5 . . . . o o . .
// 4 * . * . * o * .
// 3 . . . . o . . .
// 2 o . . . . * . .
// 1 . . . . . . . .

test(“.*..o.o…o..*.*…o………*o*……*..*…..o.o…*.o……..”, “b1”, 1);
// a b c d e f g h
// 8 . . . . . . . .
// 7 . o . . . * . o
// 6 . * . . . . . o
// 5 . . . . . . * .
// 4 . . . . . * o *
// 3 . . . o . . . .
// 2 . . o . . * . *
// 1 . * . . o . o .

test(“…*……………o.*o.o*.*.o.o…*o*o…………..*…….*o.”, “d1”, 1);
// a b c d e f g h
// 8 . . . . . * o .
// 7 . . . . . * . .
// 6 . . . . . . . .
// 5 . . . * o * o .
// 4 o * . * . o . o
// 3 . . . o . * o .
// 2 . . . . . . . .
// 1 . . . * . . . .

test(“……*……..*.*..o…..*.o.o.o…..**o….*……oo…*….o.”, “g1”, 1);
// a b c d e f g h
// 8 . * . . . . o .
// 7 . . . . o o . .
// 6 o . . . . * . .
// 5 o . . . . . * *
// 4 . . * . o . o .
// 3 . * . . o . . .
// 2 . . . . . . . *
// 1 . . . . . . * .

public void testTwo() {
test(“o**.*…….o….o……o*.*.*…..o….o…*….o*…..o…….”, “b1”, 2);
// a b c d e f g h
// 8 o . . . . . . .
// 7 . o * . . . . .
// 6 o . . . * . . .
// 5 . . . o . . . .
// 4 o * . * . * . .
// 3 . o . . . . . .
// 2 . . . . o . . .
// 1 o * * . * . . .

test(“o…*.*….*…o…oo*…………….o*..o…*.o.*………*..o”, “e1”, 2);
// a b c d e f g h
// 8 . . . . * . . o
// 7 o . * . . . . .
// 6 . . o . . . * .
// 5 . . . . . . o *
// 4 . . . . . . . .
// 3 . . . o o * . .
// 2 . . . * . . . o
// 1 o . . . * . * .

test(“o.*..*o………..o*……*.o…*o.o………o.*….*o…….*..”, “c1”, 2);
// a b c d e f g h
// 8 . . . . . * . .
// 7 . . . . * o . .
// 6 . . . . . o . *
// 5 * o . o . . . .
// 4 . . * . o . . .
// 3 . . o * . . . .
// 2 . . . . . . . .
// 1 o . * . . * o .

test(“.o.oo*..o……….*o….*…….**..*..*.o………*….o.o….”, “f1”, 2);
// a b c d e f g h
// 8 . o . o . . . .
// 7 . . . . * . . .
// 6 * . o . . . . .
// 5 . * * . . * . .
// 4 . * . . . . . .
// 3 . . . * o . . .
// 2 o . . . . . . .
// 1 . o . o o * . .

test(“.*….o.*…..o.**…..oo…*oo..o……..*…o…..*……….*”, “b1”, 2);
// a b c d e f g h
// 8 . . . . . . . *
// 7 . . . . * . . .
// 6 . . * . . . o .
// 5 . o . . . . . .
// 4 o . . . * o o .
// 3 * * . . . . . o
// 2 * . . . . . o .
// 1 . * . . . . o .

public void testThree() {
test(“*o….o……oo…..*……………*.o.*.*.o.o…*………o**.”, “a1”, 3);
// a b c d e f g h
// 8 . . . . o * * .
// 7 . . * . . . . .
// 6 * . * . o . o .
// 5 . . . . * . o .
// 4 . . . . . . . .
// 3 . . . . * . . .
// 2 . . . . . o o .
// 1 * o . . . . o .

test(“…*..*…..*…..**..o….o..*…..oo*……..oo…….o…*o..”, “d1”, 3);
// a b c d e f g h
// 8 o . . . * o . .
// 7 o . . . . . . .
// 6 . . . . . . . o
// 5 . . . . o o * .
// 4 . . . o . . * .
// 3 . . * * . . o .
// 2 . . . . * . . .
// 1 . . . * . . * .

test(“……..o..*..*….*….o..*…*.*…..o…..*…o*….o…oo..o”, “d2”, 3);
// a b c d e f g h
// 8 . . . o o . . o
// 7 . o * . . . . o
// 6 . . . . . * . .
// 5 . * . . . . . o
// 4 o . . * . . . *
// 3 . . . * . . . .
// 2 o . . * . . * .
// 1 . . . . . . . .

test(“*..**o…..o……*.*.o….o…..o.*….o….*……….o…..*o”, “a1”, 3);
// a b c d e f g h
// 8 o . . . . . * o
// 7 . . . . . . . .
// 6 o . . . . * . .
// 5 . o . * . . . .
// 4 . . . o . . . .
// 3 . . * . * . o .
// 2 . . . o . . . .
// 1 * . . * * o . .

test(“………*..*..*.o.*..**……o………..o..*o.*….oo…oo….”, “b2”, 3);
// a b c d e f g h
// 8 . . o o . . . .
// 7 * . . . . o o .
// 6 . . o . . * o .
// 5 . . . . . . . .
// 4 . . . . . . o .
// 3 . o . * . . * *
// 2 . * . . * . . *
// 1 . . . . . . . .

public void testFour() {
test(“…..*..oo..*..o…..*…..*oo.*o.*..*………*…o……..o…”, “f1”, 4);
// a b c d e f g h
// 8 . . . . o . . .
// 7 . . . o . . . .
// 6 . . . . . . . *
// 5 o . * . . * . .
// 4 . . . * o o . *
// 3 . . . . . * . .
// 2 o o . . * . . o
// 1 . . . . . * . .

test(“*..o…*…..*..*.*..o…..**……..o.o……*.o…o.o……..o”, “a1”, 4);
// a b c d e f g h
// 8 . . . . . . . o
// 7 o . . . o . o .
// 6 . . . . . . * .
// 5 . . . . . o . o
// 4 . . . * * . . .
// 3 * . * . . o . .
// 2 . . . . . * . .
// 1 * . . o . . . *

test(“…….*o.*..o….o.*…………..*………o..o.*.*.**o..o…o”, “h1”, 4);
// a b c d e f g h
// 8 o . . o . . . o
// 7 o . * . * . * *
// 6 . . . . . o . .
// 5 . . . * . . . .
// 4 . . . . . . . .
// 3 . . o . * . . .
// 2 o . * . . o . .
// 1 . . . . . . . *

test(“…oo..*oo……o..*.*…..*…o*o*…………………*o*…..”, “h1”, 4);
// a b c d e f g h
// 8 * o * . . . . .
// 7 . . . . . . . .
// 6 . . . . . . . .
// 5 * o * . . . . .
// 4 . . . * . . . o
// 3 o . . * . * . .
// 2 o o . . . . . .
// 1 . . . o o . . *

test(“..o…**.oo………*o*..*o*………………….*.*o.o….o…”, “g1”, 4);
// a b c d e f g h
// 8 . . . . o . . .
// 7 . . * . * o . o
// 6 . . . . . . . .
// 5 . . . . . . . .
// 4 . * o * . . . .
// 3 . . . . * o * .
// 2 . o o . . . . .
// 1 . . o . . . * *

private void test(String b, String s, int e) {
int r = Q1Bishop.blackBishopMoves(b, s);

assertTrue(“For board \””+b+”\” and start position \””+s+”\”, expected ‘”+e+”‘ but got ‘”+r+”‘”+”\n”+ Q1Bishop.pretty(b), e == r);

程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com