public static void ConstructorTest(int code, bool isError, bool rightDown, bool leftDown, bool rightUp, bool leftUp) { TileImpassableFlags instance = null; var errorOccured = false; try { instance = new TileImpassableFlags(code); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーフラグが一致すること Assert.AreEqual(errorOccured, isError); if (errorOccured) { return; } // 各プロパティの値が意図した値であること Assert.AreEqual(instance.RightDown, rightDown); Assert.AreEqual(instance.LeftDown, leftDown); Assert.AreEqual(instance.RightUp, rightUp); Assert.AreEqual(instance.LeftUp, leftUp); }
public static void EqualsTest(int targetCode, int otherCode, bool answer) { var target = new TileImpassableFlags(targetCode); var other = new TileImpassableFlags(otherCode); var result = false; var errorOccured = false; try { result = target.Equals(other); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生しないこと Assert.IsFalse(errorOccured); // 結果が取得した値と一致すること Assert.AreEqual(result, answer); }
public static void ImpassableFlagsTest() { var setValue = new TileImpassableFlags(0x02); var instance = new TilePathSettingPartialDeny(setValue); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; TileImpassableFlags result = null; var errorOccured = false; try { result = instance.ImpassableFlags; } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生しないこと Assert.IsFalse(errorOccured); // 取得した結果が意図した値であること Assert.AreEqual(result, setValue); // プロパティ変更通知が発火していないこと Assert.AreEqual(changedPropertyList.Count, 0); }
public static void SerializeTest() { var target = new TileImpassableFlags { LeftDown = true }; var clone = DeepCloner.DeepClone(target); Assert.IsTrue(clone.Equals(target)); }
public static void ChangePathPermissionPartialDenyTest(TileImpassableFlags flags, bool isError) { var instance = new TilePathSetting(); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var errorOccured = false; try { instance.ChangePathPermissionPartialDeny(flags); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーフラグが一致すること Assert.AreEqual(errorOccured, isError); if (!errorOccured) { // 通行許可設定が"部分的に通行不可"になっていること Assert.AreEqual(instance.PathPermission, TilePathPermission.PartialDeny); // 通行許可設定がセットした値と一致すること(設定を指定しなかった場合デフォルト値が設定されていること) Assert.IsTrue(instance.ImpassableFlags.Equals(flags ?? new TileImpassableFlags())); } // 意図したとおりプロパティ変更通知が発火していること if (errorOccured) { Assert.AreEqual(changedPropertyList.Count, 0); } else { 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))); } }
public static void ConstructorTestB(TileImpassableFlags impassable, bool isError) { var errorOccured = false; try { var _ = new TilePathSettingPartialDeny(impassable); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーフラグが一致すること Assert.AreEqual(errorOccured, isError); }
public static void LeftUpTest(bool LeftUp, int initCode, bool isError) { var instance = new TileImpassableFlags(initCode); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var errorOccured = false; try { instance.LeftUp = LeftUp; } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーフラグが一致すること Assert.AreEqual(errorOccured, isError); if (errorOccured) { var setValue = instance.LeftUp; // セットした値と取得した値が一致すること Assert.IsTrue(setValue.Equals(setValue)); } // 意図したとおりプロパティ変更通知が発火していること if (errorOccured) { Assert.AreEqual(changedPropertyList.Count, 0); } else { Assert.AreEqual(changedPropertyList.Count, 1); Assert.IsTrue(changedPropertyList[0].Equals(nameof(TileImpassableFlags.LeftUp))); } }