public void Add_同じパスが登録された場合は両方とも保持される() { var registry = new ListenerRegistry(); registry.Add(typeof(Pang)); registry.Add(typeof(Pang2)); registry.GetKeys().Should().HaveCount(1); var notifications = registry.GetListeners(registry.GetKeys().First()); notifications.Should().HaveCount(2); var expectedList = new Queue <Type>(new[] { typeof(Pang), typeof(Pang2) }); for (var i = 0; i < expectedList.Count; i++) { var expect = expectedList.Dequeue(); notifications.Should().Contain(n => n.ListenerType == expect); } }
public void Add_AsEventが付与されている場合は追加される() { var registry = new ListenerRegistry(); registry.Add(typeof(Pang)); var ev = registry.GetListeners("pang"); ev.Should().NotBeNull(); registry.GetKeys().Should().HaveCount(1); }
public void Add_AsEventが複数付与されている場合は複数追加される() { var registry = new ListenerRegistry(); registry.Add(typeof(MultiPang)); var ev1 = registry.GetListeners("pang.1"); ev1.Should().NotBeNull(); var ev2 = registry.GetListeners("pang.2"); ev2.Should().NotBeNull(); registry.GetKeys().Should().HaveCount(2); }