public void SubDomainModel_FindEntity_ExpressionWithInvalidIncludePaths_ExceptionIsThrown() { TestSubDomainModel testSubject = new TestSubDomainModel(); Repository <TestDummy> mockedRepository = MockRepository.GeneratePartialMock <Repository <TestDummy> >(); TestDummy result = testSubject.FindEntity(td => td.RecordId > 1, new string[] { "PropA.PropB", null, "dummy" }); }
public void SubDomainModel_FindEntity_Specification_TemplateMethodIsCalled() { TestSubDomainModel testSubject = new TestSubDomainModel(); ISpecification <TestDummy> spec = Specification.Lambda <TestDummy>(td => td.RecordId > 1); TestDummy result = testSubject.FindEntity(spec); Assert.IsTrue(testSubject.FindEntityCoreWasCalled); Assert.AreSame(spec, testSubject.FindEntityCoreParameter); }
public void SubDomainModel_FindEntity_Expression_TemplateMethodIsCalled() { TestSubDomainModel testSubject = new TestSubDomainModel(); Repository <TestDummy> mockedRepository = MockRepository.GeneratePartialMock <Repository <TestDummy> >(); TestDummy result = testSubject.FindEntity(td => td.RecordId > 1); Assert.IsTrue(testSubject.FindEntityCoreWasCalled); Expression <Func <TestDummy, bool> > expressionResult = testSubject.FindEntityCoreParameter.Visit(mockedRepository); Assert.AreEqual(ExpressionType.Lambda, expressionResult.NodeType); Assert.AreEqual(typeof(bool), expressionResult.ReturnType); }
public void SubDomainModel_FindEntity_ExpressionWithIncludePaths_TemplateMethodIsCalled() { TestSubDomainModel testSubject = new TestSubDomainModel(); Repository <TestDummy> mockedRepository = MockRepository.GeneratePartialMock <Repository <TestDummy> >(); TestDummy result = testSubject.FindEntity(td => td.RecordId > 1, new string[] { "PropA.PropB", "dummy" }); Assert.IsTrue(testSubject.FindEntityCoreWasCalled); ISpecification <TestDummy> specificationResult = testSubject.FindEntityCoreParameter; Assert.AreEqual(2, specificationResult.IncludePaths.Count()); CollectionAssert.AreEquivalent(new string[] { "dummy", "PropA.PropB" }, specificationResult.IncludePaths.ToList()); Expression <Func <TestDummy, bool> > expressionResult = specificationResult.Visit(mockedRepository); Assert.AreEqual(ExpressionType.Lambda, expressionResult.NodeType); Assert.AreEqual(typeof(bool), expressionResult.ReturnType); }