[TestCase(0x08_00, false)] // 該当なし(通行可) public static void CreateTestA(int code, bool isError) { var errorOccured = false; try { var _ = TilePathSettingFactory.Create(code); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーフラグが一致すること Assert.AreEqual(errorOccured, isError); }
public static void CreateTest2(int testCode, string description) { var(pathPermission, src, isError, resultType, resultFlagsCode) = MakeCreateTest2Args(testCode); ITilePathSetting result = null; var errorOccured = false; try { result = TilePathSettingFactory.Create(pathPermission, src); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーフラグが一致すること Assert.AreEqual(errorOccured, isError); if (errorOccured) { return; } // 結果が意図した値であること Assert.AreEqual(result.GetType(), resultType); if (result.GetType() != typeof(TilePathSettingPartialDeny) && result.GetType() != typeof(TilePathSettingDeny)) { // CannotPassingFlags が意図した値であること Assert.AreEqual(result.CannotPassingFlags.ToCode(), resultFlagsCode); } if (result.GetType() == typeof(TilePathSettingPartialDeny)) { // ImpassableFlags が意図した値であること Assert.AreEqual(result.ImpassableFlags.ToCode(), resultFlagsCode); } }