Add Mediator for UI notifications

This commit is contained in:
tomas
2022-07-12 17:45:32 +02:00
committed by Gustas
parent 91fbd618ce
commit b0329aad35
2 changed files with 94 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
#region Copyright & License Information
/*
* Copyright 2007-2022 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made
* available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version. For more
* information, see COPYING.
*/
#endregion
using NUnit.Framework;
using OpenRA.Widgets;
namespace OpenRA.Test
{
[TestFixture]
public class MediatorTest
{
[TestCase(TestName = "Mediator test")]
public void Test()
{
var mediator = new Mediator();
var testHandler = new TestHandler();
mediator.Subscribe(testHandler);
mediator.Send(new TestNotificaton());
Assert.IsTrue(testHandler.WasNotified);
}
}
public class TestHandler : INotificationHandler<TestNotificaton>
{
public bool WasNotified { get; set; }
public void Handle(TestNotificaton notification)
{
WasNotified = true;
}
}
public class TestNotificaton { }
}