public void WithReporting_ShouldDecorateActor(
            ActorDecoratorExtensionAssertion assertion,
            [Modest] Actor actor,
            ReportingActor expected)
        {
            //arrange
            //act
            var actual = ActorExtensions.WithReporting(actor, expected.Observer).InnerActorBuilder(expected.Actor);

            //assert
            actual.Should().BeOfType <ReportingActor>().Which.ShouldBeEquivalentTo(expected);
        }
        public void WithReporting_WithIObserverOfString_ShouldDecorateActor(
            ActorDecoratorExtensionAssertion assertion,
            [Modest] Actor actor,
            ReportingActor expected,
            IObserver <string> observer)
        {
            //arrange
            //act
            var actual = ActorExtensions.WithReporting(actor, observer).InnerActorBuilder(expected.Actor);

            //assert
            actual.Should().BeOfType <ReportingActor>()
            .Which.Observer.Should().BeOfType <RenderedReportingObserver>()
            .Which.Observer.Should().Be(observer);
        }
 public void Sut_VerifyActorDecoratorBehavior(ActorDecoratorExtensionAssertion assertion)
 {
     assertion.Verify(typeof(ActorExtensions));
 }