<commit_before>﻿namespace Gu.Analyzers.Test.GU0012NullCheckParameterTests
{
    using Gu.Roslyn.Asserts;
    using NUnit.Framework;

    internal partial class CodeFix
    {
        internal class Parameter
        {
            private static readonly ParameterAnalyzer Analyzer = new ParameterAnalyzer();
            private static readonly NullCheckParameterCodeFixProvider Fix = new NullCheckParameterCodeFixProvider();
            private static readonly Roslyn.Asserts.ExpectedDiagnostic ExpectedDiagnostic = ExpectedDiagnostic.Create("GU0012");

            [TestCase("public")]
            [TestCase("internal")]
            [TestCase("protected")]
            public void ConstructorFullyQualified(string access)
            {
                var testCode = @"
namespace RoslynSandbox
{
    public class Foo
    {
        private readonly string text;

        public Foo(string ↓text)
        {
            this.text = text;
        }
    }
}";
                testCode = testCode.AssertReplace("public Foo", $"{access} Foo");
                var fixedCode = @"<commit_msg>Amend.<commit_after>﻿namespace Gu.Analyzers.Test.GU0012NullCheckParameterTests
{
    using Gu.Roslyn.Asserts;
    using NUnit.Framework;

    internal partial class CodeFix
    {
        internal class Parameter
        {
            private static readonly ParameterAnalyzer Analyzer = new ParameterAnalyzer();
            private static readonly NullCheckParameterCodeFixProvider Fix = new NullCheckParameterCodeFixProvider();
            private static readonly ExpectedDiagnostic ExpectedDiagnostic = ExpectedDiagnostic.Create("GU0012");

            [TestCase("public")]
            [TestCase("internal")]
            [TestCase("protected")]
            public void ConstructorFullyQualified(string access)
            {
                var testCode = @"
namespace RoslynSandbox
{
    public class Foo
    {
        private readonly string text;

        public Foo(string ↓text)
        {
            this.text = text;
        }
    }
}";
                testCode = testCode.AssertReplace("public Foo", $"{access} Foo");
                var fixedCode = @"
{'fraction_non_alphanumeric': 0.08069029850746269, 'fraction_numerical': 0.007462686567164179, 'mean_word_length': 2.279816513761468, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5452232', 'n_tokens_mistral': 549, 'n_tokens_neox': 506, 'n_words': 126}