private (Rs.ResultSet rs, ISequenceResolver resolver) Initialize()
        {
            var dataTable = new DataTable()
            {
                TableName = "MyTable"
            };

            dataTable.Columns.Add(new DataColumn("Id"));
            dataTable.Columns.Add(new DataColumn("Numeric value"));
            dataTable.Columns.Add(new DataColumn("Boolean value"));
            for (int i = 0; i < 20; i++)
            {
                dataTable.LoadDataRow(new object[] { "Alpha", i, true }, false);
            }
            dataTable.AcceptChanges();
            var rs = new Rs.ResultSet();

            rs.Load(dataTable);

            var scalarResolvers = new List <IScalarResolver>()
            {
                new LiteralScalarResolver <string>("2015-01-01"),
                new LiteralScalarResolver <string>("2016-01-01"),
                new LiteralScalarResolver <string>("2017-01-01"),
            };
            var args     = new ListSequenceResolverArgs(scalarResolvers);
            var resolver = new ListSequenceResolver <DateTime>(args);

            return(rs, resolver);
        }
Ejemplo n.º 2
0
        public void Instantiate_List_ListSequenceResolver()
        {
            var resolvers = new List <IScalarResolver>()
            {
                new LiteralScalarResolver <string>("2015-01-01"),
                new LiteralScalarResolver <string>("2016-01-01"),
            };
            var args = new ListSequenceResolverArgs(resolvers);

            var factory  = new SequenceResolverFactory(null);
            var resolver = factory.Instantiate <DateTime>(args);

            Assert.That(resolver, Is.TypeOf <ListSequenceResolver <DateTime> >());
        }
Ejemplo n.º 3
0
        public void Execute_OneArg_OneElement()
        {
            var resolvers = new List <IScalarResolver>()
            {
                new LiteralScalarResolver <string>("1")
            };
            var args = new ListSequenceResolverArgs(resolvers);

            var resolver = new ListSequenceResolver <decimal>(args);
            var elements = resolver.Execute();

            Assert.That(elements.Count(), Is.EqualTo(1));
            Assert.That(elements, Has.Member(1));
        }
Ejemplo n.º 4
0
        public void Execute_TwoArgs_TwoElements()
        {
            var resolvers = new List <IScalarResolver>()
            {
                new LiteralScalarResolver <string>("2015-01-01"),
                new LiteralScalarResolver <string>("2016-01-01"),
            };
            var args = new ListSequenceResolverArgs(resolvers);

            var resolver = new ListSequenceResolver <DateTime>(args);
            var elements = resolver.Execute();

            Assert.That(elements.Count(), Is.EqualTo(2));
            Assert.That(elements, Has.Member(new DateTime(2015, 1, 1)));
            Assert.That(elements, Has.Member(new DateTime(2016, 1, 1)));
        }
Ejemplo n.º 5
0
        public void Execute_Numeric_TwoElements()
        {
            var resolvers = new List <IScalarResolver>()
            {
                new LiteralScalarResolver <decimal>(10),
                new LiteralScalarResolver <decimal>(11),
                new LiteralScalarResolver <decimal>(12),
                new LiteralScalarResolver <decimal>(13),
            };
            var innerArgs     = new ListSequenceResolverArgs(resolvers);
            var innerResolver = new ListSequenceResolver <decimal>(innerArgs);
            var predicate     = new NumericModulo(false, 2, new LiteralScalarResolver <decimal>(0));
            var args          = new FilterSequenceResolverArgs(innerResolver, predicate, null);

            var resolver = new FilterSequenceResolver <decimal>(args);
            var elements = resolver.Execute();

            Assert.That(elements.Count(), Is.EqualTo(2));
            Assert.That(elements, Has.Member(10));
            Assert.That(elements, Has.Member(12));
        }
Ejemplo n.º 6
0
        public void Execute_DateTime_TwoElements()
        {
            var resolvers = new List <IScalarResolver>()
            {
                new LiteralScalarResolver <string>("2014-01-01"),
                new LiteralScalarResolver <string>("2015-01-01"),
                new LiteralScalarResolver <string>("2016-01-01"),
                new LiteralScalarResolver <string>("2017-01-01"),
            };
            var innerArgs      = new ListSequenceResolverArgs(resolvers);
            var innerResolver  = new ListSequenceResolver <DateTime>(innerArgs);
            var predicate      = new DateTimeMoreThan(false, new LiteralScalarResolver <DateTime>("2015-06-01"));
            var transformation = new NativeTransformer <DateTime>(new ServiceLocator(), null, new DateTimeToNextYear());
            var args           = new FilterSequenceResolverArgs(innerResolver, predicate, transformation);

            var resolver = new FilterSequenceResolver <DateTime>(args);
            var elements = resolver.Execute();

            Assert.That(elements.Count(), Is.EqualTo(3));
            Assert.That(elements, Has.Member(new DateTime(2015, 1, 1)));
            Assert.That(elements, Has.Member(new DateTime(2016, 1, 1)));
            Assert.That(elements, Has.Member(new DateTime(2017, 1, 1)));
        }