Exemple #1
0
        public static void ConstructorTest(int caseNumber, string description, bool isError)
        {
            CommonEventSpecialArgCase instance = default(CommonEventSpecialArgCase);
            var errorOccured = false;

            try
            {
                instance = new CommonEventSpecialArgCase(caseNumber, description);
            }
            catch (Exception ex)
            {
                logger.Exception(ex);
                errorOccured = true;
            }

            // エラーフラグが一致すること
            Assert.AreEqual(errorOccured, isError);

            if (errorOccured)
            {
                return;
            }

            // セットした値が正しく取得できること
            Assert.AreEqual(instance.CaseNumber, caseNumber);
            Assert.AreEqual(instance.Description, description);
        }
Exemple #2
0
        public static void SerializeTest()
        {
            var target = new CommonEventSpecialArgCase(1, "Case");
            var clone  = DeepCloner.DeepClone(target);

            Assert.IsTrue(clone.Equals(target));
        }
Exemple #3
0
        public static void NotEqualOperatorTest(int leftCaseNumber, string leftDescription,
                                                int rightCaseNumber, string rightDescription, bool isEqual)
        {
            var left  = new CommonEventSpecialArgCase(leftCaseNumber, leftDescription);
            var right = new CommonEventSpecialArgCase(rightCaseNumber, rightDescription);

            Assert.AreEqual(left != right, isEqual);
        }
Exemple #4
0
        public static void ConstructorTest(int caseNumber, string description, bool isError)
        {
            var errorOccured = false;

            try
            {
                var _ = new CommonEventSpecialArgCase(caseNumber, description);
            }
            catch (Exception ex)
            {
                logger.Exception(ex);
                errorOccured = true;
            }

            // エラーフラグが一致すること
            Assert.AreEqual(errorOccured, isError);
        }
Exemple #5
0
        public static void UpdateDatabaseSpecialCase()
        {
            var instance = new CommonEventSpecialNumberArgDesc.InnerDescNormal();
            var changedDescPropertyList = new List <string>();

            instance.PropertyChanged += (sender, args) => { changedDescPropertyList.Add(args.PropertyName); };
            var changedSpecialArgCaseListPropertyList = new List <string>();

            instance.SpecialArgCaseList.PropertyChanged += (sender, args) =>
            {
                changedSpecialArgCaseListPropertyList.Add(args.PropertyName);
            };
            var changedSpecialArgCaseListCollectionArgList = new List <NotifyCollectionChangedEventArgs>();

            instance.SpecialArgCaseList.CollectionChanged += (sender, args) =>
            {
                changedSpecialArgCaseListCollectionArgList.Add(args);
            };

            var errorOccured = false;

            try
            {
                var argCase = new CommonEventSpecialArgCase(0, "");
                instance.UpdateManualSpecialCase(-1, argCase);
            }
            catch (Exception ex)
            {
                logger.Exception(ex);
                errorOccured = true;
            }

            // エラーが発生すること
            Assert.IsTrue(errorOccured);

            // プロパティ変更通知が発火していないこと
            Assert.AreEqual(changedDescPropertyList.Count, 0);
            Assert.AreEqual(changedSpecialArgCaseListPropertyList.Count, 0);
            Assert.AreEqual(changedSpecialArgCaseListCollectionArgList.Count, 0);
        }
        private CommonEventSpecialNumberArgDesc UpdateSpecialNumberArgDesc_MakeDescForElse(
            CommonEventArgType type,
            string argName, int initValue, List <int> numberArgList, List <string> stringArgList)
        {
            var stringArgListCount = stringArgList.Count;
            var numberArgListCount = numberArgList.Count;

            // 旧バージョンで作られたデータ限定?で文字列と数値の数が一致しないことがある。
            //   基本システムVer2のコモンイベント14などで確認。
            if (stringArgListCount != numberArgListCount)
            {
                WodiLibLogger.GetInstance().Warning(
                    $"[Warning] 文字列引数リストと数値引数リストの長さが一致しません。(文字列数:{stringArgListCount}, 数値数:{numberArgListCount})");
            }

            var loopTimes = stringArgListCount <= numberArgListCount
                ? stringArgListCount
                : numberArgListCount;

            var caseList = new List <CommonEventSpecialArgCase>();

            for (var j = 0; j < loopTimes; j++)
            {
                var argCase = new CommonEventSpecialArgCase(numberArgList[j], stringArgList[j]);
                caseList.Add(argCase);
            }

            var desc = new CommonEventSpecialNumberArgDesc
            {
                ArgName   = argName,
                InitValue = initValue
            };

            desc.ChangeArgType(type, caseList);

            return(desc);
        }
        private CommonEventSpecialNumberArgDesc UpdateSpecialNumberArgDesc_MakeDescForElse(
            CommonEventArgType type,
            string argName, int initValue, List <int> numberArgList, List <string> stringArgList)
        {
            var stringArgListCount = stringArgList.Count;
            var numberArgListCount = numberArgList.Count;

            // 旧バージョンで作られたデータ限定?で文字列と数値の数が一致しないことがある。
            //   基本システムVer2のコモンイベント14などで確認。
            if (stringArgListCount != numberArgListCount)
            {
                // 何らかの処理を書くことになるか?
            }

            var loopTimes = stringArgListCount <= numberArgListCount
                ? stringArgListCount
                : numberArgListCount;

            var caseList = new List <CommonEventSpecialArgCase>();

            for (var j = 0; j < loopTimes; j++)
            {
                var argCase = new CommonEventSpecialArgCase(numberArgList[j], stringArgList[j]);
                caseList.Add(argCase);
            }

            var desc = new CommonEventSpecialNumberArgDesc
            {
                ArgName   = argName,
                InitValue = initValue
            };

            desc.ChangeArgType(type, caseList);

            return(desc);
        }
        private CommonEventSpecialNumberArgDesc UpdateSpecialNumberArgDesc_MakeDescForReferDatabase(
            CommonEventArgType type,
            string argName, int initValue, List <int> numberArgList, List <string> stringArgList)
        {
            var caseList = new List <CommonEventSpecialArgCase>();

            for (var j = 0; j < stringArgList.Count; j++)
            {
                var argCase = new CommonEventSpecialArgCase(-1 * (j + 1), stringArgList[j]);
                caseList.Add(argCase);
            }

            var desc = new CommonEventSpecialNumberArgDesc
            {
                ArgName   = argName,
                InitValue = initValue
            };

            desc.ChangeArgType(type, caseList);
            desc.SetDatabaseRefer(DBKind.FromSpecialArgCode(numberArgList[0]), numberArgList[1]);
            desc.SetDatabaseUseAdditionalItemsFlag(numberArgList[2] == 1);

            return(desc);
        }
Exemple #9
0
        public static void CastToTupleTest(int caseNumber, string description)
        {
            Tuple <int, string> castValue = null;
            var instance = new CommonEventSpecialArgCase(caseNumber, description);

            var errorOccured = false;

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

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

            // 元の値と一致すること
            Assert.AreEqual(castValue.Item1, caseNumber);
            Assert.AreEqual(castValue.Item2, description);
        }