public void Evaluate() { ParserContext pc = new ParserContext(ParserContext.DefaultBufferSize); FormatterContext fc = new FormatterContext(FormatterContext.DefaultBufferSize); MtiEqualsExpression ee = new MtiEqualsExpression(200, new MessageExpression()); // Passing null message (as parameter and in the contexts). try { ee.EvaluateParse(ref pc); Assert.Fail(); } catch (ExpressionEvaluationException) { } try { ee.EvaluateFormat(new StringField(3, "000000"), ref fc); Assert.Fail(); } catch (ExpressionEvaluationException) { } // Evaluate with incorrect message type. Message msg = MessagesProvider.GetMessage(); pc.CurrentMessage = msg; try { ee.EvaluateParse(ref pc); Assert.Fail(); } catch (ExpressionEvaluationException) { } fc.CurrentMessage = msg; try { ee.EvaluateFormat(new StringField(3, "000000"), ref fc); Assert.Fail(); } catch (ExpressionEvaluationException) { } // Evaluate against an ISO 8583 message. Iso8583Message isoMsg = MessagesProvider.GetIso8583Message(); pc.CurrentMessage = isoMsg; Assert.IsTrue(ee.EvaluateParse(ref pc)); fc.CurrentMessage = isoMsg; Assert.IsTrue(ee.EvaluateFormat(new StringField(3, "000000"), ref fc)); isoMsg = MessagesProvider.GetAnotherIso8583Message(); pc.CurrentMessage = isoMsg; Assert.IsFalse(ee.EvaluateParse(ref pc)); fc.CurrentMessage = isoMsg; Assert.IsFalse(ee.EvaluateFormat(new StringField(3, "000000"), ref fc)); }
public void InstantiationAndProperties() { MtiEqualsExpression ee = new MtiEqualsExpression(); Assert.IsTrue(ee.Mti == -1); Assert.IsNull(ee.MessageExpression); MessageExpression me = new MessageExpression(); ee = new MtiEqualsExpression(200, me); Assert.IsTrue(ee.Mti == 200); Assert.IsTrue(ee.MessageExpression == me); ee.Mti = 210; ee.MessageExpression = null; Assert.IsTrue(ee.Mti == 210); Assert.IsNull(ee.MessageExpression); }