public static void UpdateOmissionFolderNameFlagTest() { var instance = new DBItemSettingDescDatabase(); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var errorOccured = false; try { instance.UpdateOmissionFolderNameFlag(true); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生すること Assert.IsTrue(errorOccured); // プロパティ変更通知が発火していないこと Assert.AreEqual(changedPropertyList.Count, 0); }
public static void CanSetItemTypeTest(DBItemType type, bool isError, bool answer) { var instance = new DBItemSettingDescDatabase(); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; bool result = false; var errorOccured = false; try { result = instance.CanSetItemType(type); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーフラグが一致すること Assert.AreEqual(errorOccured, isError); if (errorOccured) { return; } // 結果が意図した値と一致すること Assert.AreEqual(result, answer); // プロパティ変更通知が発火していないこと Assert.AreEqual(changedPropertyList.Count, 0); }
public static void DatabaseReferKindGetterTest() { var instance = new DBItemSettingDescDatabase(); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var errorOccured = false; try { var _ = instance.DatabaseReferKind; } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生しないこと Assert.IsFalse(errorOccured); // プロパティ変更通知が発火していないこと Assert.AreEqual(changedPropertyList.Count, 0); }
public static void ClearSpecialCaseTest() { var instance = new DBItemSettingDescDatabase(); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var changedArgCaseList = new List <string>(); instance.ArgCaseList.PropertyChanged += (sender, args) => { changedArgCaseList.Add(args.PropertyName); }; var changedArgCaseCollection = new List <NotifyCollectionChangedEventArgs>(); instance.ArgCaseList.CollectionChanged += (sender, args) => { changedArgCaseCollection.Add(args); }; var errorOccured = false; try { instance.ClearSpecialCase(); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生すること Assert.IsTrue(errorOccured); // プロパティ変更通知が発火していないこと Assert.AreEqual(changedPropertyList.Count, 0); Assert.AreEqual(changedArgCaseList.Count, 0); Assert.AreEqual(changedArgCaseCollection.Count, 0); }
public static void DatabaseReferKindSetterTest(bool isSetNull, bool isError) { var setValue = isSetNull ? null : DBReferType.User; var instance = new DBItemSettingDescDatabase(); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var errorOccured = false; try { instance.DatabaseReferKind = setValue; } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーフラグが一致すること Assert.AreEqual(errorOccured, isError); // 意図したとおりプロパティ変更通知が発火していること if (errorOccured) { Assert.AreEqual(changedPropertyList.Count, 0); } else { Assert.AreEqual(changedPropertyList.Count, 1); Assert.IsTrue(changedPropertyList[0].Equals(nameof(instance.DatabaseReferKind))); } }
public static void DatabaseUseAdditionalItemsFlagSetterTest() { var instance = new DBItemSettingDescDatabase(); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var errorOccured = false; try { instance.DatabaseUseAdditionalItemsFlag = false; } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生しないこと Assert.IsFalse(errorOccured); // 意図したとおりプロパティ変更通知が発火していること Assert.AreEqual(changedPropertyList.Count, 1); Assert.IsTrue(changedPropertyList[0].Equals(nameof(instance.DatabaseUseAdditionalItemsFlag))); }
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); }
public static void SettingTypeTest() { var instance = new DBItemSettingDescDatabase(); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; // プロパティが意図とした値と一致すること Assert.AreEqual(instance.SettingType, DBItemSpecialSettingType.ReferDatabase); // プロパティ変更通知が発火していないこと Assert.AreEqual(changedPropertyList.Count, 0); }
public static void GetAllSpecialCaseNumberTest(DBReferType referType, TypeId typeId, bool useAdditionalItems) { var instance = new DBItemSettingDescDatabase { DatabaseReferKind = referType, DatabaseDbTypeId = typeId, DatabaseUseAdditionalItemsFlag = useAdditionalItems }; var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var changedArgCaseList = new List <string>(); instance.ArgCaseList.PropertyChanged += (sender, args) => { changedArgCaseList.Add(args.PropertyName); }; var changedArgCaseCollection = new List <NotifyCollectionChangedEventArgs>(); instance.ArgCaseList.CollectionChanged += (sender, args) => { changedArgCaseCollection.Add(args); }; List <DatabaseValueCaseNumber> result = null; var errorOccured = false; try { result = instance.GetAllSpecialCaseNumber(); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生しないこと Assert.IsFalse(errorOccured); // 取得した要素がそれぞれ意図した値であること Assert.AreEqual(result.Count, 3); Assert.AreEqual((int)result[0], referType.Code); Assert.AreEqual((int)result[1], (int)typeId); var flagValue = useAdditionalItems ? 1 : 0; Assert.AreEqual((int)result[2], flagValue); // プロパティ変更通知が発火していないこと Assert.AreEqual(changedPropertyList.Count, 0); Assert.AreEqual(changedArgCaseList.Count, 0); Assert.AreEqual(changedArgCaseCollection.Count, 0); }
public static void SerializeTest() { var target = new DBItemSettingDescDatabase { DatabaseDbTypeId = 32, }; var changedPropertyList = new List <string>(); target.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var clone = DeepCloner.DeepClone(target); Assert.IsTrue(clone.Equals(target)); // プロパティ変更通知が発火していないこと Assert.AreEqual(changedPropertyList.Count, 0); }
public static void GetAllSpecialCaseDescriptionTest(bool useAdditionalItems, int resultLength) { var instance = new DBItemSettingDescDatabase { DatabaseUseAdditionalItemsFlag = useAdditionalItems }; var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var changedArgCaseList = new List <string>(); instance.ArgCaseList.PropertyChanged += (sender, args) => { changedArgCaseList.Add(args.PropertyName); }; var changedArgCaseCollection = new List <NotifyCollectionChangedEventArgs>(); instance.ArgCaseList.CollectionChanged += (sender, args) => { changedArgCaseCollection.Add(args); }; List <DatabaseValueCaseDescription> result = null; var errorOccured = false; try { result = instance.GetAllSpecialCaseDescription(); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生しないこと Assert.IsFalse(errorOccured); // 取得した要素数が意図した値であること Assert.AreEqual(result.Count, resultLength); // プロパティ変更通知が発火していないこと Assert.AreEqual(changedPropertyList.Count, 0); Assert.AreEqual(changedArgCaseList.Count, 0); Assert.AreEqual(changedArgCaseCollection.Count, 0); }
public static void ConstructorTest() { DBItemSettingDescDatabase instance = null; var errorOccured = false; try { instance = new DBItemSettingDescDatabase(); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生しないこと Assert.IsFalse(errorOccured); // 選択肢が0であること Assert.AreEqual(instance.GetAllSpecialCase().Count, 0); }
public static void UpdateDatabaseSpecialCaseTest(bool useAdditionalItemFlag, int caseNumber, string description, bool isError) { var instance = new DBItemSettingDescDatabase { DatabaseUseAdditionalItemsFlag = useAdditionalItemFlag }; var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var changedArgCaseList = new List <string>(); instance.ArgCaseList.PropertyChanged += (sender, args) => { changedArgCaseList.Add(args.PropertyName); }; var changedArgCaseCollection = new List <NotifyCollectionChangedEventArgs>(); instance.ArgCaseList.CollectionChanged += (sender, args) => { changedArgCaseCollection.Add(args); }; var errorOccured = false; try { instance.UpdateDatabaseSpecialCase(caseNumber, description); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーフラグが一致すること(追加項目仕様フラグによらないこと) Assert.AreEqual(errorOccured, isError); if (!errorOccured) { foreach (var specialCase in instance.GetAllSpecialCase()) { if (specialCase.CaseNumber == caseNumber) { // 指定した引数の文字列が正しく更新されていること Assert.AreEqual((string)specialCase.Description, description); } else { // 指定していない引数の文字列が変化していないこと Assert.AreEqual((string)specialCase.Description, ""); } } } // 意図したとおりプロパティ変更通知が発火していること Assert.AreEqual(changedPropertyList.Count, 0); if (!errorOccured) { Assert.AreEqual(changedArgCaseList.Count, 1); Assert.IsTrue(changedArgCaseList[0].Equals(ListConstant.IndexerName)); Assert.AreEqual(changedArgCaseCollection.Count, 1); Assert.IsTrue(changedArgCaseCollection[0].Action == NotifyCollectionChangedAction.Replace); Assert.IsTrue(changedArgCaseCollection[0].OldStartingIndex == caseNumber * -1 - 1); Assert.IsTrue(changedArgCaseCollection[0].NewStartingIndex == caseNumber * -1 - 1); } else { Assert.AreEqual(changedArgCaseList.Count, 0); Assert.AreEqual(changedArgCaseCollection.Count, 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); }
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); }