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