public void ShouldNotSetDataStorageIfNoIRequireDataStorageProviderFound() { // arrange var database = Database.GetDatabase("master"); var provider = Substitute.For<DataProvider>(); typeof(Database).GetField("_dataProviders", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(database, new DataProviderCollection { provider }); var dataStorage = Substitute.For<DataStorage>(database); var args = new InitDbArgs(database, dataStorage); var processor = new InitDataProviders(); // act Action action = () => processor.Process(args); // assert action.ShouldNotThrow(); }
public void ShouldSetDataStorageForIRequireDataStorageProviders() { // arrange var database = Database.GetDatabase("master"); var provider = Substitute.For<DataProvider, IRequireDataStorage>(); typeof(Database).GetField("_dataProviders", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(database, new DataProviderCollection { provider }); var dataStorage = Substitute.For<DataStorage>(database); var args = new InitDbArgs(database, dataStorage); var processor = new InitDataProviders(); // act processor.Process(args); // assert ((IRequireDataStorage)provider).Received().SetDataStorage(dataStorage); }