Example #1
0
        public static void CreateManualTest(int caseListLength)
        {
            var caseList = MakeDBValueCaseList(caseListLength);

            IDBItemSettingDesc result = null;

            var errorOccured = false;

            try
            {
                result = DBItemSettingDescFactory.CreateManual(caseList);
            }
            catch (Exception ex)
            {
                logger.Exception(ex);
                errorOccured = true;
            }

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

            // 選択肢が意図した数であること
            var answerResultLength = caseListLength != -1
                ? caseListLength
                : 0;

            Assert.AreEqual(result.GetAllSpecialCase().Count, answerResultLength);
        }
Example #2
0
        public static void CreateLoadFileTest(int caseListLength, bool isError)
        {
            var caseList = MakeDBValueCaseList(caseListLength);

            IDBItemSettingDesc result = null;

            var errorOccured = false;

            try
            {
                result = DBItemSettingDescFactory.CreateLoadFile(caseList);
            }
            catch (Exception ex)
            {
                logger.Exception(ex);
                errorOccured = true;
            }

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

            if (errorOccured)
            {
                return;
            }

            // 選択肢の要素数が1であること
            Assert.AreEqual(result.GetAllSpecialCase().Count, 1);
        }
Example #3
0
        public static void Equals(string settingDescCode, bool answer)
        {
            var instance            = new DBItemSettingDescNormal();
            var changedPropertyList = new List <string>();

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

            IDBItemSettingDesc desc = null;

            switch (settingDescCode)
            {
            case nameof(DBItemSettingDescLoadFile):
                desc = new DBItemSettingDescLoadFile();
                break;

            case nameof(DBItemSettingDescDatabase):
                desc = new DBItemSettingDescDatabase();
                break;

            case nameof(DBItemSettingDescManual):
                desc = new DBItemSettingDescManual();
                break;

            case null:
                break;

            default:
                desc = new DBItemSettingDescNormal();
                break;
            }

            bool result = false;

            var errorOccured = false;

            try
            {
                result = instance.Equals(desc);
            }
            catch (Exception ex)
            {
                logger.Exception(ex);
                errorOccured = true;
            }

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

            // 結果が意図した値と一致すること
            Assert.AreEqual(result, answer);

            // プロパティ変更通知が発火していないこと
            Assert.AreEqual(changedPropertyList.Count, 0);
        }
Example #4
0
        public static void CreateTest(DBItemSpecialSettingType type, int caseListLength, bool isError)
        {
            var caseList = MakeDBValueCaseList(caseListLength);

            IDBItemSettingDesc result = null;

            var errorOccured = false;

            try
            {
                result = DBItemSettingDescFactory.Create(type, caseList);
            }
            catch (Exception ex)
            {
                logger.Exception(ex);
                errorOccured = true;
            }

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

            if (errorOccured)
            {
                return;
            }

            // 設定種別に応じた型が取得できていること
            if (type == DBItemSpecialSettingType.Normal)
            {
                Assert.IsTrue(result is DBItemSettingDescNormal);
            }
            else if (type == DBItemSpecialSettingType.LoadFile)
            {
                Assert.IsTrue(result is DBItemSettingDescLoadFile);
            }
            else if (type == DBItemSpecialSettingType.ReferDatabase)
            {
                Assert.IsTrue(result is DBItemSettingDescDatabase);
            }
            else if (type == DBItemSpecialSettingType.Manual)
            {
                Assert.IsTrue(result is DBItemSettingDescManual);
            }
            else
            {
                Assert.Fail();
            }
        }
        /// <summary>
        /// 値を比較する。
        /// </summary>
        /// <param name="other">比較対象</param>
        /// <returns>一致する場合、true</returns>
        public override bool Equals(IDBItemSettingDesc other)
        {
            if (ReferenceEquals(null, this))
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            if (!(other is DBItemSettingDescManual casted))
            {
                return(false);
            }

            return(Equals(casted));
        }
