public SeedFileDecoratorTests() { _mockProvider = Substitute.For <IReseedableFortunaProvider>(); _mockFile = Substitute.For <Stream>(); _mockFile.CanRead.Returns(true); _mockFile.CanWrite.Returns(true); _mockFile.CanSeek.Returns(true); }
internal SeedFileDecorator(IReseedableFortunaProvider innerProvider, Stream file) { if (innerProvider == null) { throw new ArgumentNullException(nameof(innerProvider)); } if (file == null) { throw new ArgumentNullException(nameof(file)); } if (!file.CanRead || !file.CanWrite || !file.CanSeek) { throw new ArgumentException("Provided FileStream must have read/write/seek capabilities.", nameof(file)); } _innerProvider = innerProvider; _file = file; _reseedTimer = new Timer(ReseedFileCallback, null, Timeout.InfiniteTimeSpan, ReseedPeriod); }