コード例 #1
0
 public void ResolveRelativePath_should_return_expected_values()
 {
     ForTest.Scenarios
     (
         new
     {
         Base     = @"C:\SourceCode\sparky-test-helpers\.vs\SparkyTestHelpers\lut\0\t\SparkyTestHelpers.Xml.UnitTests\bin\Debug",
         Relative = "../../../../../../../../app.transform1.config",
         Expected = @"C:\SourceCode\sparky-test-helpers\app.transform1.config"
     },
         new { Base = @"c:\folder\subfolder", Relative = @"something\web.config", Expected = @"c:\folder\subfolder\something\web.config" },
         new { Base = @"c:\folder\subfolder", Relative = @"/something/web.config", Expected = @"c:\something\web.config" },
         // Can use either forward or backward slashes:
         new { Base = @"c:\folder\subfolder", Relative = @"../../something/web.config", Expected = @"c:\something\web.config" },
         new { Base = @"c:\folder\subfolder", Relative = @"..\..\something\web.config", Expected = @"c:\something\web.config" },
         new { Base = @"c:\folder\subfolder", Relative = @"../something\web.config", Expected = @"c:\folder\something\web.config" },
         new { Base = @"c:\folder\subfolder", Relative = @"..\something\web.config", Expected = @"c:\folder\something\web.config" },
         // Full path ignores base:
         new { Base = @"c:\folder\subfolder", Relative = @"c:\different\subDifferent\web.config", Expected = @"c:\different\subDifferent\web.config" }
     )
     .TestEach(scenario =>
               Assert.AreEqual(
                   scenario.Expected.ToLowerInvariant(),
                   XmlTransformer.ResolveRelativePath(scenario.Base, scenario.Relative).ToLowerInvariant()));
 }