Ejemplo n.º 1
0
        public void Get_WhenTypeIsAReferenceTypeAndIsCached_ReturnsValueMatchingType()
        {
            var value = "hello, world!";

            var sut = new HandlerCache();
            sut.Set(value);

            var result = sut.Get(typeof(string));

            Assert.AreEqual(value, result);
        }
Ejemplo n.º 2
0
        public void Get_WhenTypeIsAValueTypeAndIsCached_ReturnsValueMatchingType()
        {
            var value = 1;

            var sut = new HandlerCache();
            sut.Set(value);

            var result = sut.Get(typeof(int));

            Assert.AreEqual(value, result);
        }
Ejemplo n.º 3
0
        public void Processes_WhenCalledMultipleTimes_RegistersEachHandlerType()
        {
            const string instanceName = "empty";
            var handlerCache = new HandlerCache();
            handlerCache.Set(0);

            var sut = new Registry();

            sut.Register(instanceName)
                .Processes<CounterHandler>()
                .Processes<CounterHandler>();

            var container = new Container(sut);

            HandlerProcessor processor = container.With(handlerCache).GetInstance<HandlerProcessor>(instanceName);

            processor.Process();

            Assert.AreEqual(2, handlerCache.Get(typeof(int)));
        }
Ejemplo n.º 4
0
        public void Get_WhenTypeIsReferenceTypeAndValueIsNull_ReturnsValueOfGetMissingFunction()
        {
            var value = new object();

            var sut = new HandlerCache();
            sut.GetMissing = missingType => value;
            sut.Set<string>(null);

            var result = sut.Get(typeof(string));

            Assert.AreEqual(value, result);
        }