public void ProgramminglanguageJavaDeleteTest() { ReportDetail("ProgramminglanguageJavaDeleteTest"); var dataSource = this.Graph; var factory = new ThingEntityGraphFactory <EntityProgrammingLanguageFactory>(); factory.Populate(dataSource); var java = new TestItem(factory.Nodes[3].Id, null, null, null); // Java var programming = new TestItem(factory.Nodes[1].Id, null, null, null); // Programming var programming2Language = new TestItem(factory.Edges[1].Id, null, null, null); // Programming->Language this.Close(); dataSource = this.Graph; java.thing = dataSource.GetById(java.id); programming.thing = dataSource.GetById(programming.id); programming2Language.thing = dataSource.GetById(programming2Language.id); Expand <IThing, ILink>(dataSource, programming.thing); var dataSourceTwigs = dataSource.Twig(java.thing); Remove <IThing, ILink>(dataSource, java.thing); IsRemoved <IThing, ILink>(dataSource, programming.thing, java.thing); IsRemoved <IThing, ILink>(dataSource, dataSourceTwigs); IsRemoved <IThing, ILink> (dataSource, dataSource.Twig(programming2Language.thing), java.thing); }
public void ThingGraphFactory() { var graph = new VisualThingGraph(); var factory = new ThingEntityGraphFactory <ProgrammingLanguageFactory <IGraphEntity, IGraphEdge> > (); factory.Populate(graph.Source); Trace.Write( GraphTestUtils.ReportGraph <IThing, ILink> (graph.Source, factory.Name)); }
public void FoldingExpandTest() { var graph = new VisualThingGraph(); var test = new EntityProgrammingSceneTest(); test.Mock.SampleFactory.Graph = graph; test.Mock.Scene = new Scene(); test.Mock.Scene.Graph = graph; var factory = new ThingEntityGraphFactory <ProgrammingLanguageFactory <IGraphEntity, IGraphEdge> > (); factory.Count = 10; factory.Populate(graph.Source); test.Mock.SetFocused(graph.Get(factory.Nodes[1])); Trace.Write( GraphTestUtils.ReportGraph <IVisual, IVisualEdge> (graph.Sink, factory.Name)); test.Mock.SceneFacade.Expand(false); Trace.Write( GraphTestUtils.ReportGraph <IVisual, IVisualEdge> (graph.Sink, factory.Name)); }
public void ProgramminglanguageJavaDeleteTestPingBack() { ReportDetail("ProgramminglanguageJavaDeleteTestPingBack"); var dataSource = this.Graph; var factory = new ThingEntityGraphFactory <EntityProgrammingLanguageFactory> (); factory.Populate(dataSource); var java = new TestItem(factory.Nodes[3].Id, null, null, null); // Java var list = new TestItem(factory.Nodes[7].Id, null, null, null); // List var programming = new TestItem(factory.Nodes[1].Id, null, null, null); // Programming var programming2Language = new TestItem(factory.Edges[1].Id, null, null, null); // Programming->Language this.Close(); dataSource = this.Graph; java.thing = dataSource.GetById(java.id); list.thing = dataSource.GetById(list.id); programming2Language.thing = dataSource.GetById(programming2Language.id); programming.thing = dataSource.GetById(programming.id); var pairOne = new VisualThingGraph(new VisualGraph(), dataSource); var viewOne = new SubGraph <IVisual, IVisualEdge>(pairOne, new VisualGraph()); programming.one = pairOne.Get(programming.thing); // Programming // expand viewOne: foreach (var item in pairOne.Walk().DeepWalk(programming.one, 0)) { viewOne.Sink.Add(item.Node); } var pairOneTwigs = pairOne.Twig(java.one); var dataSourceTwigs = dataSource.Twig(java.thing); var pairTwo = new VisualThingGraph(new VisualGraph(), dataSource); var viewTwo = new SubGraph <IVisual, IVisualEdge>(pairTwo, new VisualGraph()); java.one = pairOne.Get(java.thing); java.two = pairTwo.Get(java.thing); programming.two = pairTwo.Get(programming.thing); // delete over PingBack in both views: var deleteCollection = new List <IVisualEdge>(viewOne.PostorderTwig(java.one)); foreach (var linkOne in deleteCollection) // Java { var linkTwo = viewOne.LookUp <IVisual, IVisualEdge, IThing, ILink>(viewTwo, linkOne); viewTwo.Remove(linkTwo); viewOne.Remove(linkOne); } java.two = viewOne.LookUp <IVisual, IVisualEdge, IThing, ILink>(viewTwo, java.one); viewTwo.Remove(java.two); viewOne.Remove(java.one); // testing the dataSource: IsRemoved <IThing, ILink>(dataSource, programming.thing, java.thing); var edges = dataSource.Edges(programming2Language.thing); foreach (var link in edges) { Assert.AreNotEqual(link.Root, java.thing); Assert.AreNotEqual(link.Leaf, java.thing); } IsRemoved <IThing, ILink>(dataSource, dataSourceTwigs); // testing pairOne IsRemoved <IVisual, IVisualEdge>(pairOne, programming.one, java.one); IsRemoved <IVisual, IVisualEdge>(pairOne, pairOneTwigs); // testing pairTwo IsRemoved <IVisual, IVisualEdge>(pairTwo, programming.two, java.two); }
public virtual void ProgramminglanguageJavaDeleteTest2() { var target = this.Graph; var factory = new ThingEntityGraphFactory <EntityProgrammingLanguageFactory>(); factory.Populate(target); var testThing = factory.Nodes[3]; // Java var testThing2 = factory.Nodes[7]; // List var testThing3 = factory.Edges[1]; // Programming->Language var testThing4 = factory.Nodes[1]; // Programming var pair = new HollowGraphPair <IGraphEntity, IThing, IGraphEdge, ILink> ( new Limaki.Graphs.Graph <IGraphEntity, IGraphEdge> (), target, new GraphEntity2ThingTransformer() ); pair.Mapper.ConvertSourceSink(); var testEntity = pair.Get(testThing); var testItem4 = pair.Get(testThing4); Assert.IsTrue(target.Contains(testThing)); var deleteCollection = new List <IGraphEdge>(pair.PostorderTwig(testEntity)); foreach (var link in deleteCollection) // Java { pair.Remove(link); } pair.Remove(testEntity); // Java foreach (var link in deleteCollection) // Java { pair.Remove(link); } pair.Remove(testEntity); // Java foreach (var item in pair.Source.Walk().DeepWalk(testThing4, 0)) { var thing = item.Node; Assert.AreNotEqual(thing, testThing); if (thing is ILink) { var link = (ILink)thing; Assert.AreNotEqual(link.Root, testThing); Assert.AreNotEqual(link.Leaf, testThing); } } foreach (var item in pair.Walk().DeepWalk(testItem4, 0)) { var thing = item.Node; Assert.AreNotEqual(thing, testEntity); if (thing is IGraphEdge) { var link = (IGraphEdge)thing; Assert.AreNotEqual(link.Root, testEntity); Assert.AreNotEqual(link.Leaf, testEntity); } } ReportSummary(); }