示例#1
0
 public void ForScenarioTest()
 {
     using (ApprovalResults.ForScenario("Scenario"))
     {
         Approvals.Verify("ScenarioValue");
     }
 }
示例#2
0
 public void TestWinMerge()
 {
     using (ApprovalResults.UniqueForMachineName())
     {
         AssertLauncher("../../a.txt", "../../b.txt", WinMergeReporter.INSTANCE);
     }
 }
示例#3
0
 public void TestLaunchesVisualStudio()
 {
     using (ApprovalResults.UniqueForMachineName())
     {
         AssertLauncher("../../a.txt", "../../b.txt", VisualStudioReporter.INSTANCE);
     }
 }
示例#4
0
 public void MsTestV2DataTestMethod(string s)
 {
     using (ApprovalResults.ForScenario(s))
     {
         Approvals.Verify(s);
     }
 }
        public void Can_Apply(string scenario, string json, string xproj)
        {
            using (ApprovalResults.ForScenario(scenario))
            {
                // arrange

                var upgradeActions = new List <IProjectUpgradeAction>();
                var testXProj      = VsProjectFactory.LoadTestProject(xproj);

                var testFileUpgradeContext = new TestJsonBaseProjectUpgradeContext(json, testXProj, null);

                // updates the sdk version in global json.
                var runtimeUpgradeAction = new MigrateProjectImportsFromDnxToDotNet();
                upgradeActions.Add(runtimeUpgradeAction);

                // Apply these actions to the project.json file.
                foreach (var upgradeAction in upgradeActions)
                {
                    upgradeAction.Apply(testFileUpgradeContext);
                }

                // save the changes.
                testFileUpgradeContext.SaveChanges();

                var projContents = VsProjectHelper.ToString(testFileUpgradeContext.VsProjectFile);
                Approvals.VerifyXml(projContents);


                // assert.
                //var modifiedContents = testFileUpgradeContext.ModifiedJsonContents;
                //Approvals.VerifyJson(modifiedContents);

                // Approvals.VerifyAll();
            }
        }
    public void BuildDropScript(BuildSqlDialect sqlDialect)
    {
        var builder = new StringBuilder();

        using (var writer = new StringWriter(builder))
        {
            var saga = new SagaDefinition(
                correlationProperty: new CorrelationProperty
                (
                    name: "CorrelationProperty",
                    type: CorrelationPropertyType.String
                ),
                tableSuffix: "theSaga",
                name: "theSaga"
                );
            SagaScriptBuilder.BuildDropScript(saga, sqlDialect, writer);
        }
        var script = builder.ToString();

        if (sqlDialect == BuildSqlDialect.MsSqlServer)
        {
            SqlValidator.Validate(script);
        }

#if NET452
        using (ApprovalResults.ForScenario(sqlDialect))
        {
            Approvals.Verify(script);
        }
#endif
    }
示例#7
0
        public void TryParseRevision_test(string testName, bool expectedReturn, bool serialThrows = false)
        {
            using (ApprovalResults.ForScenario(testName.Replace(' ', '_')))
            {
                string path = Path.Combine(TestContext.CurrentContext.TestDirectory, "TestData/RevisionReader", testName + ".bin");
                ArraySegment <byte> chunk = File.ReadAllBytes(path);

                RevisionReader.TestAccessor.TryParseRevision(chunk, _getEncodingByGitName, _logOutputEncoding, _sixMonths, out GitRevision rev)
                .Should().Be(expectedReturn);

                // No LocalTime for the time stamps
                JsonSerializerSettings timeZoneSettings = new()
                {
                    DateTimeZoneHandling = DateTimeZoneHandling.Utc
                };

                if (serialThrows)
                {
                    Action act = () => JsonConvert.SerializeObject(rev);
                    act.Should().Throw <JsonSerializationException>();
                }
                else if (expectedReturn)
                {
                    Approvals.VerifyJson(JsonConvert.SerializeObject(rev, timeZoneSettings));
                }
            }
        }
    }
        public void Can_Apply(string scenario, string globalJson)
        {
            using (ApprovalResults.ForScenario(scenario))
            {
                // arrange

                var upgradeActions         = new List <ISolutionUpgradeAction>();
                var testFileUpgradeContext = new TestSolutionUpgradeContext(globalJson);

                // updates the sdk version in global json.
                var runtimeUpgradeAction = new UpdateSdkVersion("1.0.0-preview1-002702");
                upgradeActions.Add(runtimeUpgradeAction);

                // Apply these actions to the global.json file.
                foreach (var upgradeAction in upgradeActions)
                {
                    upgradeAction.Apply(testFileUpgradeContext);
                }

                // save the changes.
                testFileUpgradeContext.SaveChanges();

                // assert.
                var modifiedContents = testFileUpgradeContext.ModifiedJsonContents;
                Approvals.VerifyJson(modifiedContents);
            }
        }
 public void VerifyCompleteFormTest()
 {
     using (ApprovalResults.UniqueForDotNetVersion())
     {
         WinFormsApprovals.VerifyEventsFor(new DemoForm());
     }
 }
