public void BasicParseTest() { string sig = "[A]([B])"; ColoredTree tree = AbstractVertexSignature.Parse(sig); Assert.AreEqual(sig, tree.ToString()); }
public void MultipleLevelsParseTest() { string sig = "[A]([B1]([C])[B2])"; ColoredTree tree = AbstractVertexSignature.Parse(sig); Assert.AreEqual(sig, tree.ToString()); }
public void ReconstructCanonicalGraph(AbstractVertexSignature signature, AbstractGraphBuilder builder) { var canonicalString = this.ToCanonicalString(); var tree = AbstractVertexSignature.Parse(canonicalString); builder.MakeFromColoredTree(tree); }
public void EdgeLabelMultipleLevelsParseTest() { string sig = "[A](=[B1]([C])=[B2])"; ColoredTree tree = AbstractVertexSignature.Parse(sig); Console.Out.WriteLine(tree.ToString()); Assert.AreEqual(sig, tree.ToString()); }
public string ReconstructCanonicalEdgeString() { var canonicalString = this.ToCanonicalString(); var builder = new VirtualGraphBuilder(); builder.MakeFromColoredTree(AbstractVertexSignature.Parse(canonicalString)); return(builder.ToEdgeString()); }
public int[] GetCanonicalLabels() { int n = GetVertexCount(); AbstractVertexSignature canonicalSignature = null; string canonicalSignatureString = null; for (int i = 0; i < n; i++) { var signatureForVertexI = SignatureForVertex(i); var signatureString = signatureForVertexI.ToCanonicalString(); if (canonicalSignature == null || string.Compare(signatureString, canonicalSignatureString, StringComparison.Ordinal) < 0) { canonicalSignature = signatureForVertexI; canonicalSignatureString = signatureString; } } return(canonicalSignature.GetCanonicalLabelling(n)); }