public void Should_Return_Empty_Result_If_Any_Match_Is_Not_Possible(string framework, Runtime runtime) { // Given var fixture = new NuGetAddinContentResolverFixture(framework, runtime); fixture.CreateCLRAssembly("/Working/lib/net462/file.dll"); fixture.CreateCLRAssembly("/Working/lib/netstandard2.2/file.dll"); // When var result = fixture.GetFiles(); // Then Assert.Equal(0, result.Count); }
public void Should_Return_From_Root_If_No_Compatible_Framework_Found(string framework, Runtime runtime) { // Given var fixture = new NuGetAddinContentResolverFixture(framework, runtime); fixture.CreateCLRAssembly("/Working/lib/net462/file.dll"); fixture.CreateCLRAssembly("/Working/file.dll"); // When var result = fixture.GetFiles(); // Then Assert.Equal(1, result.Count); Assert.Equal($"/Working/file.dll", result.ElementAt(0).Path.FullPath); }
public void Should_Not_Return_Ref_Assemblies(string framework, Runtime runtime) { // Given var fixture = new NuGetAddinContentResolverFixture(framework, runtime); fixture.CreateCLRAssembly("/Working/ref/netstandard1.6/file.dll"); fixture.CreateCLRAssembly("/Working/ref/net46/file.dll"); fixture.FileSystem.CreateFile("/Working/lib/netstandard1.6/_._"); fixture.FileSystem.CreateFile("/Working/lib/net46/_._"); // When var result = fixture.GetFiles(); // Then Assert.Equal(0, result.Count); }
public void Should_Return_Exact_Framework_Even_Though_Files_Located_In_Root(string framework, Runtime runtime, string expected) { // Given var fixture = new NuGetAddinContentResolverFixture(framework, runtime); fixture.CreateCLRAssembly("/Working/lib/net461/file.dll"); fixture.CreateCLRAssembly("/Working/lib/netstandard1.6/file.dll"); fixture.CreateCLRAssembly("/Working/file.dll"); // When var result = fixture.GetFiles(); // Then Assert.Equal(1, result.Count); Assert.Equal($"/Working/lib/{expected}/file.dll", result.ElementAt(0).Path.FullPath); }
public void Should_Return_Compatible_Netstandard_If_An_Exact_Match_Is_Not_Possible() { // Given var fixture = new NuGetAddinContentResolverFixture(".NETFramework,Version=v4.6"); fixture.CreateCLRAssembly("/Working/lib/netstandard1.0/file.dll"); fixture.CreateCLRAssembly("/Working/lib/netstandard1.3/file.dll"); fixture.CreateCLRAssembly("/Working/lib/netstandard2.0/file.dll"); // When var result = fixture.GetFiles(); // Then Assert.Equal(1, result.Count); Assert.Equal($"/Working/lib/netstandard1.3/file.dll", result.ElementAt(0).Path.FullPath); }
public void Should_Return_Native_Runtimes_Assemblies_If_CoreCLR() { // Given var framework = ".NETCoreApp,Version=v2.0"; var runtime = Runtime.CoreClr; var fixture = new NuGetAddinContentResolverFixture(framework, runtime); fixture.CreateCLRAssembly("/Working/runtimes/win/native/file.dll"); fixture.CreateCLRAssembly("/Working/runtimes/linux/native/file.so"); fixture.CreateCLRAssembly("/Working/runtimes/osx/native/file.dylib"); // When var result = fixture.GetFiles(); // Then Assert.Equal(1, result.Count); }
public void Should_Return_Files_When_Located_In_Root(string framework, Runtime runtime) { // Given var fixture = new NuGetAddinContentResolverFixture(framework, runtime); fixture.CreateCLRAssembly("/Working/file1.dll"); fixture.CreateCLRAssembly("/Working/file2.dll"); fixture.CreateCLRAssembly("/Working/file3.dll"); // When var result = fixture.GetFiles(); // Then Assert.Equal(3, result.Count); Assert.Equal("/Working/file1.dll", result.ElementAt(0).Path.FullPath); Assert.Equal("/Working/file2.dll", result.ElementAt(1).Path.FullPath); Assert.Equal("/Working/file3.dll", result.ElementAt(2).Path.FullPath); }
public void Should_Return_Nearest_Compatible_Framework_If_An_Exact_Match_Is_Not_Possible(string framework, Runtime runtime, string expected) { // Given var fixture = new NuGetAddinContentResolverFixture(framework, runtime); fixture.CreateCLRAssembly("/Working/lib/net45/file.dll"); fixture.CreateCLRAssembly("/Working/lib/net451/file.dll"); fixture.CreateCLRAssembly("/Working/lib/net452/file.dll"); fixture.CreateCLRAssembly("/Working/lib/net462/file.dll"); fixture.CreateCLRAssembly("/Working/lib/netstandard1.5/file.dll"); // When var result = fixture.GetFiles(); // Then Assert.Equal(1, result.Count); Assert.Equal($"/Working/lib/{expected}/file.dll", result.ElementAt(0).Path.FullPath); }
public void Should_Not_Return_Runtimes_Assemblies_If_Clr() { // Given var framework = ".NETFramework,Version=v4.6.1"; var runtime = Runtime.Clr; var fixture = new NuGetAddinContentResolverFixture(framework, runtime); fixture.CreateCLRAssembly("/Working/runtimes/win/lib/netstandard1.6/file.dll"); fixture.CreateCLRAssembly("/Working/runtimes/unix/lib/netstandard1.6/file.dll"); fixture.FileSystem.CreateFile("/Working/lib/netstandard1.6/_._"); fixture.FileSystem.CreateFile("/Working/lib/net46/_._"); // When var result = fixture.GetFiles(); // Then Assert.Equal(0, result.Count); }
public void Should_Log_Warning_For_Files_Located_In_Root(string framework, Runtime runtime) { // Given var fixture = new NuGetAddinContentResolverFixture(framework, runtime); fixture.CreateCLRAssembly("/Working/file.dll"); fixture.CreateCLRAssembly("/Working/file2.dll"); fixture.CreateCLRAssembly("/Working/file3.dll"); // When fixture.GetFiles(); // Then var entries = fixture.Log.Entries.Where(x => x.Level == LogLevel.Warning && x.Message.Equals($"Could not find any assemblies compatible with {framework} in NuGet package {fixture.Package.Package}. " + "Falling back to using root folder of NuGet package.")) .ToList(); Assert.Single(entries); }
public void Should_Return_Only_CLR_Assemblies() { // Given var fixture = new NuGetAddinContentResolverFixture(".NETStandard,Version=v1.6", Runtime.CoreClr); fixture.CreateCLRAssembly("/Working/lib/netstandard1.6/file.dll"); fixture.CreateNonCLRAssembly("/Working/lib/netstandard1.6/lib/native.dll"); // When var result = fixture.GetFiles(); // Then Assert.Equal(1, result.Count); Assert.Equal("/Working/lib/netstandard1.6/file.dll", result.ElementAt(0).Path.FullPath); }