public void TearDown() { Wrapper.ConfineIcuVersions(Wrapper.MinSupportedIcuVersion, Wrapper.MaxSupportedIcuVersion); NativeMethodsTests.DeleteDirectory(_tmpDir); _tmpDir = null; Wrapper.SetPreferredIcu4cDirectory(null); }
private string CopyIcuDllsToTempDirectory(string directory, string icuVersion) { if (string.IsNullOrEmpty(_tmpDir)) { _tmpDir = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); Directory.CreateDirectory(_tmpDir); } var targetDir = Path.Combine(_tmpDir, directory, "lib", NativeMethodsTests.GetArchSubdir("win-")); Directory.CreateDirectory(targetDir); NativeMethodsTests.CopyFile(Path.Combine(NativeMethodsTests.IcuDirectory, $"icudt{icuVersion}.dll"), targetDir); NativeMethodsTests.CopyFile(Path.Combine(NativeMethodsTests.IcuDirectory, $"icuin{icuVersion}.dll"), targetDir); NativeMethodsTests.CopyFile(Path.Combine(NativeMethodsTests.IcuDirectory, $"icuuc{icuVersion}.dll"), targetDir); return(targetDir); }
public void ConfineVersions_LoadFromDifferentDirectory_NotInPreferredDir() { // Sanity check Assert.That(NativeMethodsTests.MinIcuLibraryVersionMajor, Is.LessThan(NativeMethodsTests.FullIcuLibraryVersionMajor)); // Setup var fullIcuVersionDirectory = CopyIcuDllsToTempDirectory(Path.GetRandomFileName(), NativeMethodsTests.FullIcuLibraryVersionMajor); var testDirectory = Path.GetRandomFileName(); CopyIcuDllsToTempDirectory(testDirectory, NativeMethodsTests.MinIcuLibraryVersionMajor); var fullTestDirectory = Path.Combine(_tmpDir, testDirectory); NativeMethodsTests.CopyTestFiles(NativeMethodsTests.OutputDirectory, fullTestDirectory); // Execute var result = RunTestHelper(fullTestDirectory, fullIcuVersionDirectory, NativeMethodsTests.MinIcuLibraryVersionMajor); // Verify Assert.That(result, Is.EqualTo(NativeMethodsTests.MinIcuLibraryVersion)); }