public void UnapprovedTestUtilitiesNamespace_Verify_EmitsDiagnostic(string sampleCode, string violatingNamespace)
 {
     using (var testState = new TestState())
     {
         var test = new AutoTestFile(sampleCode, new Rule(ApprovedNamespaceAnalyzer.TestRule, violatingNamespace, testState.ApprovedTestNamespacesFilePath));
         VerifyDiagnostics(test, testState.GetApprovedNamespaces());
     }
 }
 public void ApprovedTestUtilitiesNamespace_Verify_NoDiagnostic(string sampleCode)
 {
     using (var testState = new TestState())
     {
         var test = new AutoTestFile(sampleCode);
         VerifyDiagnostics(test, testState.GetApprovedNamespaces());
     }
 }
        public void UnapprovedTestUtilitiesNamespace_ApproveNamespaceExternally_NoDiagnostic()
        {
            var sampleCode = @"
namespace <?>NationalInstruments.TestUtilities.SourceModel
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}";

            using (var testState = new TestState())
            {
                var approvedNamespaceFiles = testState.GetApprovedNamespaces();
                var test         = new AutoTestFile(sampleCode, new Rule(ApprovedNamespaceAnalyzer.TestRule, "NationalInstruments.TestUtilities.SourceModel", testState.ApprovedTestNamespacesFilePath));
                var testAfterFix = new AutoTestFile(sampleCode.Replace("<?>", string.Empty));

                VerifyDiagnostics(test, approvedNamespaceFiles);
                testState.AppendToApprovedTestNamespacesFile("\r\nNationalInstruments.TestUtilities.SourceModel");
                VerifyDiagnostics(testAfterFix, approvedNamespaceFiles);
            }
        }
        public void UnapprovedTestUtilitiesNamespace_ApplyFix_NoDiagnostic()
        {
            var sampleCode = @"
namespace NationalInstruments.TestUtilities.SourceModel
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}";

            using (var testState = new TestState())
            {
                var approvedNamespaceFiles = testState.GetApprovedNamespaces();
                var test         = new AutoTestFile(sampleCode);
                var testAfterFix = new TestFile(sampleCode);

                VerifyFix(test, testAfterFix, additionalTestFiles: null, additionalFiles: approvedNamespaceFiles);
                testState.AssertNamespaceExistsInApprovedTestNamespacesFile("NationalInstruments.TestUtilities.SourceModel");
                VerifyDiagnostics(test, approvedNamespaceFiles);
            }
        }