public static KeyValuePair <string, double> GetPropOfMap(int seed) { var pattern = RandomArray(seed, width, height); string patternName = ArrayMapHelper.EncodeBase64(pattern); var result = ArrayMapHelper.GetStats(100, 100, tries, pattern); return(new KeyValuePair <string, double>(patternName, result.Average())); }
public void DecodeBase64Test() { ArrayMap <bool> arrayMap1 = ArrayMapHelper.DecodeBase64("X4Y4N000-AAA="); Assert.Equal(4, arrayMap1.Width); Assert.Equal(4, arrayMap1.Height); foreach (var pos in arrayMap1.Positions()) { Assert.False(arrayMap1[pos]); } }
public void TryGetFirstPatternMatchTest() { var map = new ArrayMap <bool>(20, 20); Assert.False(map[0, 0]); var pMap = new ArrayMap <bool>(20, 20); map[5, 5] = true; map[10, 10] = true; var pat1 = new ArrayMap <bool>(3, 3); pat1[0, 0] = false; pat1[1, 0] = false; pat1[2, 0] = false; pat1[0, 1] = false; pat1[1, 1] = true; pat1[2, 1] = false; pat1[0, 2] = false; pat1[1, 2] = false; pat1[2, 2] = false; Assert.True(ArrayMapHelper.TryGetFirstPatternMatch(map, pMap, pat1, out Coord startCoord1)); Assert.Equal(4, startCoord1.X); Assert.Equal(4, startCoord1.Y); pMap[4, 4] = true; pMap[5, 4] = true; pMap[6, 4] = true; pMap[4, 5] = true; pMap[5, 5] = true; pMap[6, 5] = true; pMap[4, 6] = true; pMap[5, 6] = true; pMap[6, 6] = true; Assert.True(ArrayMapHelper.TryGetFirstPatternMatch(map, pMap, pat1, out Coord startCoord2)); Assert.Equal(9, startCoord2.X); Assert.Equal(9, startCoord2.Y); }
public void RotateArrayMap() { ArrayMap <bool> arrayMap1 = new ArrayMap <bool>(4, 4); arrayMap1[0, 0] = true; Assert.True(arrayMap1[0, 0]); var arrayMap90deg1 = ArrayMapHelper.RotateArrayMap(arrayMap1, RotateType.DEG90); Assert.True(arrayMap90deg1[0, 3]); var arrayMap180deg1 = ArrayMapHelper.RotateArrayMap(arrayMap1, RotateType.DEG180); Assert.True(arrayMap180deg1[3, 3]); var arrayMap270deg1 = ArrayMapHelper.RotateArrayMap(arrayMap1, RotateType.DEG270); Assert.True(arrayMap270deg1[3, 0]); ArrayMap <bool> arrayMap2 = new ArrayMap <bool>(2, 3); arrayMap2[0, 0] = true; Assert.True(arrayMap2[0, 0]); var arrayMap90deg2 = ArrayMapHelper.RotateArrayMap(arrayMap2, RotateType.DEG90); Assert.True(arrayMap90deg2[0, 1]); var arrayMap180deg2 = ArrayMapHelper.RotateArrayMap(arrayMap2, RotateType.DEG180); Assert.True(arrayMap180deg2[1, 2]); var arrayMap270deg2 = ArrayMapHelper.RotateArrayMap(arrayMap2, RotateType.DEG270); Assert.True(arrayMap270deg2[2, 0]); }
public void EncodeBase64Test() { ArrayMap <bool> arrayMap1 = new ArrayMap <bool>(4, 4); Assert.Equal("X4Y4N000-AAA=", ArrayMapHelper.EncodeBase64(arrayMap1)); }