示例#1
0
        public void ParseElevationSample()
        {
            string expression = @"name ++ ""sdsd"" ++ ele ""($1f $elevation)""";

            LabelExpressionParser parser           = new LabelExpressionParser();
            LabelExpression       parsedExpression = parser.Parse(expression, 0);

            int i = 0;

            Assert.IsInstanceOfType(typeof(OsmKeyLabelExpressionElement), parsedExpression.Elements [i]);
            OsmKeyLabelExpressionElement osmKeyLabelExpressionElement = (OsmKeyLabelExpressionElement)parsedExpression.Elements[i++];

            Assert.AreEqual("name", osmKeyLabelExpressionElement.KeyName);
            Assert.IsNull(osmKeyLabelExpressionElement.ConditionalElement);

            Assert.IsInstanceOfType(typeof(FormatLabelExpressionElement), parsedExpression.Elements [i]);
            FormatLabelExpressionElement formatLabelExpressionElement = (FormatLabelExpressionElement)parsedExpression.Elements[i++];

            Assert.AreEqual("sdsd", formatLabelExpressionElement.Format);

            Assert.IsInstanceOfType(typeof(OsmKeyLabelExpressionElement), parsedExpression.Elements [i]);
            osmKeyLabelExpressionElement = (OsmKeyLabelExpressionElement)parsedExpression.Elements[i++];
            Assert.AreEqual("ele", osmKeyLabelExpressionElement.KeyName);
            Assert.IsInstanceOfType(typeof(FormatLabelExpressionElement), osmKeyLabelExpressionElement.ConditionalElement);
            formatLabelExpressionElement = (FormatLabelExpressionElement)osmKeyLabelExpressionElement.ConditionalElement;
            Assert.AreEqual("($1f $elevation)", formatLabelExpressionElement.Format);
        }
示例#2
0
        public void ParseRelationLabel()
        {
            string expression = @"relation:name";

            LabelExpressionParser parser           = new LabelExpressionParser();
            LabelExpression       parsedExpression = parser.Parse(expression, 0);

            int i = 0;

            Assert.IsInstanceOfType(typeof(OsmKeyLabelExpressionElement), parsedExpression.Elements[i]);
            OsmKeyLabelExpressionElement osmKeyLabelExpressionElement = (OsmKeyLabelExpressionElement)parsedExpression.Elements[i++];

            Assert.AreEqual("relation:name", osmKeyLabelExpressionElement.KeyName);
            Assert.IsNull(osmKeyLabelExpressionElement.ConditionalElement);
        }