private void Test_WriteEvent_ComplexData_SelfDescribing(Listener listener) { using (var logger = new EventSourceTestSelfDescribingOnly()) { var tests = new List <SubTest>(); byte[] byteArray = { 0, 1, 2, 3 }; tests.Add(new SubTest("WriteEvent/SelfDescribingOnly/Byte[]", delegate() { logger.EventByteArrayInt(byteArray, 5); }, delegate(Event evt) { Assert.Equal(logger.Name, evt.ProviderName); Assert.Equal("EventByteArrayInt", evt.EventName); var eventArray = evt.PayloadValue(0, "array"); Array.Equals(eventArray, byteArray); Assert.Equal(5, evt.PayloadValue(1, "anInt")); })); tests.Add(new SubTest("WriteEvent/SelfDescribingOnly/UserData", delegate() { logger.EventUserDataInt(new UserData() { x = 3, y = 8 }, 5); }, delegate(Event evt) { Assert.Equal(logger.Name, evt.ProviderName); Assert.Equal("EventUserDataInt", evt.EventName); var aClass = (IDictionary <string, object>)evt.PayloadValue(0, "aClass"); Assert.Equal(3, (int)aClass["x"]); Assert.Equal(8, (int)aClass["y"]); Assert.Equal(5, evt.PayloadValue(1, "anInt")); })); // If you only wish to run one or several of the tests you can filter them here by // Uncommenting the following line. // tests = tests.FindAll(test => Regex.IsMatch(test.Name, "ventWithByteArray")); // Next run the same tests with the TraceLogging path. EventTestHarness.RunTests(tests, listener, logger); } }
private void Test_WriteEvent_ComplexData_SelfDescribing(Listener listener) { using (var logger = new EventSourceTestSelfDescribingOnly()) { var tests = new List<SubTest>(); byte[] byteArray = { 0, 1, 2, 3 }; tests.Add(new SubTest("WriteEvent/SelfDescribingOnly/Byte[]", delegate () { logger.EventByteArrayInt(byteArray, 5); }, delegate (Event evt) { Assert.Equal(logger.Name, evt.ProviderName); Assert.Equal("EventByteArrayInt", evt.EventName); var eventArray = evt.PayloadValue(0, "array"); Array.Equals(eventArray, byteArray); Assert.Equal(5, evt.PayloadValue(1, "anInt")); })); tests.Add(new SubTest("WriteEvent/SelfDescribingOnly/UserData", delegate () { logger.EventUserDataInt(new UserData() { x = 3, y = 8 }, 5); }, delegate (Event evt) { Assert.Equal(logger.Name, evt.ProviderName); Assert.Equal("EventUserDataInt", evt.EventName); var aClass = (IDictionary<string, object>)evt.PayloadValue(0, "aClass"); Assert.Equal(3, (int)aClass["x"]); Assert.Equal(8, (int)aClass["y"]); Assert.Equal(5, evt.PayloadValue(1, "anInt")); })); // If you only wish to run one or several of the tests you can filter them here by // Uncommenting the following line. // tests = tests.FindAll(test => Regex.IsMatch(test.Name, "ventWithByteArray")); // Next run the same tests with the TraceLogging path. EventTestHarness.RunTests(tests, listener, logger); } }