private void ValidateSourceLinkConversion(string[] documents, string sourceLink, string expectedSrcSvr, PdbDiagnostic[]?expectedErrors = null)
        {
            var actualErrors = new List <PdbDiagnostic>();
            var converter    = new PdbConverterPortableToWindows(actualErrors.Add);
            var actualSrcSvr = converter.ConvertSourceServerData(sourceLink, documents, PortablePdbConversionOptions.Default);

            AssertEx.Equal(expectedErrors ?? Array.Empty <PdbDiagnostic>(), actualErrors);
            AssertEx.AssertLinesEqual(expectedSrcSvr, actualSrcSvr !);
        }
        public void ValidateSrcSvrVariables()
        {
            PdbConverterPortableToWindows.ValidateSrcSvrVariable("A", "", "");
            PdbConverterPortableToWindows.ValidateSrcSvrVariable("AZaz09_", "", "");
            PdbConverterPortableToWindows.ValidateSrcSvrVariable("ABC", "", "");

            Assert.Throws <ArgumentException>(() => PdbConverterPortableToWindows.ValidateSrcSvrVariable(null !, "", ""));
            Assert.Throws <ArgumentException>(() => PdbConverterPortableToWindows.ValidateSrcSvrVariable("", "", ""));
            Assert.Throws <ArgumentException>(() => PdbConverterPortableToWindows.ValidateSrcSvrVariable("-", "", ""));
            Assert.Throws <ArgumentException>(() => PdbConverterPortableToWindows.ValidateSrcSvrVariable("ABC_[", "", ""));
            Assert.Throws <ArgumentException>(() => PdbConverterPortableToWindows.ValidateSrcSvrVariable("0ABC", "", ""));
            Assert.Throws <ArgumentException>(() => PdbConverterPortableToWindows.ValidateSrcSvrVariable("A", "a\r", ""));
            Assert.Throws <ArgumentException>(() => PdbConverterPortableToWindows.ValidateSrcSvrVariable("A", "a\n", ""));
            Assert.Throws <ArgumentException>(() => PdbConverterPortableToWindows.ValidateSrcSvrVariable("A", "a\0", ""));
        }