public void TestJsonWebRequestThrowsCorrectlyOnMultipleErrors([Values(true, false)] bool async) { var request = new JsonWebRequest <Drawable>("badrequest://www.google.com") { AllowInsecureRequests = true, }; bool hasThrown = false; request.Failed += exception => hasThrown = exception != null; if (async) { Assert.ThrowsAsync <ArgumentException>(request.PerformAsync); } else { Assert.Throws <ArgumentException>(request.Perform); } Assert.IsTrue(request.Completed); Assert.IsTrue(request.Aborted); Assert.IsNull(request.GetResponseString()); Assert.IsNull(request.ResponseObject); Assert.IsTrue(hasThrown); }