Пример #1
0
        public void Register_WithAnOverrideCalledAfterACallToVerify_FailsWithTheExpectedException()
        {
            // Arrange
            var container = ContainerFactory.New();

            container.Options.AllowOverridingRegistrations = true;

            container.Register <IUserRepository, SqlUserRepository>();

            container.Verify();

            try
            {
                // Act
                container.RegisterSingle <IUserRepository, SqlUserRepository>();

                // Assert
                Assert.Fail("Exception expected.");
            }
            catch (InvalidOperationException ex)
            {
                AssertThat.ExceptionMessageContains("The container can't be changed", ex);
            }
        }
        public void GetInstance_MultipleDelegatesHookedUpToEvent_FailsWhenBothDelegatesRegisterSameServiceType()
        {
            // Arrange
            string expectedMessage = "Multiple observers of the ResolveUnregisteredType event are " +
                                     "registering a delegate for the same service type";

            var container = ContainerFactory.New();

            container.ResolveUnregisteredType += (s, e) => e.Register(() => new SqlUserRepository());
            container.ResolveUnregisteredType += (s, e) => e.Register(() => new InMemoryUserRepository());

            try
            {
                // Act
                container.GetInstance <IUserRepository>();

                // Assert
                Assert.Fail("Exception expected.");
            }
            catch (ActivationException ex)
            {
                AssertThat.StringContains(expectedMessage, ex.Message);
            }
        }
Пример #3
0
        public void Ctor_EmptyStringArgument_ThrowExpectedArgumentName()
        {
            Action action = () => new FakeLifestyle(string.Empty);

            AssertThat.ThrowsWithParamName <ArgumentException>("name", action);
        }
Пример #4
0
        public void Ctor_EmptyStringArgument_ThrowExpectedException()
        {
            Action action = () => new FakeLifestyle(string.Empty);

            AssertThat.ThrowsWithExceptionMessageContains <ArgumentException>("Value can not be empty.", action);
        }
Пример #5
0
        public void Ctor_NullArgument_ThrowsExpectedException()
        {
            Action action = () => new FakeLifestyle(null);

            AssertThat.ThrowsWithParamName <ArgumentNullException>("name", action);
        }
 private static void _ <T>(Type type, Type genericType) where T : Exception =>
 AssertThat.Throws <T>(() => type.GetClosedTypesOf(genericType));
        private static void _(Type type, Type genericTypeDefinition, Type expected)
        {
            Type actual = type.GetClosedTypeOf(genericTypeDefinition);

            AssertThat.AreEqual(expected, actual);
        }