public void Presentation_003_StaticGenericVariablesDemonstration()
        {
            FakeMapperFor <int, int> .StaticId    = 1;
            FakeMapperFor <int, string> .StaticId = 2;

            Assert.AreEqual(1, FakeMapperFor <int, int> .StaticId);
            Assert.AreEqual(2, FakeMapperFor <int, string> .StaticId);

            var instanceInt    = new FakeMapperFor <int, int>();
            var instanceString = new FakeMapperFor <int, string>();

            instanceInt.SetStaticId(5);
            instanceString.SetStaticId(6);

            Assert.AreEqual(5, FakeMapperFor <int, int> .StaticId);
            Assert.AreEqual(5, instanceInt.GetStaticId());

            var otherInstanceInt = new FakeMapperFor <int, int>();

            Assert.AreEqual(5, otherInstanceInt.GetStaticId());



            FakeMapperFor <int, string> .Converter = t => t.ToString();
            var convertResult = FakeMapperFor <int, string> .Converter(44);

            Assert.AreEqual("44", convertResult);

            FakeMapperFor <int, string> .Converter = t => string.Format("The answer is {0}", t);
            var convertResult2 = FakeMapperFor <int, string> .Converter(44);

            Assert.AreEqual("The answer is 44", convertResult2);
        }
        public void Presentation_003_StaticGenericVariablesDemonstration()
        {
            FakeMapperFor<int, int>.StaticId = 1;
            FakeMapperFor<int, string>.StaticId = 2;

            Assert.AreEqual(1, FakeMapperFor<int, int>.StaticId);
            Assert.AreEqual(2, FakeMapperFor<int, string>.StaticId);

            var instanceInt = new FakeMapperFor<int, int>();
            var instanceString = new FakeMapperFor<int, string>();

            instanceInt.SetStaticId(5);
            instanceString.SetStaticId(6);

            Assert.AreEqual(5, FakeMapperFor<int, int>.StaticId);
            Assert.AreEqual(5, instanceInt.GetStaticId());

            var otherInstanceInt = new FakeMapperFor<int, int>();
            Assert.AreEqual(5, otherInstanceInt.GetStaticId());

            FakeMapperFor<int, string>.Converter = t => t.ToString();
            var convertResult = FakeMapperFor<int, string>.Converter(44);
            Assert.AreEqual("44", convertResult);

            FakeMapperFor<int, string>.Converter = t => string.Format("The answer is {0}", t);
            var convertResult2 = FakeMapperFor<int, string>.Converter(44);
            Assert.AreEqual("The answer is 44", convertResult2);
        }