Пример #1
0
        public void SfeelExpressionsTest(int?i, string s, string dtStr, string o)
        {
            DateTime?dt = null;

            if (dtStr != null && dtStr.StartsWith("T"))
            {
                dt = XmlConvert.ToDateTime(dtStr.Substring(1), "HH:mm");
            }
            if (dtStr != null && !dtStr.StartsWith("T"))
            {
                dt = DateTime.ParseExact(dtStr, "yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture);
            }

            ctx.WithInputParameter("num", i);
            ctx.WithInputParameter("str", s);
            ctx.WithInputParameter("dt", dt);
            var result = ctx.Reset().ExecuteDecision("sfeel");

            result.Should().NotBeNull();

            if (o == null)
            {
                result.HasResult.Should().BeFalse();
                result.SingleResult.Should().NotBeNull();
                result.SingleResult.Should().HaveCount(0);
                return;
            }

            result.IsSingleResult.Should().Be(true);
            result.SingleResult.Should().NotBeNull();
            result.SingleResult.Should().HaveCount(1);

            var output = result.SingleResult[0];

            output.Should().NotBeNull();
            output.Name.Should().Be("o");
            output.Value.Should().Be(o).And.BeOfType <string>();
            output.Type.Should().Be(typeof(string));
        }
        public void ComplexObjectInputTest(string name, bool isOk, string direct)
        {
            var dyna = new { Name = name, IsOk = isOk, Direct = direct };

            ctx.WithInputParameter("dyna", dyna);

            var result = ctx.Reset().ExecuteDecision("Test");

            result.Should().NotBeNull();
            result.IsSingleResult.Should().Be(true);
            result.SingleResult.Should().NotBeNull();
            result.SingleResult.Should().HaveCount(1);

            var val    = direct == "over" ? "dyna.Direct==over" : name + isOk + direct;
            var output = result.SingleResult[0];

            output.Should().NotBeNull();
            output.Value.Should().Be(val).And.BeOfType <string>();
            output.Type.Should().Be(typeof(string));
        }
Пример #3
0
        public void ExecAgePlus10()
        {
            ctx.WithInputParameter("Age", 33);
            var result = ctx.ExecuteDecision("Age +10");

            result.Should().NotBeNull();
            result.IsSingleResult.Should().Be(true);
            result.SingleResult.Should().NotBeNull();
            result.SingleResult.Should().HaveCount(1);

            var output = result.SingleResult[0];

            output.Should().NotBeNull();
            output.Name.Should().Be("age10");
            output.Value.Should().Be(43).And.BeOfType <int>();
            output.Type.Should().Be(typeof(int));
        }
Пример #4
0
        public void DateBetweenInputTest()
        {
            ctx.WithInputParameter("Date", new DateTime(2010, 1, 1));

            var result = ctx.ExecuteDecision("date_between_decision");
        }