예제 #1
0
        public void testPath()
        {
            string adl = System.IO.File.ReadAllText(@"..\..\..\..\java-libs\adl-parser\src\test\resources\adl-test-car.paths.test.adl");

            se.acode.openehr.parser.ADLParser  parser    = new se.acode.openehr.parser.ADLParser(adl);
            org.openehr.am.archetype.Archetype archetype = parser.parse();
            Assert.IsNotNull(archetype);
            CComplexObject definition = archetype.getDefinition();

            // root path CAR
            Assert.AreEqual("/", definition.path());

            // wheels attribute
            CAttribute wheels = (CAttribute)definition.getAttributes().get(0);

            Assert.AreEqual("/wheels", wheels.path());

            // first WHEEL node
            CObject firstWheel = (CObject)wheels.getChildren().get(0);

            Assert.AreEqual("/wheels[at0001]", firstWheel.path());

            // description and parts of first WHEEL
            CComplexObject firstWheelObj = (CComplexObject)firstWheel;
            CAttribute     description   = (CAttribute)firstWheelObj.getAttributes().get(0);

            Assert.AreEqual("/wheels[at0001]/description", description.path());
            CAttribute parts = (CAttribute)firstWheelObj.getAttributes().get(1);

            Assert.AreEqual("/wheels[at0001]/parts", parts.path());

            // WHEEL_PART node
            CObject wheelParts = (CObject)parts.getChildren().get(0);

            Assert.AreEqual("/wheels[at0001]/parts[at0002]",
                            wheelParts.path());

            // something and something_else of WHEEL_PART node
            //CComplexObject wheelPartsObj = (CComplexObject)wheelParts;
            //Assert.AreEqual("something of WHEEL_PART",
            //        "/wheels[at0001]/parts[at0002]/something",
            //        wheelPartsObj.getAttributes().get(0).path());

            //Assert.AreEqual("something_else of WHEEL_PART",
            //        "/wheels[at0001]/parts[at0002]/something_else",
            //        wheelPartsObj.getAttributes().get(1).path());
        }