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); }
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); }