예제 #1
0
        public void deep_topic_graph()
        {
            var graph = new TopicGraph();
            graph.For<CTopic>().Append<DTopic>();
            graph.For<ATopic>().Append<BTopic>().Append<CTopic>();

            graph.Find<ATopic>().ChildNodes.ShouldHaveTheSameElementsAs(TopicNode.For<BTopic>(), TopicNode.For<CTopic>());
            graph.Find<CTopic>().ChildNodes.ShouldHaveTheSameElementsAs(TopicNode.For<DTopic>());
        }
예제 #2
0
        public void deep_topic_graph()
        {
            var graph = new TopicGraph();

            graph.For <CTopic>().Append <DTopic>();
            graph.For <ATopic>().Append <BTopic>().Append <CTopic>();

            graph.Find <ATopic>().ChildNodes.ShouldHaveTheSameElementsAs(TopicNode.For <BTopic>(), TopicNode.For <CTopic>());
            graph.Find <CTopic>().ChildNodes.ShouldHaveTheSameElementsAs(TopicNode.For <DTopic>());
        }
예제 #3
0
        public void got_all()
        {
            var graph = new TopicGraph();
            graph.For<CTopic>().Append<DTopic>();
            graph.For<ATopic>().Append<BTopic>().Append<CTopic>();

            var types = graph.All().Select(x => x.TopicType);

            types.ShouldHaveTheSameElementsAs(typeof(ATopic), typeof(BTopic), typeof(CTopic), typeof(DTopic));
        }
예제 #4
0
        public void find_by_name()
        {
            var graph = new TopicGraph();
            graph.For<CTopic>().Append<DTopic>();
            graph.For<ATopic>().Append<BTopic>().Append<CTopic>();

            graph.FindByName("atopic").TopicType.ShouldEqual(typeof (ATopic));
            graph.FindByName("ctopic").TopicType.ShouldEqual(typeof(CTopic));
            graph.FindByName("dtopic").TopicType.ShouldEqual(typeof(DTopic));
        }
예제 #5
0
        public void got_all()
        {
            var graph = new TopicGraph();

            graph.For <CTopic>().Append <DTopic>();
            graph.For <ATopic>().Append <BTopic>().Append <CTopic>();

            var types = graph.All().Select(x => x.TopicType);

            types.ShouldHaveTheSameElementsAs(typeof(ATopic), typeof(BTopic), typeof(CTopic), typeof(DTopic));
        }
예제 #6
0
        public void find_by_name()
        {
            var graph = new TopicGraph();

            graph.For <CTopic>().Append <DTopic>();
            graph.For <ATopic>().Append <BTopic>().Append <CTopic>();


            graph.FindByName("atopic").TopicType.ShouldEqual(typeof(ATopic));
            graph.FindByName("ctopic").TopicType.ShouldEqual(typeof(CTopic));
            graph.FindByName("dtopic").TopicType.ShouldEqual(typeof(DTopic));
        }
예제 #7
0
        public void can_find_topic_in_children_just_fine()
        {
            var graph = new TopicGraph();

            graph.For <ATopic>().Append <BTopic>().Append <CTopic>();

            graph.Find <BTopic>().Parent.ShouldBeTheSameAs(graph.Find <ATopic>());
            graph.Find <CTopic>().Parent.ShouldBeTheSameAs(graph.Find <ATopic>());

            graph.TopLevelNodes().ShouldHaveTheSameElementsAs(TopicNode.For <ATopic>());
        }
예제 #8
0
        public void can_find_topic_in_children_just_fine()
        {
            var graph = new TopicGraph();

            graph.For<ATopic>().Append<BTopic>().Append<CTopic>();

            graph.Find<BTopic>().Parent.ShouldBeTheSameAs(graph.Find<ATopic>());
            graph.Find<CTopic>().Parent.ShouldBeTheSameAs(graph.Find<ATopic>());

            graph.TopLevelNodes().ShouldHaveTheSameElementsAs(TopicNode.For<ATopic>());
        }