From 434d3a6171450b410dac4c48c2f8763015798caf Mon Sep 17 00:00:00 2001 From: Charles Betros Date: Fri, 21 Aug 2020 13:55:54 -0500 Subject: [PATCH] Add test for eventhandler --- .../Cosmos.Compiler.Tests.Bcl/Kernel.cs | 3 +- .../System/EventsTest.cs | 36 +++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 Tests/Kernels/Cosmos.Compiler.Tests.Bcl/System/EventsTest.cs diff --git a/Tests/Kernels/Cosmos.Compiler.Tests.Bcl/Kernel.cs b/Tests/Kernels/Cosmos.Compiler.Tests.Bcl/Kernel.cs index ce2b0e66d..a566becf6 100644 --- a/Tests/Kernels/Cosmos.Compiler.Tests.Bcl/Kernel.cs +++ b/Tests/Kernels/Cosmos.Compiler.Tests.Bcl/Kernel.cs @@ -37,6 +37,7 @@ namespace Cosmos.Compiler.Tests.Bcl BitConverterTest.Execute(); UnsafeCodeTest.Execute(); DelegatesTest.Execute(); + EventsTest.Execute(); RandomTests.Execute(); // System.Collections @@ -44,7 +45,7 @@ namespace Cosmos.Compiler.Tests.Bcl // System.Collections.Generic ListTest.Execute(); - QueueTest.Execute(); + QueueTest.Execute(); DictionaryTest.Execute(); // System.Text diff --git a/Tests/Kernels/Cosmos.Compiler.Tests.Bcl/System/EventsTest.cs b/Tests/Kernels/Cosmos.Compiler.Tests.Bcl/System/EventsTest.cs new file mode 100644 index 000000000..95f6ee3f2 --- /dev/null +++ b/Tests/Kernels/Cosmos.Compiler.Tests.Bcl/System/EventsTest.cs @@ -0,0 +1,36 @@ +using System; +using Cosmos.TestRunner; + +namespace Cosmos.Compiler.Tests.Bcl.System +{ + internal class TestClass + { + private static bool handlerInvoked; + + public event EventHandler EventFired = (sender, args) => + { + handlerInvoked = true; + }; + + private void OnEventFired(EventArgs e) + { + EventHandler handler = EventFired; + handler?.Invoke(this, e); + } + + public bool ExecuteTest() + { + OnEventFired(null); + return handlerInvoked; + } + } + + public class EventsTest + { + public static void Execute() + { + var test = new TestClass(); + Assert.IsTrue(test.ExecuteTest(), "Event handler was not invoked."); + } + } +}