public SeedFileDecoratorTests()
        {
            _mockProvider = Substitute.For <IReseedableFortunaProvider>();
            _mockFile     = Substitute.For <Stream>();

            _mockFile.CanRead.Returns(true);
            _mockFile.CanWrite.Returns(true);
            _mockFile.CanSeek.Returns(true);
        }
示例#2
0
        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);
        }