public void TestThatManipulateDataThrowsArgumentNullExceptionIfDataIsNull() { var containerMock = MockRepository.GenerateMock <IContainer>(); containerMock.Expect(m => m.ResolveAll <IDataManipulator>()) .Return(new Collection <IDataManipulator>().ToArray()) .Repeat.Any(); var dataManipulators = new DeliveryEngine.Repositories.DataManipulators.DataManipulators(containerMock); Assert.That(dataManipulators, Is.Not.Null); Assert.Throws <ArgumentNullException>(() => dataManipulators.ManipulateData(MockRepository.GenerateMock <ITable>(), null, true)); }
public void TestThatConstructorInitializeDataManipulators() { var fixture = new Fixture(); fixture.Customize <IDataManipulator>(e => e.FromFactory(() => MockRepository.GenerateMock <IDataManipulator>())); var containerMock = MockRepository.GenerateMock <IContainer>(); containerMock.Expect(m => m.ResolveAll <IDataManipulator>()) .Return(fixture.CreateMany <IDataManipulator>(3).ToArray()) .Repeat.Any(); var dataManipulators = new DeliveryEngine.Repositories.DataManipulators.DataManipulators(containerMock); Assert.That(dataManipulators, Is.Not.Null); Assert.That(dataManipulators.Count, Is.EqualTo(3)); containerMock.AssertWasCalled(m => m.ResolveAll <IDataManipulator>()); }
public void TestThatManipulateDataCallManipulateDataForEachDataManipulator() { var fixture = new Fixture(); fixture.Customize <IDataManipulator>(e => e.FromFactory(() => { var dataManipulatorMock = MockRepository.GenerateMock <IDataManipulator>(); dataManipulatorMock.Expect(m => m.ManipulateData(Arg <ITable> .Is.NotNull, Arg <IEnumerable <IEnumerable <IDataObjectBase> > > .Is.NotNull)) .Return(new Collection <IEnumerable <IDataObjectBase> >()) .Repeat.Any(); dataManipulatorMock.Expect(m => m.FinalizeDataManipulation(Arg <ITable> .Is.NotNull, Arg <IEnumerable <IEnumerable <IDataObjectBase> > > .Is.NotNull)) .Return(new List <IEnumerable <IDataObjectBase> >()) .Repeat.Any(); return(dataManipulatorMock); })); var dataManipulatorCollectionMock = fixture.CreateMany <IDataManipulator>(3).ToList(); var containerMock = MockRepository.GenerateMock <IContainer>(); containerMock.Expect(m => m.ResolveAll <IDataManipulator>()) .Return(dataManipulatorCollectionMock.ToArray()) .Repeat.Any(); var dataManipulators = new DeliveryEngine.Repositories.DataManipulators.DataManipulators(containerMock); Assert.That(dataManipulators, Is.Not.Null); var tableMock = MockRepository.GenerateMock <ITable>(); var data = new Collection <IEnumerable <IDataObjectBase> >(); var result = dataManipulators.ManipulateData(tableMock, data, true); Assert.That(result, Is.Not.Null); foreach (var dataManipulator in dataManipulators) { dataManipulator.AssertWasCalled(m => m.ManipulateData(tableMock, data)); dataManipulator.AssertWasCalled(m => m.FinalizeDataManipulation(tableMock, data)); } }