static void Run(ActionPolicy policy, Action <Mock <ISpy> > verify) { var spy = Pleasure.Spy(); spy.Setup(r => r.Is()).Throws <ArgumentException>(); var exception = Catch.Exception(() => policy.Do(() => spy.Object.Is())); exception.ShouldNotBeNull(); verify(spy); }
private void EnsureWriterExists(long version) { if (this._currentWriter != null) { return; } var azureOptions = new BlobRequestOptions { MaximumExecutionTime = TimeSpan.FromMinutes(30), ServerTimeout = TimeSpan.FromMinutes(30), RetryPolicy = new LinearRetry(TimeSpan.FromSeconds(0.2), 100) }; var fileName = string.Format("{0:00000000}-{1:yyyy-MM-dd-HHmmss}.dat", version, DateTime.UtcNow); var blob = _policy.Get(() => this._container.GetPageBlobReference(fileName)); _policy.Do((() => blob.Create(this._pageSizeMultiplier, options: azureOptions))); this._currentWriter = new AppendOnlyStream(512, (i, bytes) => blob.WritePages(bytes, i, options: azureOptions), this._pageSizeMultiplier); }