From cd4145308ff2149eeda2e324c89e8691ed428f6d Mon Sep 17 00:00:00 2001 From: rofr Date: Thu, 25 Sep 2014 21:00:29 +0200 Subject: [PATCH] domain events api change --- src/OrigoDB.Core.UnitTests/DomainEventTests.cs | 14 ++++++++++++-- .../Events/FilteringEventDispatcher.cs | 4 ++-- src/SharedAssemblyInfo.cs | 4 ++-- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/OrigoDB.Core.UnitTests/DomainEventTests.cs b/src/OrigoDB.Core.UnitTests/DomainEventTests.cs index 268ad4d..7b39138 100644 --- a/src/OrigoDB.Core.UnitTests/DomainEventTests.cs +++ b/src/OrigoDB.Core.UnitTests/DomainEventTests.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; -using System.Collections.ObjectModel; using System.Linq; +using System.Runtime.CompilerServices; using NUnit.Framework; namespace OrigoDB.Core.Test @@ -82,7 +82,7 @@ public void CanReRegisterGenericHandler() } [Test] - public void CanFilterBasedOnType() + public void CanFilterUsingTypeExpression() { var target = new FilteringEventDispatcher(); int calls = 0; @@ -91,6 +91,16 @@ public void CanFilterBasedOnType() Assert.AreEqual(1, calls); } + [Test] + public void CanFilterUsingTypeParameter() + { + var calls = 0; + var target = new FilteringEventDispatcher(); + target.On(e => calls++); + target.Send(new Event()); + Assert.AreEqual(1, calls); + } + [Test] public void CanFilter() { diff --git a/src/OrigoDB.Core/Events/FilteringEventDispatcher.cs b/src/OrigoDB.Core/Events/FilteringEventDispatcher.cs index 802209a..f88e6fe 100644 --- a/src/OrigoDB.Core/Events/FilteringEventDispatcher.cs +++ b/src/OrigoDB.Core/Events/FilteringEventDispatcher.cs @@ -44,9 +44,9 @@ public void Subscribe(Action eventHandler, Func selector = /// /// Register or reregister a handler for all events of type T /// - public void Subscribe(Action eventHandler) where T : IEvent + public void On(Action eventHandler) where T : IEvent { - Subscribe(eventHandler, e => e is T); + Subscribe(e => eventHandler.Invoke((T)e), e => e is T); } diff --git a/src/SharedAssemblyInfo.cs b/src/SharedAssemblyInfo.cs index 5d3d2f7..681203f 100644 --- a/src/SharedAssemblyInfo.cs +++ b/src/SharedAssemblyInfo.cs @@ -14,8 +14,8 @@ [assembly: ComVisible(false)] -[assembly: AssemblyVersion("0.17.0")] -[assembly: AssemblyFileVersion("0.17.0")] +[assembly: AssemblyVersion("0.17.1")] +[assembly: AssemblyFileVersion("0.17.1")] [assembly: System.Runtime.CompilerServices.InternalsVisibleTo("OrigoDB.Enterprise")] [assembly: System.Runtime.CompilerServices.InternalsVisibleTo("OrigoDB.Test.MSTest")]