Example #1
0
        private static IPandaContainer CreateAndRegisterContainerWithCredentials(string baseUrl, string userName, string password)
        {
            var container = new PandaContainer();

            container.RegisterPandaModules(() => AuthenticateWithCredentials(container, baseUrl, userName, password));

            return(container);
        }
        public void MultipleInstanceTypeOfRegistrationTest()
        {
            var container = new PandaContainer();

            container.RegisterType <IRegistrationTest>(typeof(RegistrationTest));

            var instance = container
                           .Resolve(typeof(IRegistrationTest))
                           .ShouldBeOfType <RegistrationTest>();

            instance.Name.ShouldBeNull();
            instance.Value.ShouldBeNull();
        }
        public void MultipleInstanceCustomFactoryRegistrationTest()
        {
            var container = new PandaContainer();

            container.RegisterType <IRegistrationTest>(() => new RegistrationTest {
                Name = "CustomName", Value = "CustomValue"
            });

            var instance = container.Resolve <IRegistrationTest>();

            instance.Name.ShouldBe("CustomName");
            instance.Value.ShouldBe("CustomValue");
        }
Example #4
0
        private static IPandaContainer CreateAndRegisterContainerWithOAuth(
            string baseUrl,
            string consumerKey,
            string consumerSecret,
            string oAuthAccessToken,
            string oAuthTokenSecret)
        {
            var container = new PandaContainer();

            container.RegisterPandaModules(() => AuthenticateWithOAuth(container, baseUrl, consumerKey, consumerSecret, oAuthAccessToken, oAuthTokenSecret));

            return(container);
        }
        public void ParameterizedConstructorRegistrationTest()
        {
            var container = new PandaContainer();

            container.RegisterType <IRegistrationTest>(() => new RegistrationTest {
                Name = "42"
            });
            container.RegisterType <ParameterizedConstructorTest, ParameterizedConstructorTest>();

            var instance = container.Resolve <ParameterizedConstructorTest>();

            instance.Container.ShouldBeSameAs(container);
            instance.TestProperty.ShouldNotBeNull();
            instance.TestProperty.Name.ShouldBe("42");
        }
        public void RegistrationErrorHandlingTest()
        {
            var container = new PandaContainer();

            Should.Throw <InvalidOperationException>(() => container.Resolve <IRegistrationTest>());

            container.RegisterType <NoPublicConstructorTest, NoPublicConstructorTest>();

            Should.Throw <InvalidOperationException>(() => container.Resolve <NoPublicConstructorTest>());
            Should.Throw <InvalidOperationException>(() => container.RegisterType <NoPublicConstructorTest, NoPublicConstructorTest>());
            Should.Throw <InvalidOperationException>(() => container.RegisterSingletonType <NoPublicConstructorTest, NoPublicConstructorTest>());

            container.RegisterType <ParameterizedConstructorTest, ParameterizedConstructorTest>();

            Should.Throw <InvalidOperationException>(() => container.Resolve <ParameterizedConstructorTest>());
        }
        public void SingleInstanceRegistrationTest()
        {
            var container = new PandaContainer();

            container.RegisterSingletonType <IRegistrationTest, RegistrationTest>();

            var instance = container.Resolve <IRegistrationTest>();

            instance.Name.ShouldBeNull();
            instance.Value.ShouldBeNull();

            var anotherInstance = container.Resolve <IRegistrationTest>(
                new InjectProperty("Test", "Name"),
                new InjectProperty("Value", "Value"));

            anotherInstance.ShouldBeSameAs(instance);
        }
        public void SingleInstanceCustomFactoryRegistrationTest()
        {
            var container = new PandaContainer();

            container.RegisterSingletonType <IRegistrationTest>(() => new RegistrationTest {
                Name = "CustomName", Value = "CustomValue"
            });

            var instance = container.Resolve <IRegistrationTest>();

            instance.Name.ShouldBe("CustomName");
            instance.Value.ShouldBe("CustomValue");

            var anotherInstance = container.Resolve <IRegistrationTest>();

            anotherInstance.ShouldBeSameAs(instance);
        }