Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        public static void GetMinCapacityTest()
        {
            var instance    = new MapChipColumns();
            var maxCapacity = instance.GetMinCapacity();

            // 取得した値が容量最大値と一致すること
            Assert.AreEqual(maxCapacity, MapChipColumns.MinCapacity);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
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);
        }
Ejemplo n.º 6
0
        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));
            }
        }
Ejemplo n.º 7
0
        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);
            }
        }