public void TestPathParsing(string path, string expected, int?parentCount, ParsedPathKind expectedKind) { var parsedPath = m_pathResolver.ParseRegularPath(path); var expectedPath = CreateParsedPath(expected, parentCount, expectedKind); Assert.Equal(expectedPath, parsedPath); }
private ParsedPath CreateParsedPath(string path, int?parentCount, ParsedPathKind kind) { switch (kind) { case ParsedPathKind.AbsolutePath: return(ParsedPath.AbsolutePath(CreateAbsolutePath(path), m_pathTable)); case ParsedPathKind.PackageRelative: return(ParsedPath.PackageRelativePath(RelativePath.Create(m_pathTable.StringTable, path), m_pathTable)); case ParsedPathKind.FileRelative: return(ParsedPath.FileRelativePath(RelativePath.Create(m_pathTable.StringTable, path), parentCount ?? 0, m_pathTable)); default: throw new ArgumentOutOfRangeException(nameof(kind), kind, null); } }