public void ToFormattedStringIsFormatted()
        {
            // Arrange
            const string Expected = @"2: Activity [1] ""EchoArg<Int32>"" is Executing
            {
            Arguments
            {
            Value: 123
            }
            }
            ";

            WorkflowTrace.Information("Arrange");
            var activity = new EchoArg<int> { Value = new InArgument<int>(123) };
            var tracker = new ActivityStateTracker();
            var workflow = WorkflowApplicationTest.Create(activity);
            workflow.Extensions.Add(tracker);

            // Act
            try
            {
                WorkflowTrace.Information("Act");

                // Run until idle with the Test extension
                workflow.TestWorkflowApplication.RunEpisode();
                var actual = tracker.Records[0].ToFormattedString();

                // Assert
                Assert.AreEqual(Environment.NewLine + Expected, Environment.NewLine + actual);
            }
            finally
            {
                workflow.Tracking.Trace();
            }
        }
        public void TypeNameOptionAddsTypeFullName()
        {
            var activity = new Sequence();
            var host = WorkflowInvokerTest.Create(activity);
            var tracker = new ActivityStateTracker();
            host.Extensions.Add(tracker);

            host.TestActivity();

            var record = tracker.Records[0];

            var actual = record.ToFormattedString(TrackingOption.Default | TrackingOption.TypeName);
            var index = actual.IndexOf("(System.Activities.Statements.Sequence)", StringComparison.Ordinal);
            Assert.AreEqual(40, index);
        }