public void TestDispatchAction() { var sub1Orig = new Sub1(); Sub1 sub1Dispatched = null; var sub2Orig = new Sub2(); Sub2 sub2Dispatched = null; var dispatcher = new PerTypeDispatcher <Base>(false) { (Sub1 sub1) => sub1Dispatched = sub1, (Sub2 sub2) => sub2Dispatched = sub2 }; dispatcher.Dispatch(sub1Orig); sub1Dispatched.Should().BeSameAs(sub1Orig); dispatcher.Dispatch(sub2Orig); sub2Dispatched.Should().BeSameAs(sub2Orig); }