示例#10
0
 public void TemplateHasCorrectSymbols()
 {
     using (ApprovalResults.ForScenario(Suffix))
     {
         Approvals.Verify(Decompiler.Decompile(afterAssemblyPath, "Costura.AssemblyLoader"));
     }
 }
        public void DoAutoCRLF_should_not_unnecessarily_duplicate_line_ending(AutoCRLFType autoCRLFType, string file)
        {
            using (var testHelper = new GitModuleTestHelper())
            {
                testHelper.Module.LocalConfigFile.SetEnum("core.autocrlf", autoCRLFType);
                testHelper.Module.LocalConfigFile.Save();

                var content = EmbeddedResourceLoader.Load(Assembly.GetExecutingAssembly(), $"{GetType().Namespace}.MockData.{file}.bin");

                var uiCommands = new GitUICommands(testHelper.Module);
                _uiCommandsSource.UICommands.Returns(x => uiCommands);
                _fileViewer.UICommandsSource = _uiCommandsSource;

                var fvi = _fileViewer.GetTestAccessor().FileViewerInternal;
                fvi.SetText(content, null, false);
                var doc = fvi.GetTestAccessor().TextEditor.Document;
                var end = doc.OffsetToPosition(content.Length);
                fvi.GetTestAccessor().TextEditor.ActiveTextAreaControl.SelectionManager.SetSelection(new TextLocation(0, 0), end);

                // act - 'copy to selection' menu click will call through to DoAutoCRLF
                _fileViewer.GetTestAccessor().CopyToolStripMenuItem.PerformClick();

                // assert
                var text = Clipboard.GetText();
                using (ApprovalResults.ForScenario(file, autoCRLFType))
                {
                    Approvals.Verify(text);
                }
            }
        }
示例#12
0
 public void GetInheritedNonPublicStaticFields()
 {
     ApprovalResults.UniqueForDotNetVersion();
     Approvals.VerifyAll(
         new CheckBox().NonPublicStaticFields(true),
         string.Empty);
 }
 public void TestControlApproved()
 {
     ApprovalResults.UniqueForMachineName();
     WinFormsApprovals.Verify(new Button {
         BackColor = Color.LightBlue, Text = "Help"
     });
 }
示例#14
0
        public void UniqueForRuntime()
        {
            var runtimes = new[] { ".NET Core 4.6.26725.06", ".NET Framework 4.7.3132.0" };

            Approvals.VerifyAll("runtimes", runtimes,
                                s => $"{s} => {ApprovalResults.GetDotNetRuntime(true, s)}");
        }
示例#15
0
        public void CalculateTotalPriceCorrectly(string input, double expectedTotalPrice, string cultureInput, string testName)
        {
            //Arrange
            var consoleStringInput = ConsoleInputBuilder.Build(input);

            CultureSetter.SetCulture(cultureInput);

            var sut = new OrderPlacer(repository, resource); //sut = System under test.

            //Act
#pragma warning disable S1481                                              // Unused local variables should be removed
            using var consoleInput = new ConsoleInput(consoleStringInput); //Exceptions: Unused locally created resources in a using statement are not reported.
#pragma warning restore S1481                                              // Unused local variables should be removed
            using var consoleOutput = new ConsoleOutput();
            sut.PlaceOrder(OrderItemType.Food);
            sut.PlaceOrder(OrderItemType.Drink);
            sut.GetOrderedList();
            var totalPrice = sut.CalculateTotalPrice();

            //Assert
            totalPrice.Should().BeApproximately(expectedTotalPrice, 0.004); //Fluent assertions: https://app.pluralsight.com/library/courses/fluent-assertions-improving-unit-tests/table-of-contents
            using (ApprovalResults.ForScenario(testName))
            {
                Approvals.Verify(consoleOutput.GetOuput()); //Approval Tests: https://app.pluralsight.com/course-player?clipId=23302914-f8f9-4e93-94af-c9420fa8e031
            }
        }
    public void CreateWithCorrelationAndTransitional(BuildSqlVariant sqlVariant)
    {
        var saga = new SagaDefinition(
            tableSuffix: "theSaga",
            name: "theSaga",
            correlationProperty: new CorrelationProperty
            (
                name: "CorrelationProperty",
                type: CorrelationPropertyType.String
            ),
            transitionalCorrelationProperty: new CorrelationProperty
            (
                name: "TransitionalProperty",
                type: CorrelationPropertyType.String
            )
            );

        var builder = new StringBuilder();

        using (var writer = new StringWriter(builder))
        {
            SagaScriptBuilder.BuildCreateScript(saga, sqlVariant, writer);
        }
        var script = builder.ToString();

        if (sqlVariant == BuildSqlVariant.MsSqlServer)
        {
            SqlValidator.Validate(script);
        }

        using (ApprovalResults.ForScenario(sqlVariant))
        {
            Approvals.Verify(script);
        }
    }
