public void Add_WithTightThread_IsReasonablyWriteSafe() { const int ItemCount = 1000; var factory = new StumpResponseFactory(ResponseFactoryBehavior.OrderedInfinite); var t = new Thread(() => { Parallel.For(0, ItemCount, (i) => { var response = new BasicHttpResponse() { StatusCode = i }; factory.Add(response); }); }); t.Start(); Assert.IsTrue(t.Join(5000)); if (t.IsAlive) { t.Abort(); } Assert.AreEqual(ItemCount, factory.Count); }
public void Add_WithValidResponse_AddsToCollection() { var factory = new StumpResponseFactory(ResponseFactoryBehavior.OrderedInfinite); factory.Add(new BasicHttpResponse()); Assert.AreEqual(1, factory.Count); }
public void Add_WhenFactoryIsDisposed_ThrowsExpcetion() { var factory = new StumpResponseFactory(ResponseFactoryBehavior.OrderedInfinite); factory.Dispose(); Assert.Throws <ObjectDisposedException>(() => factory.Add(new BasicHttpResponse())); }
public void HasResponse_GivenABehavior_WithResponsesAndFailureResponse_ReturnsTrue(ResponseFactoryBehavior behavior) { var factory = new StumpResponseFactory(behavior); factory.Add(new MockHttpResponse()); Assert.IsTrue(factory.HasResponse); }
public void HasResponse_GivenABehavior_WhenFailureResponseIsNull_ReturnsCorrectResult(ResponseFactoryBehavior behavior, bool expectedResponse) { var factory = new StumpResponseFactory(behavior); factory.Add(new MockHttpResponse()); factory.FailureResponse = null; Assert.AreEqual(expectedResponse, factory.HasResponse); }
/// <summary> /// Asserts that the <see cref="StumpResponseFactory"/> will respond with a <see cref="BasicHttpResponse"/>. /// </summary> /// <param name="responseFactory">The <see cref="StumpResponseFactory"/> to which the new <see cref="BasicHttpResponse"/> is added.</param> /// <returns>A <see cref="BasicHttpResponse"/> created for the <paramref name="responseFactory"/>.</returns> /// <exception cref="ArgumentNullException"><paramref name="responseFactory"/> is <c>null</c>.</exception> public static BasicHttpResponse Responds(this StumpResponseFactory responseFactory) { responseFactory = responseFactory ?? throw new ArgumentNullException(nameof(responseFactory)); var response = new BasicHttpResponse(); responseFactory.Add(response); return(response); }
public void Clear_WhenCalled_RemoveAllItemsInCollection() { var factory = new StumpResponseFactory(ResponseFactoryBehavior.OrderedInfinite); factory.Add(new BasicHttpResponse()); factory.Clear(); Assert.AreEqual(0, factory.Count); }
public void Add_WithNullResponse_ThrowsException() { Assert.That( () => { var factory = new StumpResponseFactory(ResponseFactoryBehavior.OrderedInfinite); factory.Add(null); }, Throws.Exception.TypeOf <ArgumentNullException>().With.Property("ParamName").EqualTo("response")); }
private void PopulateFactoryWithMultipleResponses(StumpResponseFactory factory, int count) { for (var i = 1; i <= count; i++) { var response = new BasicHttpResponse() { StatusCode = i }; factory.Add(response); } }
public void Add_WhenCalled_ResetsOrderPosition() { var factory = new StumpResponseFactory(ResponseFactoryBehavior.OrderedInfinite); PopulateFactoryWithMultipleResponses(factory, 3); Assert.AreEqual(1, factory.CreateResponse(new MockHttpRequest()).StatusCode); Assert.AreEqual(2, factory.CreateResponse(new MockHttpRequest()).StatusCode); factory.Add(new BasicHttpResponse { StatusCode = 4 }); Assert.AreEqual(1, factory.CreateResponse(new MockHttpRequest()).StatusCode); }