public void TestFullyDefinedOperators() { XmlElement decimalDef = Document( "<decimal name='composed'><mantissa><delta dictionary='template' key='variable' value='100'/></mantissa><exponent><copy dictionary='template' key='static' value='-2'/></exponent></decimal>"); Assert.IsTrue(_parser.CanParse(decimalDef, _context)); var decimalt = (ComposedScalar)_parser.Parse(decimalDef, _context); AssertComposedScalarField(decimalt, FastType.Decimal, "composed", Operator.Copy, new IntegerValue(-2), Operator.Delta, new IntegerValue(100)); Scalar exponent = decimalt.Fields[0]; Scalar mantissa = decimalt.Fields[1]; Assert.AreEqual("template", exponent.Dictionary); Assert.AreEqual(new QName("static"), exponent.Key); Assert.AreEqual("template", exponent.Dictionary); Assert.AreEqual(new QName("variable"), mantissa.Key); }
public IFieldParser GetFieldParser(XmlElement element) { List <IFieldParser> parsers = FieldParsers; for (int i = parsers.Count - 1; i >= 0; i--) { IFieldParser fieldParser = parsers[i]; if (fieldParser.CanParse(element, this)) { return(fieldParser); } } return(null); }