コード例 #1
0
        public void InsertOptionalDataVisitorTests_ResolvesOriginalUriBaseIds()
        {
            string inputFileName = "InsertOptionalDataVisitor.txt";
            string testDirectory = GetTestDirectory("InsertOptionalDataVisitor") + @"\";
            string uriBaseId     = "TEST_DIR";
            string fileKey       = "#" + uriBaseId + "#" + inputFileName;

            IDictionary <string, ArtifactLocation> originalUriBaseIds = new Dictionary <string, ArtifactLocation> {
                { uriBaseId, new ArtifactLocation {
                      Uri = new Uri(testDirectory, UriKind.Absolute)
                  } }
            };

            Run run = new Run()
            {
                DefaultEncoding    = "UTF-8",
                OriginalUriBaseIds = null,
                Results            = new[]
                {
                    new Result()
                    {
                        Locations = new []
                        {
                            new Location
                            {
                                PhysicalLocation = new PhysicalLocation
                                {
                                    ArtifactLocation = new ArtifactLocation
                                    {
                                        Uri       = new Uri(inputFileName, UriKind.Relative),
                                        UriBaseId = uriBaseId
                                    }
                                }
                            }
                        }
                    }
                }
            };

            var visitor = new InsertOptionalDataVisitor(OptionallyEmittedData.TextFiles);

            visitor.VisitRun(run);

            run.OriginalUriBaseIds.Should().BeNull();
            run.Artifacts.Count.Should().Be(1);
            run.Artifacts[0].Contents.Should().BeNull();

            visitor = new InsertOptionalDataVisitor(OptionallyEmittedData.TextFiles, originalUriBaseIds);
            visitor.VisitRun(run);

            run.OriginalUriBaseIds.Should().Equal(originalUriBaseIds);
            run.Artifacts[0].Contents.Text.Should().Be(File.ReadAllText(Path.Combine(testDirectory, inputFileName)));
        }
コード例 #2
0
        public void InsertOptionalDataVisitorTests_VisitDictionaryValueNullChecked_ValidEncoding()
        {
            var visitor = new InsertOptionalDataVisitor(OptionallyEmittedData.OverwriteExistingData | OptionallyEmittedData.TextFiles);

            visitor.VisitRun(new Run()); // VisitDictionaryValueNullChecked requires a non-null run

            string uriString = "file:///C:/src/foo.cs";

            FileData fileData = FileData.Create(new Uri(uriString), mimeType: "text/x-csharp", encoding: Encoding.UTF8);

            fileData.Length = 12345;

            FileData outputFileData = visitor.VisitDictionaryValueNullChecked(uriString, fileData);

            outputFileData.MimeType.Should().Be(fileData.MimeType);
            outputFileData.Encoding.Should().Be(fileData.Encoding);
            outputFileData.Length.Should().Be(fileData.Length);
        }