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)); }
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)); }
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); }
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)); }
public void WrongStream() { // Array using var _context = new DBContext(_dbInit.DbContextOptions); ISelector _selector = new Select.Selector(_serviceProvider); var _selectRequest = new Another(); var _expectedResult = _context.Table.ToArray(); // Act // Assert Assert.Catch <InvalidOperationException>(() => _selector.Apply(_context.Table.AsQueryable(), _selectRequest).ToArray()); }
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]); }