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); }
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); }
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))); }
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); }