public void NewDefaultMapChunkGridTest()
        {
            var defaultGrid = new MapChunkGrid();

            Assert.Equal(MapRegion.DefaultTitle, defaultGrid.Title);
            Assert.Equal(MapRegion.DefaultColor, defaultGrid.Background);
        }
        public void NewNullMapChunkGridTest()
        {
            var nulledGrid = new MapChunkGrid(null);

            Assert.Equal(MapRegion.DefaultTitle, nulledGrid.Title);
            Assert.Equal(MapRegion.DefaultColor, nulledGrid.Background);
        }
        public void DeserializingNullFailsTest()
        {
            var result = MapChunkGrid.TryDeserializeFromString(null, out var mapGridResults);

            Assert.Null(mapGridResults);
            Assert.False(result);
        }
        public void GetChunkFailsOnInvalidPositionTest()
        {
            var grid = new MapChunkGrid();

            var chunkData = grid.GetChunk(invalidPosition);

            Assert.Null(chunkData);
        }
        public void SetChunkFailsOnInvalidPositionTest()
        {
            var grid = new MapChunkGrid();

            var wasSet = grid.SetChunk(ChunkType.Handmade, ChunkOrientation.EastWest, invalidPosition);

            Assert.False(wasSet);
        }
        public void DeserializingKnownGoodStringSucceedsTest()
        {
            var result = MapChunkGrid.TryDeserializeFromString(SerializedMapChunkGridsForTest.KnownGoodString,
                                                               out var mapChunkGridResults);

            Assert.NotNull(mapChunkGridResults);
            Assert.True(result);
        }
        public void DeserializingKnownBadStringFailsTest()
        {
            var result = MapChunkGrid.TryDeserializeFromString(SerializedMapChunkGridsForTest.NonJsonString,
                                                               out var mapChunkGridResults);

            Assert.Null(mapChunkGridResults);
            Assert.False(result);
        }
        public void DeserializingUnsupportedVersionFailsTest()
        {
            var result = MapChunkGrid.TryDeserializeFromString(SerializedMapChunkGridsForTest.UnsupportedVersionString,
                                                               out var mapChunkGridResults);

            Assert.Null(mapChunkGridResults);
            Assert.False(result);
        }
        public void SerializingKnownMapProducesKnownStringTest()
        {
            var grid = new MapChunkGrid(false).FillTestPattern();

            var result = grid.SerializeToString();

            Assert.Equal(SerializedMapChunkGridsForTest.KnownGoodString, result);
        }
        public void NewCustomMapChunkGridTest()
        {
            var customRegion = new MapChunkGrid(testTitle, testColor, testElevation, testID);

            Assert.Equal(testTitle, customRegion.Title);
            Assert.Equal(testColor, customRegion.Background);
            Assert.Equal(testElevation, customRegion.GlobalElevation);
            Assert.Equal(testID, customRegion.RegionID);
        }
        public void SetChunkSucceedsOnOriginPositionTest()
        {
            var grid             = new MapChunkGrid();
            var chunkType        = ChunkType.Handmade;
            var chunkOrientation = ChunkOrientation.EastWest;

            var wasSet = grid.SetChunk(chunkType, chunkOrientation, Vector2Int.ZeroVector);

            Assert.True(wasSet);
        }
        public void GetChunkSucceedsOnOriginPositionTest()
        {
            var grid             = new MapChunkGrid();
            var chunkType        = ChunkType.Handmade;
            var chunkOrientation = ChunkOrientation.EastWest;

            var wasSet = grid.SetChunk(chunkType, chunkOrientation, Vector2Int.ZeroVector);

            var chunkData = grid.GetChunk(Vector2Int.ZeroVector).GetValueOrDefault();

            Assert.True(wasSet);
            Assert.Equal(chunkData.type, chunkType);
            Assert.Equal(chunkData.orientation, chunkOrientation);
        }
Esempio n. 13
0
        /// <summary>Fills the chunk grid with a test pattern.</summary>
        public static MapChunkGrid FillTestPattern(this MapChunkGrid in_mapChunkGrid)
        {
            for (var y = 0; y < All.Dimensions.ChunksPerRegion; y++)
            {
                for (var x = 0; x < All.Dimensions.ChunksPerRegion; x++)
                {
                    in_mapChunkGrid.SetChunk(ChunkType.GrassyField, ChunkOrientation.None, new Vector2Int(x, y));
                }
            }

            in_mapChunkGrid.SetChunk(ChunkType.SandyLake, ChunkOrientation.None, new Vector2Int(1, 1));
            in_mapChunkGrid.SetChunk(ChunkType.IcyCave, ChunkOrientation.EastWest, new Vector2Int(2, 2));
            in_mapChunkGrid.SetChunk(ChunkType.IcyCave, ChunkOrientation.NorthSouth, new Vector2Int(3, 2));
            in_mapChunkGrid.SetChunk(ChunkType.IcyCave, ChunkOrientation.NorthWest, new Vector2Int(4, 2));

            return(in_mapChunkGrid);
        }