コード例 #1
0
        public void TestInitialSpyPlacement()
        {
            var env = TileLogic;

            env.GetTileLogic();
            var envDict  = env.GetTileTypes();
            var envTiles = new List <IEnvTile>();

            envDict[TileType.FreeTiles].ForEach(tile => envTiles.Add(tile));
            envDict[TileType.SpyTile].ForEach(tile => envTiles.Add(tile));
            envDict[TileType.GuardTiles].ForEach(tile => envTiles.Add(tile));

            IAgentTileConverter converter = new SpyAgentTileConverter(envTiles, _spyPredicate);

            var agentTiles = converter.GetAgentTiles();

            Assert.AreEqual(
                agentTiles.First(tile => tile.OccupiedByAgent).Coords,
                envDict[TileType.SpyTile][0].Coords
                );
        }
コード例 #2
0
        public void TestInitialGuardPlacement()
        {
            var env = TileLogic;

            env.GetTileLogic();
            var envDict  = env.GetTileTypes();
            var envTiles = new List <IEnvTile>();

            envDict[TileType.FreeTiles].ForEach(tile => envTiles.Add(tile));
            envDict[TileType.SpyTile].ForEach(tile => envTiles.Add(tile));
            envDict[TileType.GuardTiles].ForEach(tile => envTiles.Add(tile));

            IAgentTileConverter converter = new SpyAgentTileConverter(envTiles, _guardPredicate);

            var agentTiles = converter.GetAgentTiles();

            var guardAgentTiles = agentTiles
                                  .Where(tile => tile.OccupiedByAgent)
                                  .OrderBy(tile => tile.Coords.y).ToList();

            var orderedGuardTiles = envDict[TileType.GuardTiles].OrderBy(tile => tile.Coords.y).ToList();

            Assert.AreEqual(guardAgentTiles[0].Coords, orderedGuardTiles[0].Coords);
        }