Exemple #1
0
        public static void ChangePathPermissionDenyTest()
        {
            var instance            = new TilePathSetting();
            var changedPropertyList = new List <string>();

            instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); };

            var errorOccured = false;

            try
            {
                instance.ChangePathPermissionDeny();
            }
            catch (Exception ex)
            {
                logger.Exception(ex);
                errorOccured = true;
            }

            // エラーが発生しないこと
            Assert.IsFalse(errorOccured);

            // 通行許可設定が"通行不可"になっていること
            Assert.AreEqual(instance.PathPermission, TilePathPermission.Deny);

            // 意図したとおりプロパティ変更通知が発火していること
            Assert.AreEqual(changedPropertyList.Count, 5);
            Assert.IsTrue(changedPropertyList[0].Equals(nameof(TilePathSetting.PathPermission)));
            Assert.IsTrue(changedPropertyList[1].Equals(nameof(TilePathSetting.ImpassableFlags)));
            Assert.IsTrue(changedPropertyList[2].Equals(nameof(TilePathSetting.PathOption)));
            Assert.IsTrue(changedPropertyList[3].Equals(nameof(TilePathSetting.CannotPassingFlags)));
            Assert.IsTrue(changedPropertyList[4].Equals(nameof(TilePathSetting.IsCounter)));
        }