public void GetErrorDescription() { var simpleConceptInfo = new SimpleConceptInfo { Name = "s", Data = "d" }; var refConceptInfo = new RefConceptInfo { Name = "r", Reference = simpleConceptInfo }; var refRefConceptInfo = new RefRefConceptInfo { Name = "rr", Reference = refConceptInfo }; Assert.AreEqual("Rhetos.Dsl.Test.ConceptInfoHelperTest+RefRefConceptInfo Name=rr Reference=r.s", refRefConceptInfo.GetErrorDescription()); refRefConceptInfo.Name = null; Assert.AreEqual("Rhetos.Dsl.Test.ConceptInfoHelperTest+RefRefConceptInfo Name=<null> Reference=r.s", refRefConceptInfo.GetErrorDescription()); refRefConceptInfo.Name = "rr"; refRefConceptInfo.Reference = null; Assert.AreEqual("Rhetos.Dsl.Test.ConceptInfoHelperTest+RefRefConceptInfo Name=rr Reference=<null>", refRefConceptInfo.GetErrorDescription()); refRefConceptInfo.Reference = refConceptInfo; simpleConceptInfo.Name = null; TestUtility.AssertContains(refRefConceptInfo.GetErrorDescription(), new[] { refRefConceptInfo.GetType().FullName, "Name=rr", "Reference=", "null" }); simpleConceptInfo.Name = "s"; Assert.AreEqual("<null>", ConceptInfoHelper.GetErrorDescription(null)); Assert.AreEqual(typeof(SimpleConceptInfo).FullName + " Name=s Data=<null>", new SimpleConceptInfo { Name = "s", Data = null }.GetErrorDescription()); }
public void GetErrorDescription() { var simpleConceptInfo = new SimpleConceptInfo { Name = "s", Data = "d" }; var refConceptInfo = new RefConceptInfo { Name = "r", Reference = simpleConceptInfo }; var refRefConceptInfo = new RefRefConceptInfo { Name = "rr", Reference = refConceptInfo }; Assert.AreEqual("Rhetos.Dsl.Test.ConceptInfoHelperTest+RefRefConceptInfo Name=rr Reference=r.s", refRefConceptInfo.GetErrorDescription()); refRefConceptInfo.Name = null; Assert.AreEqual("Rhetos.Dsl.Test.ConceptInfoHelperTest+RefRefConceptInfo Name=<null> Reference=r.s", refRefConceptInfo.GetErrorDescription()); refRefConceptInfo.Name = "rr"; refRefConceptInfo.Reference = null; Assert.AreEqual("Rhetos.Dsl.Test.ConceptInfoHelperTest+RefRefConceptInfo Name=rr Reference=<null>", refRefConceptInfo.GetErrorDescription()); refRefConceptInfo.Reference = refConceptInfo; simpleConceptInfo.Name = null; TestUtility.AssertContains(refRefConceptInfo.GetErrorDescription(), new[] { refRefConceptInfo.GetType().FullName, "Name=rr", "Reference=", "null" }); simpleConceptInfo.Name = "s"; Assert.AreEqual("<null>", ConceptInfoHelper.GetErrorDescription(null)); Assert.AreEqual(typeof(SimpleConceptInfo).FullName + " Name=s Data=<null>", new SimpleConceptInfo { Name = "s", Data = null }.GetErrorDescription()); }
public void GetDirectDependencies_NotRecursive() { var simpleConceptInfo = new SimpleConceptInfo("s", "d"); var refConceptInfo = new RefConceptInfo("r", simpleConceptInfo); var refRefConceptInfo = new RefRefConceptInfo("rr", refConceptInfo); var dependencies = refRefConceptInfo.GetDirectDependencies(); Assert.AreEqual(Dump(new IConceptInfo[] { refConceptInfo }), Dump(dependencies)); }
public void GetAllDependencies_Recursive() { var simpleConceptInfo = new SimpleConceptInfo("s", "d"); var refConceptInfo = new RefConceptInfo("r", simpleConceptInfo); var refRefConceptInfo = new RefRefConceptInfo("rr", refConceptInfo); var dependencies = refRefConceptInfo.GetAllDependencies(); Assert.AreEqual(Dump(new IConceptInfo[] { simpleConceptInfo, refConceptInfo }), Dump(dependencies)); }
public void InitializeNonparsableProperties(out IEnumerable <IConceptInfo> createdConcepts) { Name = "a1"; RefToParent = new RefConceptInfo { Name = "ref", Reference = new SimpleConceptInfo { Name = Parent.Name, Data = Parent.Data } }; createdConcepts = new[] { RefToParent }; }
public void ReplaceReferencesWithFullConcepts_UnresolvedReference() { List <IConceptInfo> concepts = new List <IConceptInfo>(); concepts.Add(new SimpleConceptInfo("ax", "aaa")); concepts.Add(new SimpleConceptInfo("cx", "ccc")); RefConceptInfo ci = new RefConceptInfo("rx", new SimpleConceptInfo("bx", null)); concepts.Add(ci); TestUtility.ShouldFail <DslSyntaxException>( () => DslModelFromConcepts(concepts), "Referenced", "REF rx.bx", "SIMPLE bx"); }
public void ReplaceReferencesWithFullConcepts_Test() { List <IConceptInfo> concepts = new List <IConceptInfo>(); concepts.Add(new SimpleConceptInfo("a", "aaa")); concepts.Add(new SimpleConceptInfo("b", "bbb")); concepts.Add(new SimpleConceptInfo("c", "ccc")); RefConceptInfo ci = new RefConceptInfo("r", new SimpleConceptInfo("b", null)); concepts.Add(ci); Assert.AreEqual(null, ci.Reference.Data); DslModelFromConcepts(concepts); Assert.AreEqual("bbb", ci.Reference.Data); }
public void ReplaceReferencesWithFullConcepts_DerivedConcept() { List <IConceptInfo> concepts = new List <IConceptInfo>(); concepts.Add(new DerivedConceptInfo("a", "aaa", "aaaaa")); concepts.Add(new DerivedConceptInfo("b", "bbb", "bbbbb")); concepts.Add(new DerivedConceptInfo("c", "ccc", "aaaaa")); RefConceptInfo ci = new RefConceptInfo("r", new SimpleConceptInfo("b", null)); concepts.Add(ci); Assert.AreEqual(null, ci.Reference.Data); DslModelFromConcepts(concepts); Assert.AreEqual("bbb", ci.Reference.Data); Assert.IsTrue(ci.Reference is DerivedConceptInfo, "ci.Reference is DerivedConceptInfo"); Assert.AreEqual("bbbbb", (ci.Reference as DerivedConceptInfo).Extra); }
public void SortReferencesBeforeUsingConceptTest() { var c1 = new SimpleConceptInfo { Name = "n1", Data = "" }; var c2 = new RefConceptInfo { Name = "n2", Reference = c1 }; List <IConceptInfo> concepts = new List <IConceptInfo>() { c2, c1 }; concepts = DslModelFromConcepts(concepts); Assert.AreEqual(2, concepts.Count); Assert.AreEqual(c1, concepts[0]); Assert.AreEqual(c2, concepts[1]); }
public void SortReferencesBeforeUsingConceptTest() { var c2 = new SimpleConceptInfo { Name = "n1", Data = "" }; var c1 = new RefConceptInfo { Name = "n2", Reference = c2 }; var concepts = new List <IConceptInfo>() { c1, c2 }; var concepts2 = DslModelFromConcepts(concepts); Assert.AreEqual( "REF n2.n1, SIMPLE n1", TestUtility.Dump(concepts, c => c is InitializationConcept ? "InitializationConcept" : c.GetUserDescription())); Assert.AreEqual( "InitializationConcept, SIMPLE n1, REF n2.n1", TestUtility.Dump(concepts2, c => c is InitializationConcept ? "InitializationConcept" : c.GetUserDescription())); }
public void ReplaceReferencesWithFullConcepts_DerivedConcept() { List<IConceptInfo> concepts = new List<IConceptInfo>(); concepts.Add(new DerivedConceptInfo("a", "aaa", "aaaaa")); concepts.Add(new DerivedConceptInfo("b", "bbb", "bbbbb")); concepts.Add(new DerivedConceptInfo("c", "ccc", "aaaaa")); RefConceptInfo ci = new RefConceptInfo("r", new SimpleConceptInfo("b", null)); concepts.Add(ci); Assert.AreEqual(null, ci.Reference.Data); DslModelFromConcepts(concepts); Assert.AreEqual("bbb", ci.Reference.Data); Assert.IsTrue(ci.Reference is DerivedConceptInfo, "ci.Reference is DerivedConceptInfo"); Assert.AreEqual("bbbbb", (ci.Reference as DerivedConceptInfo).Extra); }
public void InitializeNonparsableProperties(out IEnumerable<IConceptInfo> createdConcepts) { Name = "a1"; RefToParent = new RefConceptInfo { Name = "ref", Reference = new SimpleConceptInfo { Name = Parent.Name, Data = Parent.Data } }; createdConcepts = new[] { RefToParent }; }
public RefRefConceptInfo(string name, RefConceptInfo reference) { Name = name; Reference = reference; }
public void ReplaceReferencesWithFullConcepts_Test() { List<IConceptInfo> concepts = new List<IConceptInfo>(); concepts.Add(new SimpleConceptInfo("a", "aaa")); concepts.Add(new SimpleConceptInfo("b", "bbb")); concepts.Add(new SimpleConceptInfo("c", "ccc")); RefConceptInfo ci = new RefConceptInfo("r", new SimpleConceptInfo("b", null)); concepts.Add(ci); Assert.AreEqual(null, ci.Reference.Data); DslModelFromConcepts(concepts); Assert.AreEqual("bbb", ci.Reference.Data); }
public void ReplaceReferencesWithFullConcepts_UnresolvedReference() { try { List<IConceptInfo> concepts = new List<IConceptInfo>(); concepts.Add(new SimpleConceptInfo("ax", "aaa")); concepts.Add(new SimpleConceptInfo("cx", "ccc")); RefConceptInfo ci = new RefConceptInfo("rx", new SimpleConceptInfo("bx", null)); concepts.Add(ci); DslModelFromConcepts(concepts); } catch (Exception ex) { Assert.IsTrue(ex.Message.Contains("eferenc"), "Must contain explanation about \"references\"."); Assert.IsTrue(ex.Message.Contains("RefConceptInfo")); Assert.IsTrue(ex.Message.Contains("SimpleConceptInfo")); Assert.IsTrue(ex.Message.Contains("rx")); Assert.IsTrue(ex.Message.Contains("bx")); throw; } }
public void SortReferencesBeforeUsingConceptTest() { var c1 = new SimpleConceptInfo { Name = "n1", Data = "" }; var c2 = new RefConceptInfo { Name = "n2", Reference = c1 }; List<IConceptInfo> concepts = new List<IConceptInfo>() { c2, c1 }; concepts = DslModelFromConcepts(concepts); Assert.AreEqual(2, concepts.Count); Assert.AreEqual(c1, concepts[0]); Assert.AreEqual(c2, concepts[1]); }
public RefRefConceptInfo(string name, RefConceptInfo reference) { Name = name; Reference = reference; }