public void ChessEngine_Publish_List_Of_Both_Players_Pieces() { // Arrange: Mock<IPlayer> whitePlayerMock = new Mock<IPlayer>(); Mock<IPlayer> blackPlayerMock = new Mock<IPlayer>(); chess = new ChessEngine( new Board(), whitePlayerMock.Object, blackPlayerMock.Object, new ConfigChess() ); ArrayList whitePieces = new ArrayList(); whitePieces.Add( "White_Piece_A_Info" ); whitePieces.Add( "White_Piece_B_Info" ); whitePlayerMock.Setup( x => x.ListPieces() ).Returns( whitePieces ); ArrayList blackPieces = new ArrayList(); blackPieces.Add( "Black_Piece_A_Info" ); blackPieces.Add( "Black_Piece_B_Info" ); blackPlayerMock.Setup( x => x.ListPieces() ).Returns( blackPieces ); // Act: ArrayList setPieces = chess.GetChessPieces(); // Assert: ArrayList expectedList = new ArrayList( whitePieces ); expectedList.AddRange( blackPieces ); Assert.AreEqual( setPieces, expectedList, "Both player pieces are returned" ); }