public void Close_DataWriterCloseThrowsException_ExceptionIsPropogated() { var dataDestination1 = MockRepository.GenerateMock <IDataDestination>(); var dataDestination2 = MockRepository.GenerateMock <IDataDestination>(); var dataWriter1 = MockRepository.GenerateMock <IDataWriter>(); var dataWriter2 = MockRepository.GenerateMock <IDataWriter>(); var recordExpander = MockRepository.GenerateMock <IRecordExpander>(); dataWriter1.Stub(x => x.Close()).Throw(new InternalTestFailureException()); var dataWriters = new Dictionary <IDataDestination, IDataWriter>(); dataWriters.Add(dataDestination1, dataWriter1); dataWriters.Add(dataDestination2, dataWriter2); var expandedDataWriter = new ExpandedDataWriter(dataWriters, recordExpander); try { expandedDataWriter.Close(); } catch (AggregateException ae) { Assert.IsTrue(ae.InnerException is InternalTestFailureException); return; } Assert.Fail(); }
public void Close_MultipleDataDestinations_AllDataWritersAreClosed() { var dataDestination1 = MockRepository.GenerateMock <IDataDestination>(); var dataDestination2 = MockRepository.GenerateMock <IDataDestination>(); var dataWriter1 = MockRepository.GenerateMock <IDataWriter>(); var dataWriter2 = MockRepository.GenerateMock <IDataWriter>(); var recordExpander = MockRepository.GenerateMock <IRecordExpander>(); dataWriter1.Expect(x => x.Close()); dataWriter2.Expect(x => x.Close()); var dataWriters = new Dictionary <IDataDestination, IDataWriter>(); dataWriters.Add(dataDestination1, dataWriter1); dataWriters.Add(dataDestination2, dataWriter2); var expandedDataWriter = new ExpandedDataWriter(dataWriters, recordExpander); expandedDataWriter.Close(); dataWriter1.VerifyAllExpectations(); dataWriter2.VerifyAllExpectations(); }