public void ComplexDataTypesTestNoIndent() { ComplexDataTypes data = ComplexDataTypes.GenerateRandomValues(null, false); var truth = JsonConvert.SerializeObject(data, Formatting.None); NUnit.Framework.Assert.AreEqual(truth, JSON.ToJson(data, false)); var test = JSON.FromJson <ComplexDataTypes>(truth); test.Should().BeEquivalentTo(data); }
public static ComplexDataTypes GenerateRandomValues(ComplexDataTypes parent = null, bool generateLoop = true) { ComplexDataTypes value = new ComplexDataTypes(); var random = new Random(0); value.BoolField = random.NextDouble() > 0.5 ? true : false; value.ByteField = (byte)random.Next(); value.CharField = (char)random.Next(); value.ShortField = (short)random.Next(); value.UshortField = (ushort)random.Next(); value.IntField = random.Next(); value.UintField = (uint)random.Next(); value.FloatField = (float)random.NextDouble(); value.DoubleField = random.NextDouble(); value.LongField = (long)random.Next(); value.UlongField = (ulong)random.Next(); value.DecimalField = (decimal)random.NextDouble(); value.SbyteField = (sbyte)random.Next(); value.StringField = RandomStringGenerator.RandomString(8); value.UnknownTypeField = new object(); if (generateLoop) { value.ParentField = parent; } value.ChildField = parent == null?GenerateRandomValues(value, generateLoop) : null; if (parent == null) { value.ListTypeField = new List <ComplexDataTypes>(); for (int i = 0; i < 3; i++) { value.ListTypeField.Add(GenerateRandomValues(value, generateLoop)); } } value.ListStringField = new List <string>(); for (int i = 0; i < 3; i++) { value.ListStringField.Add(RandomStringGenerator.RandomString(8)); } value.ListIntField = new List <int>(); for (int i = 0; i < 3; i++) { value.ListIntField.Add(random.Next()); } return(value); }