/// <summary> /// データIDの設定方法 /// </summary> /// <param name="status">読み込み経過状態</param> /// <param name="setting">結果格納インスタンス</param> private void ReadDataSettingType(FileReadStatus status, DBDataSetting setting) { var typeCode = status.ReadInt(); status.IncreaseIntOffset(); var settingType = DBDataSettingType.FromValue(typeCode); Logger.Debug(FileIOMessage.SuccessRead(typeof(DBDataSettingReader), "データID設定方法", settingType)); // 「指定DBの指定タイプ」の場合、DB種別とタイプIDを取り出す DBKind dbKind = null; TypeId typeId = 0; if (settingType == DBDataSettingType.DesignatedType) { dbKind = DbKindFromSettingTypeCode(typeCode); Logger.Debug(FileIOMessage.SuccessRead(typeof(DBDataSettingReader), "DB種別", dbKind)); typeId = TypeIdFromSettingTypeCode(typeCode); Logger.Debug(FileIOMessage.SuccessRead(typeof(DBDataSettingReader), "タイプID", typeId)); } setting.SetDataSettingType(settingType, dbKind, typeId); }
public static void DBKindTest(DBDataSettingType type, bool isError) { var instance = MakeInstance(type); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var errorOccured = false; try { var _ = instance.DBKind; } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーフラグが一致すること Assert.AreEqual(errorOccured, isError); // プロパティ変更通知が発火していないこと Assert.AreEqual(changedPropertyList.Count, 0); }
public static void DataSettingTypeGetterTest(DBDataSettingType type) { var typeSetting = new DBTypeSetting(); var dataSetting = new DBDataSetting(type, DBKind.User, 0); var instance = new DatabaseTypeDesc(typeSetting, dataSetting); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; DBDataSettingType result = null; var errorOccured = false; try { result = instance.DataSettingType; } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生しないこと Assert.IsFalse(errorOccured); // 取得した結果が意図した値であること Assert.AreEqual(result, type); // プロパティ変更通知が発火していないこと Assert.AreEqual(changedPropertyList.Count, 0); }
public static void DataSettingTypeTest(DBDataSettingType type) { DBDataSettingType result = null; var instance = MakeInstance(type); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var errorOccured = false; try { result = instance.DataSettingType; } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーフラグが発生しないこと Assert.IsFalse(errorOccured); // 取得した値が一致すること Assert.AreEqual(result, type); // プロパティ変更通知が発火していないこと Assert.AreEqual(changedPropertyList.Count, 0); }
public static void ConstructorATest(DBDataSettingType type, DBKind dbKind, TypeId?typeId, bool isError) { DBType instance = null; var errorOccured = false; try { instance = new DBType(type, dbKind, typeId); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーフラグが一致すること Assert.AreEqual(errorOccured, isError); if (errorOccured) { return; } // 各プロパティがセットした値と一致すること Assert.AreEqual(instance.DataSettingType, type); if (type == DBDataSettingType.DesignatedType) { Assert.NotNull(dbKind); Assert.AreEqual(instance.DBKind, dbKind); Assert.NotNull(typeId); Assert.AreEqual(instance.TypeId, typeId.Value); } }
/// <summary> /// タイプ種別から、例外が発生しないようにインスタンスを生成する。 /// </summary> /// <param name="type"></param> /// <returns></returns> private static DBDataSetting MakeInstance(DBDataSettingType type) { var instance = new DBDataSetting(); if (type != DBDataSettingType.DesignatedType) { instance.SetDataSettingType(type); return(instance); } instance.SetDataSettingType(type, DBKind.User, 0); return(instance); }
public static void SetDataSettingTypeTest(DBDataSettingType settingType, DBKind dbKind, TypeId?typeId, bool isError) { var instance = CreateTypeDesc(1, 0); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var errorOccured = false; try { instance.SetDataSettingType(settingType, dbKind, typeId); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーフラグが一致すること Assert.AreEqual(errorOccured, isError); if (!errorOccured) { // 各プロパティが意図した値と一致すること Assert.AreEqual(instance.DataSettingType, settingType); if (settingType != DBDataSettingType.DesignatedType) { return; } Assert.NotNull(typeId); Assert.AreEqual(instance.DBKind, dbKind); Assert.AreEqual(instance.TypeId, typeId.Value); } // 意図したとおりプロパティ変更通知が発火していること if (errorOccured) { Assert.AreEqual(changedPropertyList.Count, 0); } else { Assert.AreEqual(changedPropertyList.Count, 3); Assert.IsTrue(changedPropertyList[0].Equals(nameof(DatabaseTypeDesc.DataSettingType))); Assert.IsTrue(changedPropertyList[1].Equals(nameof(DatabaseTypeDesc.DBKind))); Assert.IsTrue(changedPropertyList[2].Equals(nameof(DatabaseTypeDesc.TypeId))); } }
public static void ConstructorBTest(DBDataSettingType type, DBKind dbKind, TypeId?typeId, bool isError) { var errorOccured = false; try { var _ = new DBDataSetting(type, dbKind, typeId); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーフラグが一致すること Assert.AreEqual(errorOccured, isError); }
/// <summary> /// データIDの設定方法 /// </summary> /// <param name="readStatus">読み込み経過状態</param> /// <param name="setting">結果格納インスタンス</param> private void ReadDataSettingType(BinaryReadStatus readStatus, DBDataSetting setting) { var typeCode = readStatus.ReadInt(); readStatus.IncreaseIntOffset(); var settingType = DBDataSettingType.FromValue(typeCode); // 「指定DBの指定タイプ」の場合、DB種別とタイプIDを取り出す DBKind dbKind = null; TypeId typeId = 0; if (settingType == DBDataSettingType.DesignatedType) { dbKind = DbKindFromSettingTypeCode(typeCode); typeId = TypeIdFromSettingTypeCode(typeCode); } setting.SetDataSettingType(settingType, dbKind, typeId); }
public static void TypeIdGetterTest(DBDataSettingType type, bool isError) { var answer = (TypeId)4; var typeSetting = new DBTypeSetting(); var dataSetting = new DBDataSetting(type, DBKind.User, answer); var instance = new DatabaseTypeDesc(typeSetting, dataSetting); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; TypeId result = 0; var errorOccured = false; try { result = instance.TypeId; } 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 SettingValuesListGetterTest(DBDataSettingType type, bool isSetNull, bool isError) { var instance = MakeInstance(type); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var setValue = isSetNull ? null : new DBItemValuesList(); var errorOccured = false; try { instance.SettingValuesList = 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(DBDataSetting.SettingValuesList))); } }
public static void SetDataSettingTypeTest(DBDataSettingType type, DBKind dbKind, TypeId?typeId, bool isError) { var instance = MakeInstance(DBDataSettingType.Manual); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var errorOccured = false; try { instance.SetDataSettingType(type, dbKind, typeId); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーフラグが一致すること Assert.AreEqual(errorOccured, isError); // 意図したとおりプロパティ変更通知が発火していること if (errorOccured) { Assert.AreEqual(changedPropertyList.Count, 0); } else { Assert.AreEqual(changedPropertyList.Count, 3); Assert.IsTrue(changedPropertyList[0].Equals(nameof(DBDataSetting.DataSettingType))); Assert.IsTrue(changedPropertyList[1].Equals(nameof(DBDataSetting.DBKind))); Assert.IsTrue(changedPropertyList[2].Equals(nameof(DBDataSetting.TypeId))); } }