public void ResolvePathRelativeToSln_works(string basePath, string relativePath)
        {
            // arrange
            var resolver = new SlnFileResolver().WithBasePath(basePath);

            // act
            var fullPath = resolver.ResolvePathRelativeToSln(relativePath);

            // assert
            Assert.NotNull(fullPath);
            Assert.NotEmpty(fullPath);
            Assert.True(File.Exists(fullPath), $"File does not exist: {fullPath}");
        }
        public void ResolvePathRelativeToSln_works_defaults()
        {
            // arrange
            var relativePath = "README.md";
            var resolver     = new SlnFileResolver();

            // act
            var fullPath = resolver.ResolvePathRelativeToSln(relativePath);

            // assert
            Assert.NotNull(fullPath);
            Assert.NotEmpty(fullPath);
            Assert.True(File.Exists(fullPath), $"File does not exist: {fullPath}");
        }
        public void ResolvePathRelativeToSln_works_with_different_sln_pattern()
        {
            // arrange
            var slnPattern   = "one.sln";
            var basePath     = "TestData/one/a/b";
            var relativePath = "a/foo.txt";
            var resolver     = new SlnFileResolver().WithBasePath(basePath).WithSlnPattern(slnPattern);

            // act
            var fullPath = resolver.ResolvePathRelativeToSln(relativePath);

            // assert
            Assert.NotNull(fullPath);
            Assert.NotEmpty(fullPath);
            Assert.True(File.Exists(fullPath), $"File does not exist: {fullPath}");
        }