public void AddTitanVertexCentricIndex()
        {
            WeaverEdgeSchema pkp = vSchema.GetEdgeSchema(typeof(PersonKnowsPerson).Name);
            WeaverEdgeSchema rhp = vSchema.GetEdgeSchema(typeof(RootHasPerson).Name);

            Assert.AreEqual(2, vProp.AddTitanVertexCentricIndex(pkp), "Incorrect count 2.");
            Assert.AreEqual(3, vProp.AddTitanVertexCentricIndex(rhp), "Incorrect count 3.");
        }
Esempio n. 2
0
        public void InVertexConnFail()
        {
            var rs = new WeaverEdgeSchema(null, "TestDoesPass", "TDP", "Does", null);

            WeaverTestUtil.CheckThrows <WeaverException>(true,
                                                         () => rs.InVertexConn = WeaverEdgeConn.OutOne
                                                         );
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        protected override void SetUp()
        {
            base.SetUp();
            vSchema = new TestSchema();

            vPlc = vSchema.GetEdgeSchema(typeof(PersonLikesCandy).Name);

            vProp = new WeaverTitanPropSchema("TestProp", "TP", typeof(string));
            vProp.AddTitanVertexCentricIndex(vPlc);
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public int AddTitanVertexCentricIndex(WeaverEdgeSchema pEdge)
        {
            if (vVertCent.ContainsKey(pEdge.DbName))
            {
                throw new WeaverException(GetType().Name, DbName, "A vertex-centric index was already " +
                                          "added for the edge named '" + pEdge.DbName + "'.");
            }

            vVertCent.Add(pEdge.DbName, pEdge);
            return(vVertCent.Keys.Count);
        }
Esempio n. 5
0
        public void Constructor()
        {
            var outVert = new WeaverVertexSchema("FROM", "F");
            var inVert  = new WeaverVertexSchema("TO", "T");
            var rs      = new WeaverEdgeSchema(outVert, "FromLikesTo", "FLT", "Likes", inVert);

            Assert.AreEqual(outVert, rs.OutVertex, "Incorrect FromNode.");
            Assert.AreEqual("FromLikesTo", rs.Name, "Incorrect Name.");
            Assert.AreEqual(inVert, rs.InVertex, "Incorrect ToNode.");
            Assert.AreEqual(WeaverEdgeConn.OutZeroOrMore, rs.OutVertexConn, "Incorrect FromNodeComm.");
            Assert.AreEqual(WeaverEdgeConn.InZeroOrMore, rs.InVertexConn, "Incorrect ToNodeComm.");
        }
        public void GetTitanVertexCentricIndexes()
        {
            WeaverEdgeSchema pkp = vSchema.GetEdgeSchema(typeof(PersonKnowsPerson).Name);
            WeaverEdgeSchema rhp = vSchema.GetEdgeSchema(typeof(RootHasPerson).Name);

            vProp.AddTitanVertexCentricIndex(pkp);
            vProp.AddTitanVertexCentricIndex(rhp);

            WeaverEdgeSchema[] result = vProp.GetTitanVertexCentricIndexes();

            Assert.NotNull(result, "Result should be filled.");
            Assert.AreEqual(3, result.Length, "Incorrect result length.");

            WeaverEdgeSchema[] expect = new[] { vPlc, pkp, rhp };
            Assert.AreEqual(expect, result, "Incorrect result contents.");
        }
Esempio n. 7
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public TestSchema()
        {
            Vertices = new List <WeaverVertexSchema>();
            Edges    = new List <WeaverEdgeSchema>();

            WeaverPropSchema ps;

            ////

            var vert = new WeaverVertexSchema("TestVertex", "Tn");

            Vertices.Add(vert);

            ps = new WeaverPropSchema("Id", "Id", typeof(string));
            vert.Props.Add(ps);

            ps = new WeaverPropSchema("Name", Vertex_Name, typeof(string));
            vert.Props.Add(ps);

            ////

            var item = new WeaverVertexSchema("TestItem", "Ti");

            Vertices.Add(item);

            ps = new WeaverPropSchema("Value", "Val", typeof(string));
            item.Props.Add(ps);

            ////

            var root = new WeaverVertexSchema("Root", "Root");

            Vertices.Add(root);

            ////

            var per = new WeaverVertexSchema("Person", "Per");

            per.BaseVertex = vert;
            Vertices.Add(per);

            ps = new WeaverPropSchema("PersonId", Person_PersonId, typeof(int));
            per.Props.Add(ps);

            ps = new WeaverPropSchema("IsMale", Person_IsMale, typeof(bool));
            per.Props.Add(ps);

            ps = new WeaverPropSchema("Age", Person_Age, typeof(float));
            per.Props.Add(ps);

            ps = new WeaverPropSchema("Note", Person_Note, typeof(string));
            per.Props.Add(ps);

            ////

            var can = new WeaverVertexSchema("Candy", "Can");

            can.BaseVertex = vert;
            Vertices.Add(can);

            ps = new WeaverPropSchema("CandyId", "CanId", typeof(int));
            can.Props.Add(ps);

            ps = new WeaverPropSchema("IsChocolate", Candy_IsChocolate, typeof(bool));
            can.Props.Add(ps);

            ps = new WeaverPropSchema("Calories", Candy_Calories, typeof(int));
            can.Props.Add(ps);

            ////

            var rootHasPer = new WeaverEdgeSchema(root, "RootHasPerson", RootHasPerson, "Has", per);

            Edges.Add(rootHasPer);

            ////

            var rootHasCan = new WeaverEdgeSchema(root, "RootHasCandy", "RHC", "Has", per);

            Edges.Add(rootHasCan);

            ////

            var perKnowsPer = new WeaverEdgeSchema(
                per, "PersonKnowsPerson", PersonKnowsPerson, "Knows", per);

            Edges.Add(perKnowsPer);

            ps = new WeaverPropSchema("MetOnDate", "Met", typeof(string));
            perKnowsPer.Props.Add(ps);

            ps = new WeaverPropSchema("Amount", "Amt", typeof(float));
            perKnowsPer.Props.Add(ps);

            ////

            var perLikesCan = new WeaverEdgeSchema(
                root, "PersonLikesCandy", PersonLikesCandy, "Likes", per);

            Edges.Add(perLikesCan);

            ps = new WeaverPropSchema("TimesEaten", PersonLikesCandy_TimesEaten, typeof(int));
            perLikesCan.Props.Add(ps);

            ps = new WeaverPropSchema("Enjoyment", PersonLikesCandy_Enjoyment, typeof(float));
            perLikesCan.Props.Add(ps);

            ps = new WeaverPropSchema("Notes", PersonLikesCandy_Notes, typeof(string));
            perLikesCan.Props.Add(ps);
        }
 /*--------------------------------------------------------------------------------------------*/
 public bool HasTitanVertexCentricIndex(WeaverEdgeSchema pEdge)
 {
     return(HasTitanVertexCentricIndex(pEdge.DbName));
 }