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); }
/// <summary> /// DatabaseItemDescList.InsertItemのイベントを生成する。 /// </summary> /// <param name="outer">連係外部クラスインスタンス</param> /// <returns>InsertItemイベント</returns> private static Action <int, DatabaseDataDesc> MakeHandler(DatabaseTypeDesc outer) { return((i, set) => { outer.WritableItemValuesList.Insert(i, set.ItemValueList); outer.WritableDataNameList.Insert(i, set.DataName); }); }
/// <summary> /// DatabaseItemDescList.SetItemのイベントを生成する。 /// </summary> /// <param name="outer">連係外部クラスインスタンス</param> /// <returns>InsertItemイベント</returns> private static Action <int, DatabaseItemDesc> MakeHandler(DatabaseTypeDesc outer) { return((i, set) => { outer.WritableItemSettingList[i] = set.ToDBItemSetting(); outer.WritableItemValuesList.SetField(i, set.ItemType.DBItemDefaultValue); }); }
/// <summary> /// DatabaseItemDescList.ClearItemのイベントを生成する。 /// </summary> /// <param name="outer">連係外部クラスインスタンス</param> /// <returns>ClearItemイベント</returns> private static Action MakeHandler(DatabaseTypeDesc outer) { return(() => { outer.ItemDescList.Clear(); outer.WritableItemSettingList.Clear(); }); }
/// <summary> /// DatabaseItemDescList.RemoveItemのイベントを生成する。 /// </summary> /// <param name="outer">連係外部クラスインスタンス</param> /// <returns>RemoveItemイベント</returns> private static Action <int> MakeHandler(DatabaseTypeDesc outer) { return(i => { outer.WritableItemSettingList.RemoveAt(i); outer.WritableItemValuesList.RemoveFieldAt(i); }); }
/// <summary> /// DatabaseItemDescList.ClearItemのイベントを生成する。 /// </summary> /// <param name="outer">連係外部クラスインスタンス</param> /// <returns>ClearItemイベント</returns> private static Action MakeHandler(DatabaseTypeDesc outer) { return(() => { outer.DataDescList.Clear(); outer.WritableDataNameList.Clear(); }); }
/// <summary> /// DatabaseItemDescList.RemoveItemのイベントを生成する。 /// </summary> /// <param name="outer">連係外部クラスインスタンス</param> /// <returns>RemoveItemイベント</returns> private static Action <int> MakeHandler(DatabaseTypeDesc outer) { return(i => { outer.DataDescList.RemoveAt(i); outer.WritableDataNameList.RemoveAt(i); }); }
/// <summary> /// DatabaseItemDataList.SetItemのイベントを生成する。 /// </summary> /// <param name="outer">連係外部クラスインスタンス</param> /// <returns>InsertItemイベント</returns> private static Action <int, Database.DataName> MakeHandler(DatabaseTypeDesc outer) { return((i, name) => { var valuesList = outer.WritableItemValuesList.CreateValueListInstance(); outer.DataDescList[i] = new DatabaseDataDesc(name, (DBItemValueList)valuesList); outer.WritableItemValuesList[i] = valuesList; }); }
/// <summary> /// DatabaseItemDataList.SetItemのイベントを生成する。 /// </summary> /// <param name="outer">連係外部クラスインスタンス</param> /// <returns>InsertItemイベント</returns> private static Action <int, IFixedLengthDBItemValueList> MakeHandler(DatabaseTypeDesc outer) { return((i, values) => { var name = (Database.DataName) ""; outer.DataDescList[i] = new DatabaseDataDesc(name, (DBItemValueList)values); outer.WritableDataNameList[i] = name; }); }
/// <summary> /// DatabaseItemDataList.SetItemのイベントを生成する。 /// </summary> /// <param name="outer">連係外部クラスインスタンス</param> /// <returns>InsertItemイベント</returns> private static Action <int, DatabaseDataDesc> MakeHandler(DatabaseTypeDesc outer) { return((i, set) => { // Outerを解除したItemValueListを渡す、かつ元のItemValueListのOuterは解除しない outer.WritableItemValuesList[i] = new DBItemValueList(set.ItemValueList); outer.WritableDataNameList[i] = set.DataName; }); }
/// <summary> /// DatabaseItemDescList.SetItemのイベントを生成する。 /// </summary> /// <param name="outer">連係外部クラスインスタンス</param> /// <returns>InsertItemイベント</returns> private static Action <int, DBItemSetting> MakeHandler( DatabaseTypeDesc outer) { return((i, setting) => { var set = new DatabaseItemDesc { ItemName = setting.ItemName, SpecialSettingDesc = setting.SpecialSettingDesc, ItemType = setting.ItemType }; outer.ItemDescList[i] = set; outer.WritableItemValuesList.SetField(i, set.ItemType.DBItemDefaultValue); }); }
/// <summary> /// DatabaseItemDescList.InsertItemのイベントを生成する。 /// </summary> /// <param name="outer">連係外部クラスインスタンス</param> /// <returns>InsertItemイベント</returns> private static Action <int, DBItemValue> MakeHandler( DatabaseTypeDesc outer) { return((i, value) => { var set = new DatabaseItemDesc { ItemName = "", SpecialSettingDesc = new DBItemSpecialSettingDesc(), ItemType = value.Type }; outer.ItemDescList.Insert(i, set); outer.WritableItemSettingList.Insert(i, set.ToDBItemSetting()); }); }
public static void CreateForDBTypeSetATest() { DatabaseTypeDesc instance = null; var errorOccured = false; try { instance = DatabaseTypeDesc.Factory.CreateForDBTypeSet(); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生しないこと Assert.IsFalse(errorOccured); // 初期データ数が一致すること Assert.AreEqual(instance.WritableItemValuesList.Count, 1); Assert.AreEqual(instance.WritableItemValuesList.Count, instance.DataDescList.Count); Assert.AreEqual(instance.WritableItemValuesList.Count, instance.DataNameList.Count); // 初期項目数が一致すること Assert.AreEqual(instance.WritableItemSettingList.Count, 0); Assert.AreEqual(instance.WritableItemSettingList.Count, instance.ItemDescList.Count); Assert.AreEqual(instance.WritableItemSettingList.Count, instance.WritableItemValuesList[0].Count); instance.WritableItemValuesList.AddNewValues(); // データ追加後、データ数が一致すること Assert.AreEqual(instance.WritableItemValuesList.Count, 2); Assert.AreEqual(instance.WritableItemValuesList.Count, instance.DataDescList.Count); Assert.AreEqual(instance.WritableItemValuesList.Count, instance.DataNameList.Count); var itemSetting = new DBItemSetting { ItemName = "ItemName", ItemType = DBItemType.String, }; instance.WritableItemSettingList.Add(itemSetting); // 項目追加後、項目数が一致すること Assert.AreEqual(instance.WritableItemSettingList.Count, 1); Assert.AreEqual(instance.WritableItemSettingList.Count, instance.DBItemSettingList.Count); }
public static void SerializeTest() { var target = new DatabaseTypeDesc { TypeName = "TypeName", }; 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 ConstructorTest() { var errorOccured = false; try { var _ = new DatabaseTypeDesc(); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生しないこと Assert.IsFalse(errorOccured); }
public static void ItemDescListGetterTest() { const int dataLength = 2; const int itemLength = 3; var typeSetting = CreateTypeSetting(dataLength, itemLength); var dataSetting = CreateDataSetting(dataLength, itemLength); DatabaseItemDescList result = null; var instance = new DatabaseTypeDesc(typeSetting, dataSetting); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var errorOccured = false; try { result = instance.ItemDescList; } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーが発生しないこと Assert.IsFalse(errorOccured); // 要素数が項目数と一致すること Assert.AreEqual(result.Count, itemLength); // 各要素が意図した値と一致すること for (var i = 0; i < itemLength; i++) { Assert.AreEqual(result[i].ItemName, MakeItemName(i)); Assert.AreEqual(result[i].ItemType, MakeItemType()); } // プロパティ変更通知が発火していないこと Assert.AreEqual(changedPropertyList.Count, 0); }
public static void MemoTest(DatabaseMemo memo, bool isError) { var instance = new DatabaseTypeDesc(); var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; var errorOccured = false; try { instance.Memo = memo; } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーフラグが一致すること Assert.AreEqual(errorOccured, isError); if (!errorOccured) { var setValue = instance.Memo; // セットした値と取得した値が一致すること Assert.IsTrue(setValue.Equals(memo)); } // 意図したとおりプロパティ変更通知が発火していること if (errorOccured) { Assert.AreEqual(changedPropertyList.Count, 0); } else { Assert.AreEqual(changedPropertyList.Count, 1); Assert.IsTrue(changedPropertyList[0].Equals(nameof(DatabaseTypeDesc.Memo))); } }
public static void CreateForDBTypeSetBTest(bool isNullItemSettingList, bool isError) { var itemSettingList = isNullItemSettingList ? null : new DBItemSettingList { new DBItemSetting() }; DatabaseTypeDesc instance = null; var errorOccured = false; try { instance = DatabaseTypeDesc.Factory.CreateForDBTypeSet(itemSettingList); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } // エラーフラグが一致すること Assert.AreEqual(errorOccured, isError); if (errorOccured) { return; } Assert.NotNull(itemSettingList); // 初期データ数が意図した値であること Assert.AreEqual(instance.DataDescList.Count, 1); // 初期項目数が一致すること Assert.AreEqual(instance.ItemDescList.Count, 1); Assert.AreEqual(instance.ItemDescList.Count, itemSettingList.Count); }
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); }
// _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // Constructor // _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ public SetItemHandler(DatabaseTypeDesc outer) : base(MakeHandler(outer), HandlerTag, false, canChangeEnabled: false) { }