public void Should_NotThrow_If_Parameters_AreSet()
            {
                // Given
                var fixture = new SvnStatusFixture();

                // When
                fixture.CreateStatus();
            }
            public void Should_Throw_If_FilePath_Is_Null()
            {
                // Given
                var fixture = new SvnStatusFixture
                {
                    FilePath = null
                };

                // When
                // Then
                Assert.Throws <ArgumentNullException>("filePath", () => fixture.Status());
            }
            public void Should_Throw_If_Settings_Is_Null()
            {
                // Given
                var fixture = new SvnStatusFixture
                {
                    Settings = null
                };

                // When
                // Then
                Assert.Throws <ArgumentNullException>("settings", () => fixture.Status());
            }
            public void Should_Throw_If_GetSvnClient_Is_Null()
            {
                // Given
                var fixture = new SvnStatusFixture
                {
                    GetSvnClient = null
                };

                // When
                // Then
                Assert.Throws <ArgumentNullException>("clientFactoryMethod", () => fixture.CreateStatus());
            }
            public void Should_Throw_If_Environment_Is_Null()
            {
                // Given
                var fixture = new SvnStatusFixture
                {
                    Environment = null
                };

                // When
                // Then
                Assert.Throws <ArgumentNullException>("environment", () => fixture.CreateStatus());
            }
            public void Should_Proxy_Call_To_CreateStatus_OnSvnClient()
            {
                // Given
                var fixture = new SvnStatusFixture();

                // When
                fixture.Status();

                // Then
                fixture.SvnClient.Received(1).Status(fixture.DirectoryPath.ToString(), fixture.Settings);
                fixture.SvnClient.Received(1).Status(fixture.FilePath.ToString(), fixture.Settings);
            }
            public void Should_Not_Force_Credentials_If_Null()
            {
                // Given
                var fixture = new SvnStatusFixture
                {
                    Settings = new SvnStatusSettings
                    {
                        Credentials = null
                    }
                };

                // When
                fixture.Status();

                // Then
                fixture.SvnClient.DidNotReceive().ForceCredentials(Arg.Any <SvnCredentials>());
            }
            public void Should_Force_Credentials_If_Not_Null()
            {
                // Given
                SvnCredentials credentials = new SvnCredentials
                {
                    Username = "******",
                    Password = "******"
                };

                var fixture = new SvnStatusFixture
                {
                    Settings = new SvnStatusSettings
                    {
                        Credentials = credentials
                    }
                };

                // When
                fixture.Status();

                // Then
                fixture.SvnClient.Received(2).ForceCredentials(credentials);
            }