public Solution ParseSolution() { var solutionFileParser = new SolutionFileParser(configuration); var solutionFilePath = Path.Combine(configuration.SolutionPath, string.Format("{0}.myproj", Path.GetFileName(configuration.SolutionPath))); var solution = solutionFileParser.ParseSolutionFile(LoadFileContent(solutionFilePath)); var boParser = new BusinessObjectParser(configuration); foreach (var boFile in solution.BusinessObjectFiles) { var fullBoPath = Path.Combine(configuration.SolutionPath, boFile); var bo = boParser.ParseBusinessObject(LoadFileContent(fullBoPath)); solution.BusinessObjects.AddLast(bo); } return solution; }
public void BusinessObjectWithDocumentationTest() { var boText = @"import AP.Common.GDT as apCommonGDT; /// Some BO Docu Text businessobject TestBO { /// Some TestBO_ID Element Docu Test element TestBO_ID :ID; /// Docu Line 1 for SomeNode /// Docu Line 2 for SomeNode node SomeNode [0,n]{ /// Docu Line 1 for element1 /// Docu Line 2 for element1 /// Docu Line 3 for element1 [Label (""element1"")] element element1 :ID; } }"; var parser = new BusinessObjectParser(TestConfiguration); var parsedBo = parser.ParseBusinessObject(boText); // Check BO Root Node Assert.AreEqual("TestBO", parsedBo.Name); Assert.AreEqual(NodeType.BusinessObject, parsedBo.NodeType); Assert.AreEqual(1, parsedBo.DocumentationLines.Count); // Check Element Assert.AreEqual(1, parsedBo.Element.Count); var e = parsedBo.Element.First.Value; Assert.AreEqual("TestBO_ID", e.Name); Assert.AreEqual("ID", e.DataType); Assert.AreEqual(0, e.Annotation.Count); Assert.AreEqual(1, e.DocumentationLines.Count); // Check ChildNode Assert.AreEqual(1, parsedBo.ChildNode.Count); Assert.AreEqual(2, parsedBo.ChildNode.First.Value.DocumentationLines.Count); Assert.AreEqual(3, parsedBo.ChildNode.First.Value.Element.First.Value.DocumentationLines.Count); }
public void SimpleBusinessObjectTest() { var boText = @"import AP.Common.GDT as apCommonGDT; businessobject TestBO { element TestBO_ID :ID; }"; var parser = new BusinessObjectParser(TestConfiguration); var parsedBo = parser.ParseBusinessObject(boText); // Check BO Root Node Assert.AreEqual("TestBO", parsedBo.Name); Assert.AreEqual(NodeType.BusinessObject, parsedBo.NodeType); // Check Element Assert.AreEqual(1, parsedBo.Element.Count); var e = parsedBo.Element.First.Value; Assert.AreEqual("TestBO_ID", e.Name); Assert.AreEqual("ID", e.DataType); Assert.AreEqual(0, e.Annotation.Count); }
public void SimpleBusinessObjectWithSpecialNodesTest() { var boText = @"import AP.Common.GDT as apCommonGDT; businessobject TestBO { element TestBO_ID :ID; [DependentObject(TextCollection)] [MultipleTexts] node TextCollection; [DependentObject(AttachmentFolder)] node AttachementFolder; }"; var parser = new BusinessObjectParser(TestConfiguration); var parsedBo = parser.ParseBusinessObject(boText); // Check BO Root Node Assert.AreEqual("TestBO", parsedBo.Name); Assert.AreEqual(NodeType.BusinessObject, parsedBo.NodeType); // Check Element Assert.AreEqual(1, parsedBo.Element.Count); var e = parsedBo.Element.First.Value; Assert.AreEqual("TestBO_ID", e.Name); Assert.AreEqual("ID", e.DataType); Assert.AreEqual(0, e.Annotation.Count); // Check ChildNodes Assert.AreEqual(2, parsedBo.ChildNode.Count); }
public void SimpleBusinessObjectWithNodeTest() { var boText = @"import AP.Common.GDT as apCommonGDT; businessobject TestBO { element TestBO_ID :ID; node SomeNode [0,n]{ [Transient] [Label (""element1"")] element element1 : Percent; [Label (""element2"")] element element2 :ID; association ToSomething to Something; } }"; var parser = new BusinessObjectParser(TestConfiguration); var parsedBo = parser.ParseBusinessObject(boText); // Check BO Root Node Assert.AreEqual("TestBO", parsedBo.Name); Assert.AreEqual(NodeType.BusinessObject, parsedBo.NodeType); // Check Element Assert.AreEqual(1, parsedBo.Element.Count); var e = parsedBo.Element.First.Value; Assert.AreEqual("TestBO_ID", e.Name); Assert.AreEqual("ID", e.DataType); Assert.AreEqual(0, e.Annotation.Count); // Check ChildNode Assert.AreEqual(1, parsedBo.ChildNode.Count); Assert.AreEqual(Multiplicity.ZeroToN, parsedBo.ChildNode.First.Value.Multiplicity); // Check Child Node Content Assert.AreEqual(2, parsedBo.ChildNode.First.Value.Element.Count); Assert.AreEqual(1, parsedBo.ChildNode.First.Value.Association.Count); }
public void SimpleBusinessObjectWithNodesTest() { var boText = @"import AP.Common.GDT as apCommonGDT; businessobject TestBO { element TestBO_ID :ID; node SomeNode [0,n]{ [Label (""element1"")] element element1 :ID; } node SomeOtherNode [0,n]{ [Label (""element1"")] element element1 :ID; } }"; var parser = new BusinessObjectParser(TestConfiguration); var parsedBo = parser.ParseBusinessObject(boText); // Check BO Root Node Assert.AreEqual("TestBO", parsedBo.Name); Assert.AreEqual(NodeType.BusinessObject, parsedBo.NodeType); // Check Element Assert.AreEqual(1, parsedBo.Element.Count); var e = parsedBo.Element.First.Value; Assert.AreEqual("TestBO_ID", e.Name); Assert.AreEqual("ID", e.DataType); Assert.AreEqual(0, e.Annotation.Count); // Check ChildNodes Assert.AreEqual(2, parsedBo.ChildNode.Count); }
public void SimpleBusinessObjectWithMessageTest() { var boText = @"import AP.Common.GDT as apCommonGDT; businessobject TestBO { message TEST_MESSAGE_ABC text ""Some message text""; element TestBO_ID :ID; }"; var parser = new BusinessObjectParser(TestConfiguration); var parsedBo = parser.ParseBusinessObject(boText); // Check BO Root Node Assert.AreEqual("TestBO", parsedBo.Name); Assert.AreEqual(NodeType.BusinessObject, parsedBo.NodeType); // Check Element Assert.AreEqual(1, parsedBo.Element.Count); var e = parsedBo.Element.First.Value; Assert.AreEqual("TestBO_ID", e.Name); Assert.AreEqual("ID", e.DataType); // Check Message Assert.AreEqual(1, parsedBo.Message.Count); var m = parsedBo.Message.First.Value; Assert.AreEqual("TEST_MESSAGE_ABC", m.Name); Assert.AreEqual("Some message text", m.Text); Assert.AreEqual(0, m.PlaceHolderDataTypes.Count); }
public void SimpleBusinessObjectWithAssociationTest() { var boText = @"import AP.Common.GDT as apCommonGDT; businessobject TestBO { element TestBO_ID :ID; association ToCustomer [0,1] to Customer; }"; var parser = new BusinessObjectParser(TestConfiguration); var parsedBo = parser.ParseBusinessObject(boText); // Check BO Root Node Assert.AreEqual("TestBO", parsedBo.Name); Assert.AreEqual(NodeType.BusinessObject, parsedBo.NodeType); // Check Element Assert.AreEqual(1, parsedBo.Element.Count); var e = parsedBo.Element.First.Value; Assert.AreEqual("TestBO_ID", e.Name); Assert.AreEqual("ID", e.DataType); Assert.AreEqual(0, e.Annotation.Count); // Check Assoziation Assert.AreEqual(1, parsedBo.Association.Count); var a = parsedBo.Association.First.Value; Assert.AreEqual("ToCustomer", a.Name); Assert.AreEqual(Multiplicity.ZeroToOne, a.Multiplicity); Assert.AreEqual("Customer", a.Target); }