|
|
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Xunit;
-
- namespace IPA.Tests
- {
- public class ProgramTest
- {
- [Theory]
- // Unrelated path
- [InlineData("test/from.dll", "test/to.dll", "native", false, new string[] { "test/to.dll" })]
-
- // Flat -> Not-Flat
- [InlineData("native/from.dll", "native/to.dll", "native", false, new string[] { "native/x86/to.dll", "native/x86_64/to.dll" })]
-
- // Flat -> Flat
- [InlineData("native/from.dll", "native/to.dll", "native", true, new string[] { "native/to.dll" })]
-
- // Not-Flat -> Flat
- [InlineData("native/x86/from.dll", "native/x86/to.dll", "native", true, new string[] { })]
- [InlineData("native/x86_64/from.dll", "native/x86_64/to.dll", "native", true, new string[] { "native/to.dll" })]
-
- // Not-flat -> Not-Flat
- [InlineData("native/x86/from.dll", "native/x86/to.dll", "native", false, new string[] { "native/x86/to.dll" })]
- [InlineData("native/x86_64/from.dll", "native/x86_64/to.dll", "native", false, new string[] { "native/x86_64/to.dll" })]
-
- public void CopiesCorrectly(string from, string to, string nativeFolder, bool isFlat, string[] expected)
- {
- var outcome = Program.NativePluginInterceptor(new FileInfo(from), new FileInfo(to), new DirectoryInfo(nativeFolder), isFlat, Program.Architecture.Unknown).Select(f => f.FullName).ToList();
-
- var expectedPaths = expected.Select(e => new FileInfo(e)).Select(f => f.FullName).ToList();
- Assert.Equal(expectedPaths, outcome);
- }
- }
- }
|