public void Should_Throw_If_Settings_Are_Null()
            {
                // Given
                var provider = new FakeIssueComponent(new FakeLog());

                // When
                var result = Record.Exception(() => provider.Initialize(null));

                // Then
                result.IsArgumentNullException("settings");
            }
            public void Should_Set_Log()
            {
                // Given
                var log = new FakeLog();

                // When
                var provider = new FakeIssueComponent(log);

                // Then
                provider.Log.ShouldBe(log);
            }
            public void Should_Throw_If_Initialize_Was_Not_Called()
            {
                // Given
                var provider = new FakeIssueComponent(new FakeLog());

                // When
                var result = Record.Exception(() => provider.AssertInitialized());

                // Then
                result.IsInvalidOperationException("Initialize needs to be called first.");
            }
            public void Should_Return_True()
            {
                // Given
                var provider = new FakeIssueComponent(new FakeLog());
                var settings = new RepositorySettings(@"c:\foo");

                // When
                var result = provider.Initialize(settings);

                // Then
                result.ShouldBe(true);
            }
            public void Should_Set_Settings()
            {
                // Given
                var provider = new FakeIssueComponent(new FakeLog());
                var settings = new RepositorySettings(@"c:\foo");

                // When
                provider.Initialize(settings);

                // Then
                provider.Settings.ShouldBe(settings);
            }
            public void Should_Not_Throw_If_Initialize_Was_Called()
            {
                // Given
                var provider = new FakeIssueComponent(new FakeLog());
                var settings = new RepositorySettings(@"c:\foo");

                provider.Initialize(settings);

                // When
                provider.AssertInitialized();

                // Then
            }