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(""); }