public void Wrapped() { MockMessageBroker broker = new MockMessageBroker(); MockExecutionTimer timer = new MockExecutionTimer(); MemoryTraceWriter innerWriter = new MemoryTraceWriter(); GlimpseTraceWriter writer = new GlimpseTraceWriter(broker, () => timer, innerWriter); writer.Trace(TraceLevel.Verbose, "Random text", null); writer.Trace(TraceLevel.Error, "More random text", null); Assert.AreEqual(2, writer.TraceMessages.Count); Assert.AreEqual(2, innerWriter.GetTraceMessages().Count()); Assert.AreEqual("Verbose Random text", innerWriter.GetTraceMessages().ElementAt(0).Substring(24)); Assert.AreEqual("Error More random text", innerWriter.GetTraceMessages().ElementAt(1).Substring(24)); innerWriter.LevelFilter = TraceLevel.Warning; writer.Trace(TraceLevel.Verbose, "Random text", null); writer.Trace(TraceLevel.Warning, "More random text", null); writer.Trace(TraceLevel.Error, "More random text", null); Assert.AreEqual(4, innerWriter.GetTraceMessages().Count()); Assert.AreEqual(TraceLevel.Verbose, writer.LevelFilter); }
public void Example() { #region Usage string json = @"{ 'FullName': 'Dan Deleted', 'Deleted': true, 'DeletedDate': '2013-01-20T00:00:00' }"; MemoryTraceWriter traceWriter = new MemoryTraceWriter(); Account account = JsonConvert.DeserializeObject <Account>( json, new JsonSerializerSettings { TraceWriter = traceWriter } ); Console.WriteLine(traceWriter.ToString()); // 2013-01-21T01:36:24.422 Info Started deserializing Newtonsoft.Json.Tests.Documentation.Examples.TraceWriter+Account. Path 'FullName', line 2, position 20. // 2013-01-21T01:36:24.442 Verbose Could not find member 'DeletedDate' on Newtonsoft.Json.Tests.Documentation.Examples.TraceWriter+Account. Path 'DeletedDate', line 4, position 23. // 2013-01-21T01:36:24.447 Info Finished deserializing Newtonsoft.Json.Tests.Documentation.Examples.TraceWriter+Account. Path '', line 5, position 8. // 2013-01-21T01:36:24.450 Verbose Deserialized JSON: // { // "FullName": "Dan Deleted", // "Deleted": true, // "DeletedDate": "2013-01-20T00:00:00" // } #endregion Assert.AreEqual(4, traceWriter.GetTraceMessages().Count()); }
public void ShouldDeserialize_False() { string json = @"{'HasName':false,'Name':'Name!'}"; MemoryTraceWriter traceWriter = new MemoryTraceWriter(); ShouldDeserializeTestClass c = JsonConvert.DeserializeObject <ShouldDeserializeTestClass>( json, new JsonSerializerSettings { ContractResolver = ShouldDeserializeContractResolver.Instance, TraceWriter = traceWriter } ); Assert.AreEqual(1, c.ExtensionData.Count); Assert.AreEqual("Name!", (string)c.ExtensionData["Name"]); Assert.AreEqual(false, c.HasName); Assert.AreEqual(null, c.Name); Assert.IsTrue( traceWriter .GetTraceMessages() .Any( m => m.EndsWith( "Verbose ShouldDeserialize result for property 'Name' on Newtonsoft.Json.Tests.Serialization.ShouldDeserializeTestClass: False. Path 'Name'." ) ) ); }
public void MemoryTraceWriterTest() { #region MemoryTraceWriterExample Staff staff = new Staff(); staff.Name = "Arnie Admin"; staff.Roles = new List <string> { "Administrator" }; staff.StartDate = DateTime.Now; ITraceWriter traceWriter = new MemoryTraceWriter(); JsonConvert.SerializeObject( staff, new JsonSerializerSettings { TraceWriter = traceWriter, Converters = { new JavaScriptDateTimeConverter() } }); Console.WriteLine(traceWriter); // 2012-11-11T12:08:42.761 Info Started serializing Newtonsoft.Json.Tests.Serialization.Staff. Path ''. // 2012-11-11T12:08:42.785 Info Started serializing System.DateTime with converter Newtonsoft.Json.Converters.JavaScriptDateTimeConverter. Path 'StartDate'. // 2012-11-11T12:08:42.791 Info Finished serializing System.DateTime with converter Newtonsoft.Json.Converters.JavaScriptDateTimeConverter. Path 'StartDate'. // 2012-11-11T12:08:42.797 Info Started serializing System.Collections.Generic.List`1[System.String]. Path 'Roles'. // 2012-11-11T12:08:42.798 Info Finished serializing System.Collections.Generic.List`1[System.String]. Path 'Roles'. // 2012-11-11T12:08:42.799 Info Finished serializing Newtonsoft.Json.Tests.Serialization.Staff. Path ''. #endregion MemoryTraceWriter memoryTraceWriter = (MemoryTraceWriter)traceWriter; Assert.AreEqual(743, memoryTraceWriter.ToString().Length); Assert.AreEqual(6, memoryTraceWriter.GetTraceMessages().Count()); }
public void MemoryTraceWriterDeserializeTest() { string json = @"{ ""Name"": ""Arnie Admin"", ""StartDate"": new Date( 976623132000 ), ""Roles"": [ ""Administrator"" ] }"; Staff staff = new Staff(); staff.Name = "Arnie Admin"; staff.Roles = new List <string> { "Administrator" }; staff.StartDate = new DateTime(2000, 12, 12, 12, 12, 12, DateTimeKind.Utc); ITraceWriter traceWriter = new MemoryTraceWriter(); JsonConvert.DeserializeObject <Staff>( json, new JsonSerializerSettings { TraceWriter = traceWriter, Converters = { new JavaScriptDateTimeConverter() }, MetadataPropertyHandling = MetadataPropertyHandling.Default }); Console.WriteLine(traceWriter); // 2012-11-11T12:08:42.761 Info Started serializing Newtonsoft.Json.Tests.Serialization.Staff. Path ''. // 2012-11-11T12:08:42.785 Info Started serializing System.DateTime with converter Newtonsoft.Json.Converters.JavaScriptDateTimeConverter. Path 'StartDate'. // 2012-11-11T12:08:42.791 Info Finished serializing System.DateTime with converter Newtonsoft.Json.Converters.JavaScriptDateTimeConverter. Path 'StartDate'. // 2012-11-11T12:08:42.797 Info Started serializing System.Collections.Generic.List`1[System.String]. Path 'Roles'. // 2012-11-11T12:08:42.798 Info Finished serializing System.Collections.Generic.List`1[System.String]. Path 'Roles'. // 2012-11-11T12:08:42.799 Info Finished serializing Newtonsoft.Json.Tests.Serialization.Staff. Path ''. // 2013-05-19T00:07:24.360 Verbose Deserialized JSON: // { // "Name": "Arnie Admin", // "StartDate": new Date( // 976623132000 // ), // "Roles": [ // "Administrator" // ] // } MemoryTraceWriter memoryTraceWriter = (MemoryTraceWriter)traceWriter; string output = memoryTraceWriter.ToString(); Assert.AreEqual(1059, output.Length); Assert.AreEqual(7, memoryTraceWriter.GetTraceMessages().Count()); json = StringAssert.Normalize(json); output = StringAssert.Normalize(output); Assert.IsTrue(output.Contains(json)); }
private JobLogEntry ParseEntry(string line) { var writer = new MemoryTraceWriter(); var old = _serializerSettings.TraceWriter; _serializerSettings.TraceWriter = writer; var result = JsonConvert.DeserializeObject <JobLogEntry>(line.Trim(), _serializerSettings); _serializerSettings.TraceWriter = old; foreach (var message in writer.GetTraceMessages()) { Console.WriteLine(message); } return(result); }
public void MemoryTraceWriterSerializeTest() { Staff staff = new Staff(); staff.Name = "Arnie Admin"; staff.Roles = new List <string> { "Administrator" }; staff.StartDate = new DateTime(2000, 12, 12, 12, 12, 12, DateTimeKind.Utc); ITraceWriter traceWriter = new MemoryTraceWriter(); JsonConvert.SerializeObject( staff, new JsonSerializerSettings { TraceWriter = traceWriter, Converters = { new JavaScriptDateTimeConverter() } }); Console.WriteLine(traceWriter); // 2012-11-11T12:08:42.761 Info Started serializing Newtonsoft.Json.Tests.Serialization.Staff. Path ''. // 2012-11-11T12:08:42.785 Info Started serializing System.DateTime with converter Newtonsoft.Json.Converters.JavaScriptDateTimeConverter. Path 'StartDate'. // 2012-11-11T12:08:42.791 Info Finished serializing System.DateTime with converter Newtonsoft.Json.Converters.JavaScriptDateTimeConverter. Path 'StartDate'. // 2012-11-11T12:08:42.797 Info Started serializing System.Collections.Generic.List`1[System.String]. Path 'Roles'. // 2012-11-11T12:08:42.798 Info Finished serializing System.Collections.Generic.List`1[System.String]. Path 'Roles'. // 2012-11-11T12:08:42.799 Info Finished serializing Newtonsoft.Json.Tests.Serialization.Staff. Path ''. MemoryTraceWriter memoryTraceWriter = (MemoryTraceWriter)traceWriter; string output = memoryTraceWriter.ToString(); Assert.AreEqual(916, output.Length); Assert.AreEqual(7, memoryTraceWriter.GetTraceMessages().Count()); string json = @"Serialized JSON: { ""Name"": ""Arnie Admin"", ""StartDate"": new Date( 976623132000 ), ""Roles"": [ ""Administrator"" ] }"; json = StringAssert.Normalize(json); output = StringAssert.Normalize(output); Assert.IsTrue(output.Contains(json)); }
public void MemoryTraceWriterLimitTest() { MemoryTraceWriter traceWriter = new MemoryTraceWriter(); for (int i = 0; i < 1005; i++) { traceWriter.Trace(TraceLevel.Verbose, (i + 1).ToString(CultureInfo.InvariantCulture), null); } IList <string> traceMessages = traceWriter.GetTraceMessages().ToList(); Assert.AreEqual(1000, traceMessages.Count); Assert.IsTrue(traceMessages.First().EndsWith(" 6")); Assert.IsTrue(traceMessages.Last().EndsWith(" 1005")); }
public void Test() { string json = "{'Value':'hi'}"; MemoryTraceWriter traceWriter = new MemoryTraceWriter { LevelFilter = TraceLevel.Info }; PrivateSetterTestClass o = JsonConvert.DeserializeObject <PrivateSetterTestClass>(json, new JsonSerializerSettings { TraceWriter = traceWriter }); List <string> messages = traceWriter.GetTraceMessages().ToList(); bool hasMessage = messages.Any(message => message.Contains("Info Unable to deserialize value to non-writable property 'Value' on Newtonsoft.Json.Tests.Issues.Issue0573+PrivateSetterTestClass. Path 'Value', line 1, position 13.")); Assert.IsTrue(hasMessage); }
public void Should_SetValueProvider_For_Each_BuildableBaseMember() { // Arrange var sut = new Response(100); sut.Headers.Add("Content-Type", "application/json"); // Act var jo = sut.AsJObject(); Output.Dump(jo); TraceWriter.GetTraceMessages().ToList().ForEach(m => Output.Dump(m)); // Assert jo.Should().NotBeNull(); }
public void MemoryTraceWriterTest() { #region MemoryTraceWriterExample Staff staff = new Staff(); staff.Name = "Arnie Admin"; staff.Roles = new List <string> { "Administrator" }; staff.StartDate = new DateTime(2000, 12, 12, 12, 12, 12, DateTimeKind.Utc); ITraceWriter traceWriter = new MemoryTraceWriter(); JsonConvert.SerializeObject( staff, new JsonSerializerSettings { TraceWriter = traceWriter, Converters = { new JavaScriptDateTimeConverter() } } ); Console.WriteLine(traceWriter); // 2012-11-11T12:08:42.761 Info Started serializing Newtonsoft.Json.Tests.Serialization.Staff. Path ''. // 2012-11-11T12:08:42.785 Info Started serializing System.DateTime with converter Newtonsoft.Json.Converters.JavaScriptDateTimeConverter. Path 'StartDate'. // 2012-11-11T12:08:42.791 Info Finished serializing System.DateTime with converter Newtonsoft.Json.Converters.JavaScriptDateTimeConverter. Path 'StartDate'. // 2012-11-11T12:08:42.797 Info Started serializing System.Collections.Generic.List`1[System.String]. Path 'Roles'. // 2012-11-11T12:08:42.798 Info Finished serializing System.Collections.Generic.List`1[System.String]. Path 'Roles'. // 2012-11-11T12:08:42.799 Info Finished serializing Newtonsoft.Json.Tests.Serialization.Staff. Path ''. // 2013-05-18T21:38:11.255 Verbose Serialized JSON: // { // "Name": "Arnie Admin", // "StartDate": new Date( // 976623132000 // ), // "Roles": [ // "Administrator" // ] // } #endregion MemoryTraceWriter memoryTraceWriter = (MemoryTraceWriter)traceWriter; Assert.AreEqual(916, memoryTraceWriter.ToString().Length); Assert.AreEqual(7, memoryTraceWriter.GetTraceMessages().Count()); }