Beispiel #1
0
        public void Get_ByTypeOnly_UsesTypeDeclaration()
        {
            var resolver = new StandardExodataResolver();

            resolver.Bind(ExodataDeclaration <int> .TypeDeclaration, 42);

            ExodataDeclaration.SetResolver(resolver);

            Assert.AreEqual(42, ExodataDeclaration.Get <int>());
        }
Beispiel #2
0
        public void Get_OnNonGenericExodataWithDeclaration_ProvidesAllArgumentsToResolver()
        {
            var maxLength = new ExodataDeclaration <int>(7);

            var resolver = MockRepository.GenerateMock <IExodataResolver>();

            resolver.Expect(x => x.TryResolve <int, object, object>(null))
            .Callback <IExodataRequest <int, object, object> >(r => r.Symbol == maxLength &&
                                                               r.Context == Maybe <object> .NoValue &&
                                                               r.Subject == Maybe <object> .NoValue &&
                                                               r.Member == null)
            .Return(42.ToMaybe());

            ExodataDeclaration.SetResolver(resolver);

            maxLength.Get();
            resolver.VerifyAllExpectations();
        }
Beispiel #3
0
        public void Get_WhenWithNoDefault_ThrowsException()
        {
            var maxLength = new ExodataDeclaration <int>();

            Assert.Throws <InvalidOperationException>(() => maxLength.Get());
        }