Example #6
0
        public static void CreateReferDatabaseTest(int caseListLength)
        {
            var caseList = MakeDBValueCaseList(caseListLength);

            IDBItemSettingDesc result = null;

            var errorOccured = false;

            try
            {
                result = DBItemSettingDescFactory.CreateReferDatabase(caseList);
            }
            catch (Exception ex)
            {
                logger.Exception(ex);
                errorOccured = true;
            }

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

            // 選択肢の数が0であること
            Assert.AreEqual(result.GetAllSpecialCase().Count, 0);
        }
Example #7
0
        public static void Equals(string settingDescCode, bool answer)
        {
            var instance = new DBItemSettingDescDatabase
            {
                DatabaseReferKind = DBReferType.Changeable,
                DatabaseDbTypeId  = 3,
                DatabaseUseAdditionalItemsFlag = false,
            };
            var changedPropertyList = new List <string>();

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

            IDBItemSettingDesc desc = null;

            switch (settingDescCode)
            {
            case nameof(DBItemSettingDescNormal):
                desc = new DBItemSettingDescNormal();
                break;

            case nameof(DBItemSettingDescLoadFile):
                desc = new DBItemSettingDescLoadFile();
                break;

            case nameof(DBItemSettingDescManual):
                desc = new DBItemSettingDescManual();
                break;

            case null:
                break;

            default:
                var settings = settingDescCode.Split('_');
                var dbDesc   = new DBItemSettingDescDatabase();
                switch (settings[1])
                {
                case nameof(DBReferType.Changeable):
                    dbDesc.DatabaseReferKind = DBReferType.Changeable;
                    break;

                case nameof(DBReferType.User):
                    dbDesc.DatabaseReferKind = DBReferType.User;
                    break;

                case nameof(DBReferType.System):
                    dbDesc.DatabaseReferKind = DBReferType.System;
                    break;

                default:
                    Assert.Fail();
                    break;
                }

                dbDesc.DatabaseDbTypeId = int.Parse(settings[2]);
                dbDesc.DatabaseUseAdditionalItemsFlag = bool.Parse(settings[3]);
                desc = dbDesc;
                break;
            }

            bool result = false;

            var errorOccured = false;

            try
            {
                result = instance.Equals(desc);
            }
            catch (Exception ex)
            {
                logger.Exception(ex);
                errorOccured = true;
            }

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

            // 結果が意図した値と一致すること
            Assert.AreEqual(result, answer);

            // プロパティ変更通知が発火していないこと
            Assert.AreEqual(changedPropertyList.Count, 0);
        }
Example #8
0
        public static void Equals(string settingDescCode, bool answer)
        {
            var instance = new DBItemSettingDescManual();

            instance.AddSpecialCase(new DatabaseValueCase(2, "sentence"));
            instance.AddSpecialCase(new DatabaseValueCase(4, "wolf"));
            var changedPropertyList = new List <string>();

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

            IDBItemSettingDesc desc = null;

            switch (settingDescCode)
            {
            case nameof(DBItemSettingDescNormal):
                desc = new DBItemSettingDescNormal();
                break;

            case nameof(DBItemSettingDescLoadFile):
                desc = new DBItemSettingDescLoadFile();
                break;

            case nameof(DBItemSettingDescDatabase):
                desc = new DBItemSettingDescDatabase();
                break;

            case null:
                break;

            default:
                var settings     = settingDescCode.Split('_');
                var maDesc       = new DBItemSettingDescManual();
                var argDescsCode = settings[1].Split(',');
                foreach (var argDescs in argDescsCode)
                {
                    var argDescSettings = argDescs.Split('-');
                    maDesc.AddSpecialCase(new DatabaseValueCase(int.Parse(argDescSettings[0]), argDescSettings[1]));
                }

                desc = maDesc;
                break;
            }

            bool result = false;

            var errorOccured = false;

            try
            {
                result = instance.Equals(desc);
            }
            catch (Exception ex)
            {
                logger.Exception(ex);
                errorOccured = true;
            }

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

            // 結果が意図した値と一致すること
            Assert.AreEqual(result, answer);

            // プロパティ変更通知が発火していないこと
            Assert.AreEqual(changedPropertyList.Count, 0);
        }