示例#17
0
 public void TemplateHasCorrectSymbols()
 {
     using (ApprovalResults.ForScenario(Suffix))
     {
         var text = Decompiler.Decompile(afterAssemblyPath, "Costura.AssemblyLoader");
         Approvals.Verify(WriterFactory.CreateTextWriter(text), new CustomNamer(), Approvals.GetReporter());
     }
 }
 private static void AssertLauncher(string approved, string received, GenericDiffReporter reporter)
 {
     using (ApprovalResults.UniqueForMachineName())
     {
         var args = reporter.GetLaunchArguments(approved, received);
         Approvals.VerifyWithCallback(args, s => StartProcess(s));
     }
 }
示例#19
0
 public void TestApprovalNameWithAdditionalInformation(string fileName)
 {
     using (ApprovalResults.ForScenario(fileName))
     {
         var name = new UnitTestFrameworkNamer().Name;
         Assert.Equal("XunitTheoryStackTraceParserTest.TestApprovalNameWithAdditionalInformation.ForScenario." + fileName, name);
     }
 }
示例#20
0
 public void WithScenarioData()
 {
     using (ApprovalResults.ForScenario("scenarioname"))
     {
         var name = Approvals.GetDefaultNamer().Name;
         Assert.AreEqual("AdditionalInformationTests.WithScenarioData.ForScenario.scenarioname", name);
     }
 }
示例#21
0
 public void TemplateHasCorrectSymbols()
 {
     using (ApprovalResults.ForScenario(nameof(NativeTests)))
     {
         var text = Ildasm.Decompile(TestResult.AssemblyPath, "Costura.AssemblyLoader");
         Approvals.Verify(text);
     }
 }
示例#22
0
    public IldasmTests()
    {
#if DEBUG
        disposable = NamerFactory.AsEnvironmentSpecificTest(() => "Debug" + ApprovalResults.GetDotNetRuntime(true));
#else
        disposable = NamerFactory.AsEnvironmentSpecificTest(() => "Release" + ApprovalResults.GetDotNetRuntime(true));
#endif
    }
 public void TestInvalidCharacters(string fileName)
 {
     using (ApprovalResults.ForScenario(fileName))
     {
         var name = new UnitTestFrameworkNamer().Name;
         Assert.Equal("XunitTheoryStackTraceParserTest.TestInvalidCharacters.ForScenario.File _;___1.txt", name);
     }
 }
示例#24
0
 public void WithMultiplePartScenarioData(string a, string b)
 {
     using (ApprovalResults.ForScenario(a, b))
     {
         var name = Approvals.GetDefaultNamer().Name;
         Assert.AreEqual("AdditionalInformationTests.WithMultiplePartScenarioData.ForScenario.foo.bar", name);
     }
 }
示例#25
0
 public void SampleUniqueForOs()
 {
     // begin-snippet: unique_for_os
     using (ApprovalResults.UniqueForOs())
     {
         Approvals.Verify("Data");
     }
     // end-snippet
 }
    public ModuleWeaverTests(ITestOutputHelper output) :
        base(output)
    {
#if DEBUG
        disposable = NamerFactory.AsEnvironmentSpecificTest(() => "Debug" + ApprovalResults.GetDotNetRuntime(true));
#else
        disposable = NamerFactory.AsEnvironmentSpecificTest(() => "Release" + ApprovalResults.GetDotNetRuntime(true));
#endif
    }
示例#27
0
    public void Verify()
    {
        var verify = Ildasm.Decompile(GetAssemblyPath());

        using (ApprovalResults.UniqueForRuntime())
        {
            Approvals.Verify(verify);
        }
    }
示例#28
0
 public void WithScenarioDataScrubsInvalidChars()
 {
     using (ApprovalResults.ForScenario("invalid/chars"))
     {
         var name = Approvals.GetDefaultNamer().Name;
         Assert.AreEqual(
             "AdditionalInformationTests.WithScenarioDataScrubsInvalidChars.ForScenario.invalid_chars", name);
     }
 }
示例#29
0
    public void VerifyMethod()
    {
        var verify = Ildasm.Decompile(GetAssemblyPath(), "DummyAssembly.Class1::Method");

        using (ApprovalResults.UniqueForRuntime())
        {
            Approvals.Verify(verify);
        }
    }
示例#30
0
    public void Integration_PaketStructure()
    {
        var combine = Path.GetFullPath(Path.Combine(AssemblyLocation.CurrentDirectory, "Fody/AddinFinderTest/PaketStructure"));

        using (ApprovalResults.UniqueForRuntime())
        {
            Verify(combine);
        }
    }