public void Get_WithNoExodataResolver_ReturnsDefault() { var maxLength = new ExodataDeclaration <int>(7); var value = maxLength.For <string>(); Assert.AreEqual(7, value); }
public void Get_WithValidArguments_ReturnsExodataResolverResults() { var maxLength = new ExodataDeclaration <int>(7); var resolver = new StandardExodataResolver(); resolver.Bind(maxLength) .For <string>() .To(42); ExodataDeclaration.SetResolver(resolver); var value = maxLength.For <string>(); Assert.AreEqual(42, value); }
public void Get_WithNoExodataResolver_UsesResolverFromIoc() { var maxLength = new ExodataDeclaration <int>(7); var exodataResolver = new StandardExodataResolver(); exodataResolver.Bind(maxLength) .For <string>() .To(42); Ioc.SetDependencyResolver(new DependencyResolver(symbol => symbol.ToMaybe().OfType <IDependencySymbol>().Where(x => x.DependencyType == typeof(IExodataResolver)).Select(x => (object)exodataResolver))); var value = maxLength.For <string>(); Assert.AreEqual(42, value); }
public void Get_OnGenericExodataWithDeclaration_ProvidesAllArgumentsToResolver() { var maxLength = new ExodataDeclaration <int>(7); var resolver = MockRepository.GenerateMock <IExodataResolver>(); resolver.Expect(x => x.TryResolve <int, object, string>(null)) .Callback <IExodataRequest <int, object, string> >(r => r.Symbol == maxLength && r.Context == Maybe <object> .NoValue && r.Subject == Maybe <string> .NoValue && r.Member == null) .Return(42.ToMaybe()); ExodataDeclaration.SetResolver(resolver); maxLength.For <string>(); resolver.VerifyAllExpectations(); }
public void Get_OnGenericExodataWithDeclarationSubjectAndMember_ProvidesAllArgumentsToResolver() { var maxLength = new ExodataDeclaration <int>(7); string subject = "Hello, World!"; Expression <Func <string, object> > expression = x => x.Length; var member = expression.ExtractMemberInfoForExodata <string>(); var resolver = MockRepository.GenerateMock <IExodataResolver>(); resolver.Expect(x => x.TryResolve <int, object, string>(null)) .Callback <IExodataRequest <int, object, string> >(r => r.Symbol == maxLength && r.Context == Maybe <object> .NoValue && r.Subject == subject && r.Member == member) .Return(42.ToMaybe()); ExodataDeclaration.SetResolver(resolver); maxLength.For(subject, expression); resolver.VerifyAllExpectations(); }