public void GetterActivatorWithContext()
        {
            IFactory <string, int> activator = new GetterFactory <string, int>((context) => String.Format("S{0}", context));

            Assert.AreEqual("S0", activator.Create(0));
            Assert.AreEqual("S1", activator.Create(1));
            Assert.AreEqual("S2", activator.Create(2));
            Assert.AreEqual("S3", activator.Create(3));
            Assert.AreEqual("S4", activator.Create(4));
            Assert.AreEqual("S5", activator.Create(5));
        }
        public void GetterActivator()
        {
            int count = 0;
            IFactory <string> activator = new GetterFactory <string>(() => String.Format("S{0}", count++));

            Assert.AreEqual("S0", activator.Create());
            Assert.AreEqual("S1", activator.Create());
            Assert.AreEqual("S2", activator.Create());
            Assert.AreEqual("S3", activator.Create());
            Assert.AreEqual("S4", activator.Create());
            Assert.AreEqual("S5", activator.Create());
        }