185 lines
7.5 KiB
C#
185 lines
7.5 KiB
C#
using Shogi.Domains.ValueObjects;
|
|
|
|
namespace UnitTests;
|
|
|
|
public class ShogiBoardStateShould
|
|
{
|
|
[Fact]
|
|
public void InitializeBoardState()
|
|
{
|
|
// Act
|
|
var board = BoardState.StandardStarting;
|
|
|
|
// Assert
|
|
Assert.Equal(WhichPiece.Lance, board["A1"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player1, board["A1"]!.Owner);
|
|
Assert.False(board["A1"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Knight, board["B1"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player1, board["B1"]!.Owner);
|
|
Assert.False(board["B1"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.SilverGeneral, board["C1"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player1, board["C1"]!.Owner);
|
|
Assert.False(board["C1"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.GoldGeneral, board["D1"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player1, board["D1"]!.Owner);
|
|
Assert.False(board["D1"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.King, board["E1"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player1, board["E1"]!.Owner);
|
|
Assert.False(board["E1"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.GoldGeneral, board["F1"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player1, board["F1"]!.Owner);
|
|
Assert.False(board["F1"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.SilverGeneral, board["G1"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player1, board["G1"]!.Owner);
|
|
Assert.False(board["G1"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Knight, board["H1"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player1, board["H1"]!.Owner);
|
|
Assert.False(board["H1"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Lance, board["I1"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player1, board["I1"]!.Owner);
|
|
Assert.False(board["I1"]!.IsPromoted);
|
|
|
|
Assert.Null(board["A2"]);
|
|
Assert.Equal(WhichPiece.Bishop, board["B2"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player1, board["B2"]!.Owner);
|
|
Assert.False(board["B2"]!.IsPromoted);
|
|
Assert.Null(board["C2"]);
|
|
Assert.Null(board["D2"]);
|
|
Assert.Null(board["E2"]);
|
|
Assert.Null(board["F2"]);
|
|
Assert.Null(board["G2"]);
|
|
Assert.Equal(WhichPiece.Rook, board["H2"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player1, board["H2"]!.Owner);
|
|
Assert.False(board["H2"]!.IsPromoted);
|
|
Assert.Null(board["I2"]);
|
|
|
|
Assert.Equal(WhichPiece.Pawn, board["A3"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player1, board["A3"]!.Owner);
|
|
Assert.False(board["A3"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Pawn, board["B3"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player1, board["B3"]!.Owner);
|
|
Assert.False(board["B3"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Pawn, board["C3"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player1, board["C3"]!.Owner);
|
|
Assert.False(board["C3"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Pawn, board["D3"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player1, board["D3"]!.Owner);
|
|
Assert.False(board["D3"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Pawn, board["E3"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player1, board["E3"]!.Owner);
|
|
Assert.False(board["E3"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Pawn, board["F3"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player1, board["F3"]!.Owner);
|
|
Assert.False(board["F3"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Pawn, board["G3"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player1, board["G3"]!.Owner);
|
|
Assert.False(board["G3"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Pawn, board["H3"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player1, board["H3"]!.Owner);
|
|
Assert.False(board["H3"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Pawn, board["I3"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player1, board["I3"]!.Owner);
|
|
Assert.False(board["I3"]!.IsPromoted);
|
|
|
|
Assert.Null(board["A4"]);
|
|
Assert.Null(board["B4"]);
|
|
Assert.Null(board["C4"]);
|
|
Assert.Null(board["D4"]);
|
|
Assert.Null(board["E4"]);
|
|
Assert.Null(board["F4"]);
|
|
Assert.Null(board["G4"]);
|
|
Assert.Null(board["H4"]);
|
|
Assert.Null(board["I4"]);
|
|
|
|
Assert.Null(board["A5"]);
|
|
Assert.Null(board["B5"]);
|
|
Assert.Null(board["C5"]);
|
|
Assert.Null(board["D5"]);
|
|
Assert.Null(board["E5"]);
|
|
Assert.Null(board["F5"]);
|
|
Assert.Null(board["G5"]);
|
|
Assert.Null(board["H5"]);
|
|
Assert.Null(board["I5"]);
|
|
|
|
Assert.Null(board["A6"]);
|
|
Assert.Null(board["B6"]);
|
|
Assert.Null(board["C6"]);
|
|
Assert.Null(board["D6"]);
|
|
Assert.Null(board["E6"]);
|
|
Assert.Null(board["F6"]);
|
|
Assert.Null(board["G6"]);
|
|
Assert.Null(board["H6"]);
|
|
Assert.Null(board["I6"]);
|
|
|
|
Assert.Equal(WhichPiece.Pawn, board["A7"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player2, board["A7"]!.Owner);
|
|
Assert.False(board["A7"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Pawn, board["B7"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player2, board["B7"]!.Owner);
|
|
Assert.False(board["B7"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Pawn, board["C7"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player2, board["C7"]!.Owner);
|
|
Assert.False(board["C7"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Pawn, board["D7"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player2, board["D7"]!.Owner);
|
|
Assert.False(board["D7"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Pawn, board["E7"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player2, board["E7"]!.Owner);
|
|
Assert.False(board["E7"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Pawn, board["F7"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player2, board["F7"]!.Owner);
|
|
Assert.False(board["F7"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Pawn, board["G7"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player2, board["G7"]!.Owner);
|
|
Assert.False(board["G7"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Pawn, board["H7"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player2, board["H7"]!.Owner);
|
|
Assert.False(board["H7"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Pawn, board["I7"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player2, board["I7"]!.Owner);
|
|
Assert.False(board["I7"]!.IsPromoted);
|
|
|
|
Assert.Null(board["A8"]);
|
|
Assert.Equal(WhichPiece.Rook, board["B8"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player2, board["B8"]!.Owner);
|
|
Assert.False(board["B8"]!.IsPromoted);
|
|
Assert.Null(board["C8"]);
|
|
Assert.Null(board["D8"]);
|
|
Assert.Null(board["E8"]);
|
|
Assert.Null(board["F8"]);
|
|
Assert.Null(board["G8"]);
|
|
Assert.Equal(WhichPiece.Bishop, board["H8"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player2, board["H8"]!.Owner);
|
|
Assert.False(board["H8"]!.IsPromoted);
|
|
Assert.Null(board["I8"]);
|
|
|
|
Assert.Equal(WhichPiece.Lance, board["A9"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player2, board["A9"]!.Owner);
|
|
Assert.False(board["A9"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Knight, board["B9"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player2, board["B9"]!.Owner);
|
|
Assert.False(board["B9"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.SilverGeneral, board["C9"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player2, board["C9"]!.Owner);
|
|
Assert.False(board["C9"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.GoldGeneral, board["D9"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player2, board["D9"]!.Owner);
|
|
Assert.False(board["D9"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.King, board["E9"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player2, board["E9"]!.Owner);
|
|
Assert.False(board["E9"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.GoldGeneral, board["F9"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player2, board["F9"]!.Owner);
|
|
Assert.False(board["F9"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.SilverGeneral, board["G9"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player2, board["G9"]!.Owner);
|
|
Assert.False(board["G9"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Knight, board["H9"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player2, board["H9"]!.Owner);
|
|
Assert.False(board["H9"]!.IsPromoted);
|
|
Assert.Equal(WhichPiece.Lance, board["I9"]!.WhichPiece);
|
|
Assert.Equal(WhichPlayer.Player2, board["I9"]!.Owner);
|
|
Assert.False(board["I9"]!.IsPromoted);
|
|
}
|
|
}
|