コード例 #1
0
ファイル: CommandFactory.cs プロジェクト: Corne/VOC
 public BuildEstablishmentCommand NewBuildEstablishment(IPlayer player, int x, int y, VertexTileSide side)
 {
     var board = scope.Resolve<IBoard>();
     var vertex = board.FindVertex(x, y, side);
     if (vertex == null)
         throw new ArgumentException($"No vertex found for given coordinates (x: {x}, y: {y}, side: {side}");
     return new BuildEstablishmentCommand(player, board, vertex);
 }
コード例 #2
0
ファイル: VertextTest.cs プロジェクト: Corne/VOC
        public void IsAdjacentToTileWithSameXY(int x, int y, VertexTileSide side)
        {
            var tile = new Mock<ITile>();
            tile.Setup(t => t.X).Returns(x);
            tile.Setup(t => t.Y).Returns(y);

            var vertex = new Vertex(x, y, side);
            Assert.True(vertex.IsAdjacentTo(tile.Object));
        }
コード例 #3
0
ファイル: TileTest.cs プロジェクト: Corne/VOC
        public void IsAdjacentToBottomVertex(int x, int y, int vertexX, int vertexY, VertexTileSide side, bool expected)
        {
            var vertex = new Mock<IVertex>();
            vertex.Setup(i => i.X).Returns(vertexX);
            vertex.Setup(i => i.Y).Returns(vertexY);
            vertex.Setup(v => v.Side).Returns(side);

            var tile = new Tile(x, y, 5, MaterialType.Ore);
            bool result = tile.IsAdjacentTo(vertex.Object);

            Assert.True(result == expected, $"Result: {result}, Expected: {expected}\nTile(X: {x}, Y: {y}); Vertex(X: {vertexX}, Y: {vertexY}");
        }
コード例 #4
0
ファイル: EdgeTest.cs プロジェクト: Corne/VOC
        public void TestVertexAdjacetnCaseEast(int edgeX, int edgeY, int inputX, int inputY, VertexTileSide tileSide, bool expected)
        {
            var vertex = new Mock<IVertex>();
            vertex.Setup(t => t.X).Returns(inputX);
            vertex.Setup(t => t.Y).Returns(inputY);
            vertex.Setup(t => t.Side).Returns(tileSide);

            var edge = new Edge(edgeX, edgeY, EdgeSide.East);
            bool result = edge.IsAdjacentTo(vertex.Object);

            Assert.True(result == expected, $"Result: {result}, Expected: {expected}\nEdge(X: {edgeX}, Y: {edgeY}, East); Vertex(X: {inputX}, Y: {inputY}, {tileSide})");
        }
コード例 #5
0
ファイル: VertextTest.cs プロジェクト: Corne/VOC
        public void IsAdjacentToVertexCaseRight(int vertexX, int vertexY, int inputX, int inputY, VertexTileSide inputSide, bool expected)
        {
            var input = new Mock<IVertex>();
            input.Setup(v => v.X).Returns(inputX);
            input.Setup(v => v.Y).Returns(inputY);
            input.Setup(v => v.Side).Returns(inputSide);

            var vertex = new Vertex(vertexX, vertexY, VertexTileSide.Right);
            bool result = vertex.IsAdjacentTo(input.Object);

            Assert.True(result == expected, $"Result: {result}, Expected: {expected}\nVertext(X: {vertexX}, Y: {vertexY}, Right); Vertex(X: {inputX}, Y: {inputY}, Side: {inputSide}");
        }
コード例 #6
0
ファイル: Vertex.cs プロジェクト: Corne/VOC
 public Vertex(int x, int y, VertexTileSide side)
 {
     X = x;
     Y = y;
     Side = side;
 }
コード例 #7
0
ファイル: Board.cs プロジェクト: Corne/VOC
 public IVertex FindVertex(int x, int y, VertexTileSide side)
 {
     return Vertices.SingleOrDefault(v => v.X == x && v.Y == y && v.Side == side);
 }