public void ProvideCodeBaseAttribute_DontMatchPartialName()
            {
                var asm             = Assembly.GetExecutingAssembly();
                var assemblyName    = asm.GetName().Name;
                var provideCodeBase = new ProvideCodeBaseAttribute {
                    AssemblyName = assemblyName, CodeBase = $"$PackageFolder$\\{assemblyName}.dll"
                };
                var dependentAssemblies = new[] { provideCodeBase };
                var packageFolder       = Path.GetDirectoryName(asm.Location);
                var resolveAssemblyName = new AssemblyName(asm.GetName().Name);

                var resolvedAssembly = AssemblyResolverPackage.ResolveDependentAssembly(provideCodeBase, packageFolder, resolveAssemblyName);

                Assert.Null(resolvedAssembly);
            }
            public void ProvideCodeBaseAttribute_MatchFullName()
            {
                var asm             = Assembly.GetExecutingAssembly();
                var assemblyName    = asm.GetName().Name;
                var codeBase        = $"$PackageFolder$\\{assemblyName}.dll";
                var provideCodeBase = new ProvideCodeBaseAttribute {
                    AssemblyName = assemblyName, CodeBase = codeBase
                };
                var packageFolder       = Path.GetDirectoryName(asm.Location);
                var resolveAssemblyName = new AssemblyName(asm.FullName);

                var resolvedAssembly = AssemblyResolverPackage.ResolveDependentAssembly(provideCodeBase, packageFolder, resolveAssemblyName);

                Assert.Equal(asm, resolvedAssembly);
            }
            public void ProvideCodeBaseAttribute_DontMatchMissingCodeBase()
            {
                var asm             = Assembly.GetExecutingAssembly();
                var assemblyName    = asm.GetName().Name;
                var codeBase        = "__NothingToSeeHere___";
                var provideCodeBase = new ProvideCodeBaseAttribute {
                    AssemblyName = assemblyName, CodeBase = codeBase
                };
                var dependentAssemblies = new[] { provideCodeBase };
                var packageFolder       = Path.GetDirectoryName(asm.Location);
                var resolveAssemblyName = new AssemblyName(asm.FullName);

                var resolvedAssembly = AssemblyResolverPackage.ResolveDependentAssembly(provideCodeBase, packageFolder, resolveAssemblyName);

                Assert.Null(resolvedAssembly);
            }
            public void ProvideCodeBaseAttribute_DontMatchDifferentVersion()
            {
                var asm             = Assembly.GetExecutingAssembly();
                var assemblyName    = asm.GetName().Name;
                var codeBase        = $"$PackageFolder$\\{assemblyName}.dll";
                var provideCodeBase = new ProvideCodeBaseAttribute {
                    AssemblyName = assemblyName, CodeBase = codeBase
                };
                var packageFolder       = Path.GetDirectoryName(asm.Location);
                var resolveAssemblyName = asm.GetName();

                resolveAssemblyName.Version = new Version("0.0.0.0");

                var resolvedAssembly = AssemblyResolverPackage.ResolveDependentAssembly(provideCodeBase, packageFolder, resolveAssemblyName);

                Assert.Null(resolvedAssembly);
            }