Exemplo n.º 1
0
        public void TestMergingNodeGroups()
        {
            /* test the case where two node groups come from the "same" model and completely share the sparqlIDs */
            List <NodeGroup> nodeGroupsToMerge = new List <NodeGroup>();
            NodeGroup        ng_001            = new NodeGroup();
            NodeGroup        ng_002            = new NodeGroup();

            JsonObject jsonRenderedNodeGroup = (JsonObject.Parse(jsonContent)).GetNamedObject("sNodeGroup");

            ng_001.AddJsonEncodedNodeGroup(jsonRenderedNodeGroup);
            ng_002.AddJsonEncodedNodeGroup(jsonRenderedNodeGroup);

            nodeGroupsToMerge.Add(ng_001);
            nodeGroupsToMerge.Add(ng_002);

            NodeGroup ngMerged = new NodeGroup();

            ngMerged.AddJsonEncodedNodeGroup(ng_001.ToJson());
            ngMerged.AddJsonEncodedNodeGroup(ng_002.ToJson());

            Assert.IsTrue(ngMerged.GetNodeCount() == (ng_001.GetNodeCount() + ng_002.GetNodeCount()));

            // a bit of Debug outputs:

            Debug.WriteLine("Node group 1 sparqlIDs :");
            foreach (String currId in ng_001.GetSparqlNameHash().Keys)
            {
                Debug.Write(currId + " | ");
            }
            Debug.WriteLine("");

            Debug.WriteLine("Node group 2 sparqlIDs :");
            foreach (String currId in ng_002.GetSparqlNameHash().Keys)
            {
                Debug.Write(currId + " | ");
            }
            Debug.WriteLine("");

            Debug.WriteLine("Node group (merged) sparqlIDs :");
            foreach (String currId in ngMerged.GetSparqlNameHash().Keys)
            {
                Debug.Write(currId + " | ");
            }
            Debug.WriteLine("");
        }