public override void AssertSingleResult <TItem1>( Func <IQueryable <TItem1>, object> actualQuery, Func <IQueryable <TItem1>, object> expectedQuery, Action <object, object> asserter = null, int entryCount = 0) { using (var context = _contextCreator()) { var actual = actualQuery(SetExtractor.Set <TItem1>(context)); var expected = expectedQuery(ExpectedData.Set <TItem1>()); if (asserter == null && expected != null) { _entityAsserters.TryGetValue(expected.GetType(), out asserter); } if (asserter != null) { asserter(expected, actual); } else { Assert.Equal(expected, actual); } Assert.Equal(entryCount, context.ChangeTracker.Entries().Count()); } }
public override async Task AssertQueryScalar <TItem1, TItem2, TResult>( Func <IQueryable <TItem1>, IQueryable <TItem2>, IQueryable <TResult> > actualQuery, Func <IQueryable <TItem1>, IQueryable <TItem2>, IQueryable <TResult> > expectedQuery, bool assertOrder = false, bool isAsync = false) { using (var context = _contextCreator()) { var actual = isAsync ? await actualQuery( SetExtractor.Set <TItem1>(context), SetExtractor.Set <TItem2>(context)).ToArrayAsync() : actualQuery( SetExtractor.Set <TItem1>(context), SetExtractor.Set <TItem2>(context)).ToArray(); var expected = expectedQuery( ExpectedData.Set <TItem1>(), ExpectedData.Set <TItem2>()).ToArray(); TestHelpers.AssertResults( expected, actual, e => e, Assert.Equal, assertOrder); } }
public override async Task AssertQuery <TItem1, TItem2, TItem3>( Func <IQueryable <TItem1>, IQueryable <TItem2>, IQueryable <TItem3>, IQueryable <object> > actualQuery, Func <IQueryable <TItem1>, IQueryable <TItem2>, IQueryable <TItem3>, IQueryable <object> > expectedQuery, Func <dynamic, object> elementSorter = null, Action <dynamic, dynamic> elementAsserter = null, bool assertOrder = false, int entryCount = 0, bool isAsync = false) { using (var context = _contextCreator()) { var actual = isAsync ? await actualQuery( SetExtractor.Set <TItem1>(context), SetExtractor.Set <TItem2>(context), SetExtractor.Set <TItem3>(context)).ToArrayAsync() : actualQuery( SetExtractor.Set <TItem1>(context), SetExtractor.Set <TItem2>(context), SetExtractor.Set <TItem3>(context)).ToArray(); var expected = expectedQuery( ExpectedData.Set <TItem1>(), ExpectedData.Set <TItem2>(), ExpectedData.Set <TItem3>()).ToArray(); if (!assertOrder && elementSorter == null && expected.Length > 0 && expected[0] != null) { _entitySorters.TryGetValue(expected[0].GetType(), out elementSorter); } if (elementAsserter == null && expected.Length > 0 && expected[0] != null) { _entityAsserters.TryGetValue(expected[0].GetType(), out elementAsserter); } TestHelpers.AssertResults( expected, actual, elementSorter, elementAsserter, assertOrder); Assert.Equal(entryCount, context.ChangeTracker.Entries().Count()); } }
public override void AssertQueryScalar <TItem1, TResult>( Func <IQueryable <TItem1>, IQueryable <TResult?> > actualQuery, Func <IQueryable <TItem1>, IQueryable <TResult?> > expectedQuery, bool assertOrder = false) { using (var context = _contextCreator()) { var actual = actualQuery(SetExtractor.Set <TItem1>(context)).ToArray(); var expected = expectedQuery(ExpectedData.Set <TItem1>()).ToArray(); TestHelpers.AssertResultsNullable( expected, actual, e => e, Assert.Equal, assertOrder); } }