public void TestValidate() { DomNodeType childType = new DomNodeType("child"); DomNodeType parentType = new DomNodeType("parent"); ChildInfo childInfo = new ChildInfo("child", childType, true); parentType.Define(childInfo); DomNode parent = new DomNode(parentType); IList<DomNode> childList = parent.GetChildList(childInfo); DomNode child1 = new DomNode(childType); DomNode child2 = new DomNode(childType); DomNode child3 = new DomNode(childType); ChildCountRule test = new ChildCountRule(1, 2); // 0 children. Not valid. Assert.False(test.Validate(parent, null, childInfo)); // 1 child. Valid. childList.Add(child1); Assert.True(test.Validate(parent, null, childInfo)); // 2 children. Valid. childList.Add(child2); Assert.True(test.Validate(parent, null, childInfo)); // 3 children. Not valid. childList.Add(child3); Assert.False(test.Validate(parent, null, childInfo)); // 0 children. Not valid. childList.Clear(); Assert.False(test.Validate(parent, null, childInfo)); }
public TestDataValidator() { m_childType = new DomNodeType("child"); m_parentType = new DomNodeType("parent"); m_parentType.Define(new ExtensionInfo<ValidationContext>()); m_parentType.Define(new ExtensionInfo<DataValidator>()); m_childCountRule = new ChildCountRule(2, 3); m_childInfo = new ChildInfo("child", m_childType, true); m_parentType.Define(m_childInfo); m_childInfo.AddRule(m_childCountRule); m_parent = new DomNode(m_parentType); m_parent.InitializeExtensions(); m_validationContext = m_parent.As<ValidationContext>(); m_child1 = new DomNode(m_childType); m_child2 = new DomNode(m_childType); m_child3 = new DomNode(m_childType); m_child4 = new DomNode(m_childType); }