public static void AccessorTest(int index, int caseValue, string str) { var initObj = new ChoiceCaseList { CaseValue = caseValue }; var instance = new ChoiceCaseList { CaseValue = caseValue }; var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; instance.Set(index, str); // 設定した文字列が取得できること var getStr = instance.Get(index); Assert.IsTrue(getStr.Equals(str)); // 設定していない箇所が変化していないこと for (var i = 0; i < caseValue; i++) { if (i != index) { Assert.IsTrue(instance.Get(i).Equals(initObj.Get(i))); } } }
public static void GetTest(int index, int caseValue, bool isError) { var errorOccured = false; var instance = new ChoiceCaseList { CaseValue = caseValue }; var changedPropertyList = new List <string>(); instance.PropertyChanged += (sender, args) => { changedPropertyList.Add(args.PropertyName); }; try { var _ = instance.Get(index); } catch (Exception ex) { logger.Exception(ex); errorOccured = true; } Assert.AreEqual(errorOccured, isError); // プロパティ変更通知が発火していないこと Assert.AreEqual(changedPropertyList.Count, 0); }