public NuSpecGeneratorTests(ITestOutputHelper output) { m_output = output; m_context = FrontEndContext.CreateInstanceForTesting(); var monikers = new NugetFrameworkMonikers(m_context.StringTable); m_packageGenerator = new PackageGenerator(m_context, monikers); }
public void TestNuget451() { // Perform a random sample for some target framework moniker scenarios. Otherwise there are too many combinations. // This just guarantees a basic functionality of the moniker management and spec generator functionality. var stringTable = new PathTable().StringTable; var monikers = new NugetFrameworkMonikers(stringTable); // Public member Assert.Equal("net451", monikers.Net451.ToString(stringTable)); Assert.Equal("net452", monikers.Net452.ToString(stringTable)); // Is well known Assert.True(monikers.WellknownMonikers.Contains(monikers.Net451)); // 4.5 is compatible with 4.5.1 and newer monikers, not older ones! var analyzedPackage = m_packageGenerator.AnalyzePackage( @"<?xml version='1.0' encoding='utf-8'?> <package xmlns='http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd'> <metadata> <id>MyPkg</id> <version>1.999</version> <dependencies> <group targetFramework='.NETFramework4.5'> <dependency id='System.Collections' version='4.0.11' /> <dependency id='System.Collections.Concurrent' version='4.0.12' /> </group> </dependencies> </metadata> </package>", s_packagesOnConfig, new string[] { "lib/net45/my.dll" }); List <PathAtom> compatibleTfms = new List <PathAtom>(); NugetSpecGenerator.FindAllCompatibleFrameworkMonikers(analyzedPackage, (List <PathAtom> m) => compatibleTfms.AddRange(m), m_monikers.FullFrameworkVersionHistory, m_monikers.NetCoreVersionHistory); Assert.False(compatibleTfms.Contains(m_monikers.Net40)); Assert.True(compatibleTfms.Contains(m_monikers.Net45)); Assert.True(compatibleTfms.Contains(m_monikers.Net451)); Assert.True(compatibleTfms.Contains(m_monikers.Net472)); // Mapping tests Assert.Equal(monikers.Net451, monikers.TargetFrameworkNameToMoniker[".NETFramework4.5.1"]); }
public void TestNuget451() { // Perform a random sample for .net 452 things. Otherwise there are too many combinations. // This just guarantees a basic functionality of the Register function. var stringTable = new PathTable().StringTable; var monikers = new NugetFrameworkMonikers(stringTable); // Public member Assert.Equal("net451", monikers.Net451.ToString(stringTable)); Assert.Equal("net452", monikers.Net452.ToString(stringTable)); // Is well known Assert.True(monikers.WellknownMonikers.Contains(monikers.Net451)); // 4.5.1 is compatible with 4.5 Assert.True(monikers.CompatibilityMatrix.ContainsKey(monikers.Net451)); Assert.True(monikers.CompatibilityMatrix[monikers.Net451].Contains(monikers.Net45)); Assert.Equal(monikers.Net451, monikers.TargetFrameworkNameToMoniker[".NETFramework4.5.1"]); }
public NugetAnalyzedPackageTests() { m_context = FrontEndContext.CreateInstanceForTesting(); m_monikers = new NugetFrameworkMonikers(m_context.StringTable); m_packageGenerator = new PackageGenerator(m_context, m_monikers); }
public PackageGenerator(FrontEndContext context, NugetFrameworkMonikers monikers) { m_context = context; m_monikers = monikers; }