public void FilterParametersFamilyGroupdCheckedEventCalledOnce() { int eventTimesCalled = 0; TreeViewCheckItem checkItem = new TreeViewCheckItem("root", 0, hasChildren: true); checkItem.CheckedChanged += (s, e) => eventTimesCalled++; for (int i = 0; i < 10; i++) { checkItem.Children.Add(new TreeViewCheckItem("child " + i, 10 + 1, checkItem)); checkItem.Children[i].CheckedChanged += (s, e) => eventTimesCalled++; } checkItem.IsChecked = true; Assert.AreEqual(eventTimesCalled, 1); eventTimesCalled = 0; checkItem.Children[1].IsChecked = false; checkItem.Children[2].IsChecked = false; checkItem.Children[3].IsChecked = false; Assert.AreEqual(eventTimesCalled, 3); }
public void FilterParametersFamilyGroupParentCheckedAllChildrenChecked() { TreeViewCheckItem checkItem = new TreeViewCheckItem("root", 0, hasChildren: true); for (int i = 0; i < 10; i++) { checkItem.Children.Add(new TreeViewCheckItem("child " + i, 10 + 1, checkItem)); } checkItem.IsChecked = true; Assert.IsTrue(checkItem.Children.All(r => r.IsChecked == true)); }
public void FilterParametersFamilyGroupdItemAddedLater() { TreeViewCheckItem checkItem = new TreeViewCheckItem("root", 0, hasChildren: true); for (int i = 0; i < 10; i++) { checkItem.Children.Add(new TreeViewCheckItem("child " + i, 10 + 1, checkItem)); } checkItem.IsChecked = true; checkItem.Children.Add(new TreeViewCheckItem("late child", 99, checkItem)); Assert.AreEqual(checkItem.IsChecked, null); }
public void FilterParametersFamilyGroupChildrenCheckedUpdateParent() { TreeViewCheckItem checkItem = new TreeViewCheckItem("root", 0, hasChildren: true); for (int i = 0; i < 10; i++) { checkItem.Children.Add(new TreeViewCheckItem("child " + i, 10 + 1, checkItem)); } Assert.AreEqual(checkItem.IsChecked, false); checkItem.Children[0].IsChecked = true; Assert.AreEqual(checkItem.IsChecked, null); for (int i = 1; i < 10; i++) { checkItem.Children[i].IsChecked = true; } Assert.AreEqual(checkItem.IsChecked, true); }