Ejemplo n.º 1
0
        public void SelectMany()
        {
            // Array
            using var _context = new DBContext(_dbInit.DbContextOptions);
            ISelector _selector      = new Select.Selector(_serviceProvider);
            var       _selectRequest = new TestSelectRequestStruct
            {
                Where = new SelectConditionPack
                {
                    SelectConditions =
                    {
                        new SelectCondition {
                            Condition = CompareCondition.Eq, Value = "2", PropertyName = nameof(DataModel.Id)
                        },
                        new SelectCondition {
                            Condition = CompareCondition.Eq, Value = "3", PropertyName = nameof(DataModel.Id)
                        }
                    },
                    JoinCondition = LogicCondition.Or
                }
            };
            var _expectedResult = _context.Table.Where(t => t.Id == 2 || t.Id == 3).ToArray();

            // Act
            var _assertedResult = _selector.Apply(_context.Table.AsQueryable(), _selectRequest).ToArray();

            // Assert
            Assert.IsTrue(DataModel.CompareArr(_expectedResult, _assertedResult));
        }
Ejemplo n.º 2
0
        public void SelectFrom3()
        {
            // Array
            using var _context = new DBContext(_dbInit.DbContextOptions);
            ISelector _selector      = new Select.Selector(_serviceProvider);
            var       _selectRequest = new TestSelectRequestStruct
            {
                WhereSimple =
                    new SelectCondition {
                    Condition = CompareCondition.Eq, Value = "many", PropertyName = nameof(DataModel.StringValue)
                },
                Lines = new SelectLines {
                    From = 3
                }
            };
            var _expectedResult = _context.Table
                                  .Where(t => t.StringValue == "many" && t.DoubleValue >= 13).ToArray();
            // .Where(t => t.StringValue == "many").Where((model, i) => i > 2).ToArray();

            // Act
            var _assertedResult = _selector.Apply(_context.Table.AsQueryable(), _selectRequest).ToArray();

            // Assert
            Assert.IsTrue(DataModel.CompareArr(_expectedResult, _assertedResult));
        }
Ejemplo n.º 3
0
        public void Select_using_ModelConverter_from_ServiceCollection()
        {
            // Array
            _serviceProvider
            .GetService(Arg.Is(typeof(IModelConverter <DataModel, SomeData>)))
            .Returns((info => _converter));
            using var _context = new DBContext(_dbInit.DbContextOptions);
            ISelector _selector      = new Select.Selector(_serviceProvider);
            var       _selectRequest = new TestSelectRequestStruct
            {
                WhereSimple = new SelectCondition
                {
                    Condition = CompareCondition.Eq, Value = "2", PropertyName = nameof(DataModel.Id)
                }
            };
            var _expectedResult = _context.Table.Single(t => t.Id == 2);

            // Act
            var _assertedResult = _selector
                                  .Apply <DataModel, SomeData, TestSelectRequestStruct>(_context.Table.AsQueryable(), _selectRequest)
                                  .ToArray();

            // Assert
            Assert.AreEqual(1, _assertedResult.Count());
            Assert.AreEqual(_expectedResult.Id, _assertedResult[0].Id);
            Assert.AreEqual(_expectedResult.StringValue, _assertedResult[0].Value);
        }
Ejemplo n.º 4
0
        public void Empty_SelectCondition()
        {
            // Array
            using var _context = new DBContext(_dbInit.DbContextOptions);
            ISelector _selector       = new Select.Selector(_serviceProvider);
            var       _selectRequest  = new TestSelectRequestStruct();
            var       _expectedResult = _context.Table.ToArray();

            // Act
            var _assertedResult = _selector.Apply(_context.Table.AsQueryable(), _selectRequest).ToArray();

            // Assert
            Assert.IsTrue(DataModel.CompareArr(_expectedResult, _assertedResult));
        }
Ejemplo n.º 5
0
        public void SelectSingle()
        {
            // Array
            using var _context = new DBContext(_dbInit.DbContextOptions);
            ISelector _selector      = new Select.Selector(_serviceProvider);
            var       _selectRequest = new TestSelectRequestStruct
            {
                WhereSimple = new SelectCondition {
                    Condition = CompareCondition.Eq, Value = "2", PropertyName = nameof(DataModel.Id)
                }
            };
            var _expectedResult = _context.Table.Single(t => t.Id == 2);

            // Act
            var _assertedResult = _selector.Apply(_context.Table.AsQueryable(), _selectRequest).ToArray();

            // Assert
            Assert.AreEqual(1, _assertedResult.Count());
            Assert.AreEqual(_expectedResult, _assertedResult[0]);
        }