public void Execute_TwentyRowsAndSequenceOfTwo_SixtyRows()
        {
            var(rs, resolver) = Initialize();
            var combination = new CartesianProductSequenceCombination(resolver);

            combination.Execute(rs);

            Assert.That(rs.Rows.Count, Is.EqualTo(60));
        }
        public void Execute_TwentyRowsAndSequenceOfTwo_OneAdditionalColumn()
        {
            var(rs, resolver) = Initialize();
            var initColumnCount = rs.Columns.Count;
            var combination     = new CartesianProductSequenceCombination(resolver);

            combination.Execute(rs);

            Assert.That(rs.Columns.Count, Is.EqualTo(initColumnCount + 1));
        }
        public void Execute_TwentyRowsAndSequenceOfZero_EmptyResultSet()
        {
            var rs = Initialize().rs;
            var initColumnCount = rs.Columns.Count;

            var resolver    = new ListSequenceResolver <DateTime>(new ListSequenceResolverArgs(new List <IScalarResolver>()));
            var combination = new CartesianProductSequenceCombination(resolver);

            combination.Execute(rs);

            Assert.That(rs.Columns.Count, Is.EqualTo(initColumnCount + 1));
            Assert.That(rs.Rows.Count, Is.EqualTo(0));
        }
        public void Execute_EmptyResultSetAndSequenceOfTwo_EmptyResultSet()
        {
            var(rs, resolver) = Initialize();
            rs.Table.Clear();
            rs.Table.AcceptChanges();
            var initColumnCount = rs.Columns.Count;

            var combination = new CartesianProductSequenceCombination(resolver);

            combination.Execute(rs);

            Assert.That(rs.Columns.Count, Is.EqualTo(initColumnCount + 1));
            Assert.That(rs.Rows.Count, Is.EqualTo(0));
        }