public void Should_Throw_If_Settings_Are_Null()
                {
                    // Given
                    BaseAzureDevOpsProjectSettingsImpl settings = null;

                    // When
                    var result = Record.Exception(() => new BaseAzureDevOpsProjectSettingsImpl(settings));

                    // Then
                    result.IsArgumentNullException("settings");
                }
                public void Should_Set_Collection_Url()
                {
                    // Given
                    var collectionUrl = new Uri("http://example.com/collection");
                    var projectGuid   = Guid.NewGuid();
                    var credentials   = AuthenticationProvider.AuthenticationNtlm();

                    // When
                    var result = new BaseAzureDevOpsProjectSettingsImpl(collectionUrl, projectGuid, credentials);

                    // Then
                    result.CollectionUrl.ShouldBe(collectionUrl);
                }
                public void Should_Set_ProjectName()
                {
                    // Given
                    var collectionUrl = new Uri("http://example.com/collection");
                    var projectName   = "MyProject";
                    var credentials   = AuthenticationProvider.AuthenticationNtlm();

                    // When
                    var result = new BaseAzureDevOpsProjectSettingsImpl(collectionUrl, projectName, credentials);

                    // Then
                    result.ProjectName.ShouldBe(projectName);
                }
                public void Should_Set_Collection_Url()
                {
                    // Given
                    var credentials = new AzureDevOpsNtlmCredentials();

                    Environment.SetEnvironmentVariable("SYSTEM_TEAMFOUNDATIONCOLLECTIONURI", "https://example.com/collection");
                    Environment.SetEnvironmentVariable("SYSTEM_TEAMPROJECT", "MyProject");

                    // When
                    var settings = new BaseAzureDevOpsProjectSettingsImpl(credentials);

                    // Then
                    settings.CollectionUrl.ToString().ShouldBe(new Uri("https://example.com/collection").ToString());
                }
                public void Should_Set_Project_Name()
                {
                    // Given
                    var projectName = "MyProject";
                    var credentials = new AzureDevOpsNtlmCredentials();

                    Environment.SetEnvironmentVariable("SYSTEM_TEAMFOUNDATIONCOLLECTIONURI", "https://example.com/collection");
                    Environment.SetEnvironmentVariable("SYSTEM_TEAMPROJECT", projectName);

                    // When
                    var settings = new BaseAzureDevOpsProjectSettingsImpl(credentials);

                    // Then
                    settings.ProjectName.ShouldBe(projectName);
                }