public void AssignDescriptionToMultiple() { var action = TraverserActions.AssignDescriptions as ITraverserAction <NamedDescription>; var basic = new XElement("Basic"); var detailed = new XElement("Detailed"); var description = new NamedDescription("child1", basic, detailed, new List <FileLine>()); var child1 = new TestClass("child1", CollectionUtils.Empty <IContained>()); var child1Dash = new TestClass("child1", CollectionUtils.Empty <IContained>()); var subObjects = new List <IContained> { child1, child1Dash, description }; var parent = new TestClass("parent", subObjects); action.Act(description, new StandardErrorListener <TraverserException>()); Assert.IsTrue(!parent.SubObjects.Contains(description)); var newDesc = child1.SubObjects.OfType <Description>().Single(); Assert.IsTrue(newDesc.Basic == basic); Assert.IsTrue(newDesc.Detailed == detailed); newDesc = child1Dash.SubObjects.OfType <Description>().Single(); Assert.IsTrue(newDesc.Basic == basic); Assert.IsTrue(newDesc.Detailed == detailed); }
public void InCorrentLink() { { var action = TraverserActions.CheckDescriptionLinkage as ITraverserAction <NamedDescription>; var basic = new XElement("Basic"); var detailed = new XElement("Detailed"); var description = new NamedDescription("wrong", basic, detailed, new List <FileLine>()); var child1 = new TestClass("child1", new[] { description }); Assert.Throws(typeof(TraverserException), () => action.Act(description, new StandardErrorListener <TraverserException>())); } }