Beispiel #1
0
        public void Should_Handle_Callbacks_Genericly()
        {
            var baz     = new Baz <int>(22);
            var handler = new CustomHandler();

            Assert.IsTrue(handler.Handle(baz));
            Assert.AreEqual(0, baz.Stuff);
            Assert.IsFalse(handler.Handle(new Baz <char>('M')));
        }
Beispiel #2
0
        public void Should_Handle_Callbacks_Genericly_Mapped()
        {
            var baz     = new Baz <int, float>(22, 15.5f);
            var handler = new CustomHandler();

            Assert.IsTrue(handler.Handle(baz));
            Assert.AreEqual(0, baz.Stuff);
            Assert.AreEqual(0, baz.OtherStuff);
            Assert.IsFalse(handler.Handle(new Baz <char, float>('M', 2)));
        }
Beispiel #3
0
        public void Should_Handle_Callbacks_Explicitly()
        {
            var bar     = new Bar();
            var handler = new CustomHandler();

            Assert.IsTrue(handler.Handle(bar));
            Assert.IsTrue(bar.HasComposer);
            Assert.AreEqual(1, bar.Handled);
            Assert.IsFalse(handler.Handle(bar));
            Assert.AreEqual(2, bar.Handled);
        }
Beispiel #4
0
        public void Should_Handle_Callbacks_Implicitly()
        {
            var foo     = new Foo();
            var handler = new CustomHandler();

            Assert.IsTrue(handler.Handle(foo));
            Assert.AreEqual(1, foo.Handled);
        }
Beispiel #5
0
        public void Should_Handle_Callbacks_Contravariantly()
        {
            var foo     = new SuperFoo();
            var handler = new CustomHandler();

            Assert.IsTrue(handler.Handle(foo));
            Assert.IsTrue(foo.HasComposer);
            Assert.AreEqual(2, foo.Handled);
        }
Beispiel #6
0
        public void Should_Compose_Callbacks()
        {
            var handler = new CustomHandler();

            Assert.IsTrue(handler.Handle(new Composition(new Foo())));
        }
Beispiel #7
0
        public void Should_Indicate_Not_Handled()
        {
            var handler = new CustomHandler();

            Assert.IsFalse(handler.Handle(new Bee()));
        }