public void Create_引数の型にINotificationを実装している場合はMediateTypeがNotificationのMediatorListenerが返される()
    {
        var listeners = MediatorListenerDescription.Create(typeof(Pang));

        listeners.Should().HaveCount(1);
        listeners.Select(l => l.MediateType)
        .All(m => m == MediateType.Notification).Should().BeTrue();
    }
    public void Create_引数の型にIRequestを実装している場合はMediateTypeがRequestのMediatorListenerが返される()
    {
        var listeners = MediatorListenerDescription.Create(typeof(RequestPang));

        listeners.Should().HaveCount(1);
        listeners.Select(l => l.MediateType)
        .All(m => m == MediateType.Request).Should().BeTrue();
    }
    public void Create_引数の型にIRequestTを実装したクローズドでAsEventListenerが付加されている場合はMediatorListenerが返される()
    {
        var listeners = MediatorListenerDescription.Create(typeof(RequestTPang));

        listeners.Should().HaveCount(1);
        var listener = listeners.First();

        listener.Key.Should().Be("pang.requestT");
        listener.ListenerType.Should().Be(typeof(RequestTPang));
    }
Example #4
0
    public void TraceStartPublishToListeners_Traceがtrueの場合は出力される()
    {
        var source = new TestServiceLikeLogger();

        source.TraceEnabled = true;
        new ServiceLikeLoggerWrapper(source).TraceStartPublishToListeners("test",
                                                                          MediatorListenerDescription.Create(typeof(Pang)));

        source.TraceMessages.Should().HaveCount(1);
    }
Example #5
0
    public void TraceStartPublishToListeners_Traceがfalseの場合は出力されない()
    {
        var source = new TestServiceLikeLogger();

        source.TraceEnabled = false;
        new ServiceLikeLoggerWrapper(source).TraceStartPublishToListeners("test",
                                                                          MediatorListenerDescription.Create(typeof(Pang)));

        source.TraceMessages.Should().BeEmpty();
    }
Example #6
0
    public void ErrorOnPublish_Errorがtrueの場合は出力される()
    {
        var source = new TestServiceLikeLogger();

        source.ErrorEnabled = true;
        new ServiceLikeLoggerWrapper(source).ErrorOnPublish(new Exception(),
                                                            MediatorListenerDescription.Create(typeof(Pang)).First());

        source.ErrorMessages.Should().HaveCount(1);
    }
    public void Create_引数の型に複数のAsEventListenerが付加されている場合は複数のEventが返される()
    {
        var listeners = MediatorListenerDescription.Create(typeof(MultiPang));

        listeners.Should().HaveCount(2);
        var listenerList = listeners.OrderBy(r => r.Key).ToList();

        listenerList[0].Key.Should().Be("pang.1");
        listenerList[0].ListenerType.Should().Be(typeof(MultiPang));
        listenerList[1].Key.Should().Be("pang.2");
        listenerList[1].ListenerType.Should().Be(typeof(MultiPang));
    }
    public void Create_引数の型にAsEventListenerが付加されていない場合例外が発行される()
    {
        Action act = () => MediatorListenerDescription.Create(typeof(OnlyPang));

        act.Should().Throw <ArgumentException>();
    }
    public void Create_引数の型がINotificationを継承していない場合例外が発行される()
    {
        Action act = () => MediatorListenerDescription.Create(typeof(PlainPang));

        act.Should().Throw <ArgumentException>();
    }
    public void Create_引数の型が実装型じゃない場合例外が発行される()
    {
        Action act = () => MediatorListenerDescription.Create(typeof(AbstractPang));

        act.Should().Throw <ArgumentException>();
    }
    public void Create_引数の型のGenericがオープンしてたら例外が発行される()
    {
        Action act = () => MediatorListenerDescription.Create(typeof(OpenGenericPang <>));

        act.Should().Throw <ArgumentException>();
    }
    public void Create_引数がnullの場合は例外が発行される()
    {
        Action act = () => MediatorListenerDescription.Create(null);

        act.Should().Throw <ArgumentNullException>();
    }
Example #13
0
 public void TraceStartPublishToListeners_元のロガーが無い時は出力されない()
 {
     new ServiceLikeLoggerWrapper(null).TraceStartPublishToListeners("test",
                                                                     MediatorListenerDescription.Create(typeof(Pang)));
 }
Example #14
0
 public void ErrorOnPublish_元のロガーが無い時は出力されない()
 {
     new ServiceLikeLoggerWrapper(null).ErrorOnPublish(new Exception(),
                                                       MediatorListenerDescription.Create(typeof(Pang)).First());
 }
Example #15
0
 public void TracePublishToListener_元のロガーが無い時は出力されない()
 {
     new ServiceLikeLoggerWrapper(null).TracePublishToListener(
         MediatorListenerDescription.Create(typeof(Pang)).First());
 }