public static void InitializeChipsTestB( MapSizeWidth width, MapSizeHeight height) { var instance = new MapChipList(); var errorOccured = false; try { instance.InitializeChips(width, height); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生しないこと Assert.IsFalse(errorOccured); // 件数が意図した値と一致すること Assert.AreEqual(instance.Width, width); Assert.AreEqual(instance.Height, height); // すべての要素がデフォルト値で初期化されていること foreach (var columns in instance) { foreach (var chip in columns) { Assert.AreEqual(chip, MapChip.Default); } } }
public static void ConstructorTestB(MapSizeWidth width, MapSizeHeight height) { MapChipList instance = null; var errorOccured = false; try { instance = new MapChipList(width, height); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生しないこと Assert.IsFalse(errorOccured); // 件数が一致すること Assert.AreEqual(instance.Count, width.ToInt()); foreach (var columns in instance) { Assert.AreEqual(columns.Count, height.ToInt()); } }
public static void SerializeTest() { var chips = MakeMapChipList(30, false, 40); var target = new MapChipList(chips); var clone = DeepCloner.DeepClone(target); Assert.IsTrue(clone.Equals(target)); }
public static void GetMinCapacityTest() { var instance = new MapChipList(); var maxCapacity = instance.GetMinCapacity(); // 取得した値が容量最大値と一致すること Assert.AreEqual(maxCapacity, MapChipList.MinCapacity); }
public static void ConstructorTestA() { MapChipList instance = null; var errorOccured = false; try { instance = new MapChipList(); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生しないこと Assert.IsFalse(errorOccured); // 件数が20件であること Assert.AreEqual(instance.Count, 20); }
public static void ConstructorTestC(int initWidth, bool hasNullInWidth, int initHeight, bool isError) { MapChipList instance = null; var chips = MakeMapChipList(initWidth, hasNullInWidth, initHeight); var errorOccured = false; try { instance = new MapChipList(chips); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーフラグが一致すること Assert.AreEqual(errorOccured, isError); if (errorOccured) { return; } Assert.NotNull(instance); // 件数が一致すること Assert.AreEqual(instance.Count, initWidth); foreach (var columns in instance) { Assert.AreEqual(columns.Count, initHeight); } }
public static void UpdateSizeTest() { var instance = new MapChipList(GenerateTestChipsData(20, 20)); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var width = (MapSizeWidth)30; var height = (MapSizeHeight)24; var errorOccured = false; try { instance.UpdateSize(width, height); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生しないこと Assert.IsFalse(errorOccured); // サイズが変化していること Assert.AreEqual(instance.Width, width); Assert.AreEqual(instance.Height, height); // 意図したとおりプロパティ変更通知が発火していること Assert.AreEqual(changedPropertyList.Count, 4); Assert.IsTrue(changedPropertyList[0].Equals(nameof(instance.Count))); Assert.IsTrue(changedPropertyList[1].Equals(ListConstant.IndexerName)); Assert.IsTrue(changedPropertyList[2].Equals(nameof(Layer.Width))); Assert.IsTrue(changedPropertyList[3].Equals(nameof(Layer.Height))); }
public static void UpdateHeightTest(int initWidth, int initHeight, MapSizeHeight height) { var chips = MakeMapChipList(initWidth, false, initHeight); var instance = new MapChipList(chips); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var changedCollectionList = new List <NotifyCollectionChangedEventArgs>(); instance.CollectionChanged += (sender, args) => { changedCollectionList.Add(args); }; var changedColumnsPropertyList = new List <string>(); var changedColumnsCollectionList = new List <NotifyCollectionChangedEventArgs>(); instance.ForEach(column => { column.PropertyChanged += (sender, args) => { changedColumnsPropertyList.Add(args.PropertyName); }; column.CollectionChanged += (sender, args) => { changedColumnsCollectionList.Add(args); }; }); var errorOccured = false; try { instance.UpdateHeight(height); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生しないこと Assert.IsFalse(errorOccured); // 件数が意図した値と一致すること Assert.AreEqual(instance.Width.ToInt(), initWidth); Assert.AreEqual(instance.Height, height); var notChangedLength = initHeight < height ? initHeight : height.ToInt(); for (var i = 0; i < instance.Width; i++) { var j = 0; // 操作しなかった項目がもとの値のままであること for (; j < notChangedLength; j++) { Assert.AreEqual(instance[i][j], MakeMapChip(i, j)); } // 新たに追加された項目がデフォルト値であること for (; j < instance.Height; j++) { Assert.AreEqual(instance[i][j], MapChip.Default); } } // 意図したとおりプロパティ変更通知が発火していること Assert.AreEqual(changedPropertyList.Count, 1); Assert.IsTrue(changedPropertyList[0].Equals(nameof(MapChipList.Height))); Assert.AreEqual(changedCollectionList.Count, 0); Assert.AreEqual(changedColumnsPropertyList.Count, initWidth * 2); for (var i = 0; i < initWidth; i++) { Assert.IsTrue(changedColumnsPropertyList[2 * i].Equals(nameof(IFixedLengthMapChipColumns.Count))); Assert.IsTrue(changedColumnsPropertyList[2 * i + 1].Equals(ListConstant.IndexerName)); } if (initHeight == height) { Assert.AreEqual(changedColumnsCollectionList.Count, 0); } else { Assert.AreEqual(changedColumnsCollectionList.Count, initWidth); if (initHeight > height) { for (var i = 0; i < initWidth; i++) { Assert.IsTrue(changedColumnsCollectionList[i].Action == NotifyCollectionChangedAction.Remove); Assert.IsTrue(changedColumnsCollectionList[i].OldStartingIndex == height); Assert.IsTrue(changedColumnsCollectionList[i].OldItems.Count == initHeight - height); Assert.IsTrue(changedColumnsCollectionList[i].NewStartingIndex == -1); Assert.IsTrue(changedColumnsCollectionList[i].NewItems == null); } } else { for (var i = 0; i < initWidth; i++) { Assert.IsTrue(changedColumnsCollectionList[i].Action == NotifyCollectionChangedAction.Add); Assert.IsTrue(changedColumnsCollectionList[i].OldStartingIndex == -1); Assert.IsTrue(changedColumnsCollectionList[i].OldItems == null); Assert.IsTrue(changedColumnsCollectionList[i].NewStartingIndex == initHeight); Assert.IsTrue(changedColumnsCollectionList[i].NewItems.Count == height - initHeight); } } } }