public static void ConstructorTestB(MapSizeHeight height) { MapChipColumns instance = null; var errorOccured = false; try { instance = new MapChipColumns(height); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生しないこと Assert.IsFalse(errorOccured); // 件数が一致すること Assert.AreEqual(instance.Count, height.ToInt()); // すべての要素がデフォルト値で初期化されていること foreach (var chip in instance) { Assert.AreEqual(chip, MapChip.Default); } }
public static void InitializeChipsTestA() { var instance = new MapChipColumns(); var beforeCount = instance.Count; var errorOccured = false; try { instance.InitializeChips(); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生しないこと Assert.IsFalse(errorOccured); // 件数が変化していないこと Assert.AreEqual(instance.Count, beforeCount); // すべての要素がデフォルト値で初期化されていること foreach (var chip in instance) { Assert.AreEqual(chip, MapChip.Default); } }
public static void GetMinCapacityTest() { var instance = new MapChipColumns(); var maxCapacity = instance.GetMinCapacity(); // 取得した値が容量最大値と一致すること Assert.AreEqual(maxCapacity, MapChipColumns.MinCapacity); }
public static void SerializeTest() { var target = new MapChipColumns { [3] = 10, }; var changedPropertyList = new List <string>(); target.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var clone = DeepCloner.DeepClone(target); Assert.IsTrue(clone.Equals(target)); // プロパティ変更通知が発火していないこと Assert.AreEqual(changedPropertyList.Count, 0); }
public static void ConstructorTestA() { MapChipColumns instance = null; var errorOccured = false; try { instance = new MapChipColumns(); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生しないこと Assert.IsFalse(errorOccured); // 件数が15件であること Assert.AreEqual(instance.Count, 15); }
public static void ConstructorTestC(int initLength, bool isError) { MapChipColumns instance = null; var chips = MakeMapChipList(initLength); var errorOccured = false; try { instance = new MapChipColumns(chips); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーフラグが一致すること Assert.AreEqual(errorOccured, isError); if (errorOccured) { return; } Assert.NotNull(instance); // 件数が一致すること Assert.AreEqual(instance.Count, initLength); // すべての要素がセットした値になっていること for (var i = 0; i < instance.Count; i++) { Assert.AreEqual(instance[i], MakeMapChip(i)); } }
public static void UpdateSizeTest(int initLength, MapSizeHeight height) { var chips = MakeMapChipList(initLength); var instance = new MapChipColumns(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 errorOccured = false; try { instance.UpdateSize(height); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生しないこと Assert.IsFalse(errorOccured); // 件数が意図した値と一致すること Assert.AreEqual(instance.Count, height.ToInt()); var notChangedLength = initLength < height ? initLength : height.ToInt(); var i = 0; // 操作しなかった項目がもとの値のままであること for (; i < notChangedLength; i++) { Assert.AreEqual(instance[i], MakeMapChip(i)); } // 新たに追加された項目がデフォルト値であること for (; i < instance.Count; i++) { Assert.AreEqual(instance[i], MapChip.Default); } // 意図したとおりプロパティ変更通知が発火していること Assert.AreEqual(changedPropertyList.Count, 2); Assert.IsTrue(changedPropertyList[0].Equals(nameof(MapChipColumns.Count))); Assert.IsTrue(changedPropertyList[1].Equals(ListConstant.IndexerName)); if (initLength > height) { Assert.AreEqual(changedCollectionList.Count, 1); Assert.IsTrue(changedCollectionList[0].Action == NotifyCollectionChangedAction.Remove); } else if (initLength == height) { Assert.AreEqual(changedCollectionList.Count, 0); } else { // initLength < height Assert.AreEqual(changedCollectionList.Count, 1); Assert.IsTrue(changedCollectionList[0].Action == NotifyCollectionChangedAction.Add); } }