예제 #1
0
 public void ThrowsInvalidOperationExceptionWhenTransmissionIsAlreadySending()
 {
     AsyncTest.Run(async() =>
     {
         var transmission         = new TestableTransmission();
         FieldInfo isSendingField = typeof(Transmission).GetField("isSending", BindingFlags.NonPublic | BindingFlags.Instance);
         isSendingField.SetValue(transmission, 1, BindingFlags.SetField | BindingFlags.NonPublic | BindingFlags.Instance, null, null);
         await AssertEx.ThrowsAsync <InvalidOperationException>(() => transmission.SendAsync());
     });
 }
예제 #2
0
 public void WritePropertyIJsonSerializableWritesPropertyName()
 {
     using (var stringWriter = new StringWriter(CultureInfo.InvariantCulture))
     {
         var serializable = new StubIJsonSerializable {
             OnSerialize = w => w.WriteProperty("child", "property")
         };
         new JsonWriter(stringWriter).WriteProperty("name", serializable);
         AssertEx.StartsWith("\"name\":", stringWriter.ToString(), StringComparison.OrdinalIgnoreCase);
     }
 }
 public void WritePropertyIDictionaryStringStringWritesPropertyNameFollowedByValuesInCurlyBraces()
 {
     using (var stringWriter = new StringWriter(CultureInfo.InvariantCulture))
     {
         var writer = new JsonWriter(stringWriter);
         writer.WriteProperty("name", new Dictionary <string, string> {
             { "key1", "1" }
         });
         AssertEx.StartsWith("\"name\":{", stringWriter.ToString(), StringComparison.OrdinalIgnoreCase);
         AssertEx.EndsWith("}", stringWriter.ToString(), StringComparison.OrdinalIgnoreCase);
     }
 }
            public void ThrowsInvalidOperationExceptionWhenTransmissionIsAlreadySending()
            {
                AsyncTest.Run(async() =>
                {
                    var request = new StubWebRequest();
                    request.OnBeginGetRequestStream = (callback, state) => TaskEx.Delay(TimeSpan.FromMilliseconds(10)).AsAsyncResult(callback, request);

                    var transmission             = new TestableTransmission();
                    transmission.OnCreateRequest = uri => request;

                    Task dontWait = transmission.SendAsync();
                    await AssertEx.ThrowsAsync <InvalidOperationException>(() => transmission.SendAsync());
                });
            }