public unsafe void EventDataArrayBuilderMultipleStringsMixedTruncationTest() { const int argCount = 14; EventData *userData = stackalloc EventData[argCount]; byte * dataBuffer = stackalloc byte[EventDataArrayBuilder.BasicTypeAllocationBufferSize * argCount]; var edab = new EventDataArrayBuilder(userData, dataBuffer); Variant v0 = new String('a', 13000); edab.AddEventData(v0); Variant v1 = new String('b', 16000); edab.AddEventData(v1); Variant v2 = new String('c', 4000); edab.AddEventData(v2); Variant v3 = new String('d', 741); edab.AddEventData(v3); Variant v4 = default(Variant); edab.AddEventData(v4); Variant v5 = default(Variant); edab.AddEventData(v5); Variant v6 = default(Variant); edab.AddEventData(v6); Variant v7 = default(Variant); edab.AddEventData(v7); Variant v8 = default(Variant); edab.AddEventData(v8); Variant v9 = default(Variant); edab.AddEventData(v9); Variant v10 = default(Variant); edab.AddEventData(v10); Variant v11 = default(Variant); edab.AddEventData(v11); Variant v12 = default(Variant); edab.AddEventData(v12); Variant v13 = default(Variant); edab.AddEventData(v13); Assert.IsFalse(edab.IsValid()); Assert.IsTrue(edab.TruncateStringVariants(ref v0, ref v1, ref v2, ref v3, ref v4, ref v5, ref v6, ref v7, ref v8, ref v9, ref v10, ref v11, ref v12, ref v13)); Assert.IsTrue(v0.ConvertToString().Length == 8184); Assert.IsTrue(v1.ConvertToString().Length == 8184); Assert.IsTrue(v2.ConvertToString().Length == 4000); Assert.IsTrue(v3.ConvertToString().Length == 741); }
public unsafe void EventDataArrayBuilderLargeStringTruncationTest() { const int argCount = 14; EventData *userData = stackalloc EventData[argCount]; byte * dataBuffer = stackalloc byte[EventDataArrayBuilder.BasicTypeAllocationBufferSize * argCount]; var edab = new EventDataArrayBuilder(userData, dataBuffer); Variant largeStringVariant = new String('a', EventDataArrayBuilder.TraceEventMaximumSize / 2); edab.AddEventData(largeStringVariant); Variant v1 = default(Variant); edab.AddEventData(v1); Variant v2 = default(Variant); edab.AddEventData(v2); Variant v3 = default(Variant); edab.AddEventData(v3); Variant v4 = default(Variant); edab.AddEventData(v4); Variant v5 = default(Variant); edab.AddEventData(v5); Variant v6 = default(Variant); edab.AddEventData(v6); Variant v7 = default(Variant); edab.AddEventData(v7); Variant v8 = default(Variant); edab.AddEventData(v8); Variant v9 = default(Variant); edab.AddEventData(v9); Variant v10 = default(Variant); edab.AddEventData(v10); Variant v11 = default(Variant); edab.AddEventData(v11); Variant v12 = default(Variant); edab.AddEventData(v12); Variant v13 = default(Variant); edab.AddEventData(v13); Assert.IsFalse(edab.IsValid()); Assert.IsTrue(edab.TruncateStringVariants(ref largeStringVariant, ref v1, ref v2, ref v3, ref v4, ref v5, ref v6, ref v7, ref v8, ref v9, ref v10, ref v11, ref v12, ref v13)); Assert.IsTrue(largeStringVariant.ConvertToString().Length == (EventDataArrayBuilder.TraceEventMaximumSize / 2) - 1); }