public void ModuleScopeCanHandleSignedAndUnsignedInParallel() { var scope = new ModuleScope(); Assert.IsNull(scope.StrongNamedModule); Assert.IsNull(scope.WeakNamedModule); var one = scope.ObtainDynamicModuleWithStrongName(); Assert.IsNotNull(scope.StrongNamedModule); Assert.IsNull(scope.WeakNamedModule); Assert.AreSame(one, scope.StrongNamedModule); var two = scope.ObtainDynamicModuleWithWeakName(); Assert.IsNotNull(scope.StrongNamedModule); Assert.IsNotNull(scope.WeakNamedModule); Assert.AreSame(two, scope.WeakNamedModule); Assert.AreNotSame(one, two); Assert.AreNotSame(one.Assembly, two.Assembly); var three = scope.ObtainDynamicModuleWithStrongName(); var four = scope.ObtainDynamicModuleWithWeakName(); Assert.AreSame(one, three); Assert.AreSame(two, four); }
public void ModuleScopeCanHandleSignedAndUnsignedInParallel() { var scope = new ModuleScope(); Assert.IsNull(scope.StrongNamedModule); Assert.IsNull(scope.WeakNamedModule); var one = scope.ObtainDynamicModuleWithStrongName(); Assert.IsNotNull(scope.StrongNamedModule); Assert.IsNull(scope.WeakNamedModule); Assert.AreSame(one, scope.StrongNamedModule); var two = scope.ObtainDynamicModuleWithWeakName(); Assert.IsNotNull(scope.StrongNamedModule); Assert.IsNotNull(scope.WeakNamedModule); Assert.AreSame(two, scope.WeakNamedModule); Assert.AreNotSame(one, two); Assert.AreNotSame(one.Assembly, two.Assembly); var three = scope.ObtainDynamicModuleWithStrongName(); var four = scope.ObtainDynamicModuleWithWeakName(); Assert.AreSame(one, three); Assert.AreSame(two, four); }
public void ModuleScopeStoresModuleBuilder() { var scope = new ModuleScope(); var one = scope.ObtainDynamicModuleWithStrongName(); var two = scope.ObtainDynamicModuleWithStrongName(); Assert.AreSame(one, two); Assert.AreSame(one.Assembly, two.Assembly); }
public void ModuleScopeStoresModuleBuilder() { var scope = new ModuleScope(); var one = scope.ObtainDynamicModuleWithStrongName(); var two = scope.ObtainDynamicModuleWithStrongName(); Assert.AreSame(one, two); Assert.AreSame(one.Assembly, two.Assembly); }
public void ModuleScopeDoesntTryToDeleteFromCurrentDirectory() { string moduleDirectory = Path.Combine(Environment.CurrentDirectory, "GeneratedDlls"); if (Directory.Exists(moduleDirectory)) { Directory.Delete(moduleDirectory, true); } string strongModulePath = Path.Combine(moduleDirectory, "Strong.dll"); string weakModulePath = Path.Combine(moduleDirectory, "Weak.dll"); Directory.CreateDirectory(moduleDirectory); ModuleScope scope = new ModuleScope(true, "Strong", strongModulePath, "Weak", weakModulePath); using (File.Create(Path.Combine(Environment.CurrentDirectory, "Strong.dll"))) { scope.ObtainDynamicModuleWithStrongName(); scope.SaveAssembly(true); // this will throw if SaveAssembly tries to delete from the current directory } using (File.Create(Path.Combine(Environment.CurrentDirectory, "Weak.dll"))) { scope.ObtainDynamicModuleWithWeakName(); scope.SaveAssembly(false); // this will throw if SaveAssembly tries to delete from the current directory } // Clean up the generated DLLs because the FileStreams are now closed Directory.Delete(moduleDirectory, true); File.Delete(Path.Combine(Environment.CurrentDirectory, "Strong.dll")); File.Delete(Path.Combine(Environment.CurrentDirectory, "Weak.dll")); }
public void SaveWithPath() { var strongModulePath = Path.GetTempFileName(); var weakModulePath = Path.GetTempFileName(); File.Delete(strongModulePath); File.Delete(weakModulePath); Assert.IsFalse(File.Exists(strongModulePath)); Assert.IsFalse(File.Exists(weakModulePath)); var scope = new ModuleScope( true, false, "Strong", strongModulePath, "Weak", weakModulePath ); scope.ObtainDynamicModuleWithStrongName(); scope.ObtainDynamicModuleWithWeakName(); scope.SaveAssembly(true); scope.SaveAssembly(false); Assert.IsTrue(File.Exists(strongModulePath)); Assert.IsTrue(File.Exists(weakModulePath)); File.Delete(strongModulePath); File.Delete(weakModulePath); }
public void ExplicitSaveThrowsWhenSpecifiedAssemblyNotGeneratedWeakName() { ModuleScope scope = new ModuleScope(true); scope.ObtainDynamicModuleWithStrongName(); scope.SaveAssembly(false); }
public void ExplicitSaveThrowsWhenSpecifiedAssemblyNotGeneratedWeakName() { var scope = new ModuleScope(true); scope.ObtainDynamicModuleWithStrongName(); Assert.Throws <InvalidOperationException>(() => scope.SaveAssembly(false)); }
public void SaveThrowsWhenMultipleAssembliesGenerated() { ModuleScope scope = new ModuleScope(true); scope.ObtainDynamicModuleWithStrongName(); scope.ObtainDynamicModuleWithWeakName(); scope.SaveAssembly(); }
public void GeneratedAssembliesWithCustomName() { ModuleScope scope = new ModuleScope(false, "Strong", "Module1.dll", "Weak", "Module2,dll"); ModuleBuilder strong = scope.ObtainDynamicModuleWithStrongName(); ModuleBuilder weak = scope.ObtainDynamicModuleWithWeakName(); Assert.AreEqual("Strong", strong.Assembly.GetName().Name); Assert.AreEqual("Weak", weak.Assembly.GetName().Name); }
public void SaveThrowsWhenMultipleAssembliesGenerated() { var scope = new ModuleScope(true); scope.ObtainDynamicModuleWithStrongName(); scope.ObtainDynamicModuleWithWeakName(); Assert.Throws <InvalidOperationException>(() => scope.SaveAssembly()); }
public void SaveWithFlagFalseDoesntThrowsWhenMultipleAssembliesGenerated() { var scope = new ModuleScope(false); scope.ObtainDynamicModuleWithStrongName(); scope.ObtainDynamicModuleWithWeakName(); scope.SaveAssembly(); }
public void GeneratedAssembliesDefaultName() { var scope = new ModuleScope(); var strong = scope.ObtainDynamicModuleWithStrongName(); var weak = scope.ObtainDynamicModuleWithWeakName(); Assert.AreEqual(ModuleScope.DEFAULT_ASSEMBLY_NAME, strong.Assembly.GetName().Name); Assert.AreEqual(ModuleScope.DEFAULT_ASSEMBLY_NAME, weak.Assembly.GetName().Name); }
public void ImplicitModulePaths() { var scope = new ModuleScope(true); Assert.AreEqual(ModuleScope.DEFAULT_FILE_NAME, scope.StrongNamedModuleName); Assert.AreEqual(Path.Combine(Directory.GetCurrentDirectory(), ModuleScope.DEFAULT_FILE_NAME), scope.ObtainDynamicModuleWithStrongName().FullyQualifiedName); Assert.IsNull(scope.StrongNamedModuleDirectory); Assert.AreEqual(ModuleScope.DEFAULT_FILE_NAME, scope.WeakNamedModuleName); Assert.AreEqual(Path.Combine(Directory.GetCurrentDirectory(), ModuleScope.DEFAULT_FILE_NAME), scope.ObtainDynamicModuleWithWeakName().FullyQualifiedName); Assert.IsNull(scope.WeakNamedModuleDirectory); }
public void ImplicitModulePaths() { ModuleScope scope = new ModuleScope(true); Assert.AreEqual(ModuleScope.DEFAULT_FILE_NAME, scope.StrongNamedModuleName); Assert.AreEqual(Path.Combine(Environment.CurrentDirectory, ModuleScope.DEFAULT_FILE_NAME), scope.ObtainDynamicModuleWithStrongName().FullyQualifiedName); Assert.IsNull(scope.StrongNamedModuleDirectory); Assert.AreEqual(ModuleScope.DEFAULT_FILE_NAME, scope.WeakNamedModuleName); Assert.AreEqual(Path.Combine(Environment.CurrentDirectory, ModuleScope.DEFAULT_FILE_NAME), scope.ObtainDynamicModuleWithWeakName().FullyQualifiedName); Assert.IsNull(scope.WeakNamedModuleDirectory); }
public void ExplicitSaveWorksEvenWhenMultipleAssembliesGenerated() { var scope = new ModuleScope(true); scope.ObtainDynamicModuleWithStrongName(); scope.ObtainDynamicModuleWithWeakName(); scope.SaveAssembly(true); CheckSignedSavedAssembly(ModuleScope.DEFAULT_FILE_NAME); scope.SaveAssembly(false); CheckUnsignedSavedAssembly(ModuleScope.DEFAULT_FILE_NAME); File.Delete(ModuleScope.DEFAULT_FILE_NAME); }
public void ExplicitModulePaths() { var scope = new ModuleScope( true, false, "Strong", "StrongModule.dll", "Weak", "WeakModule.dll" ); Assert.AreEqual("StrongModule.dll", scope.StrongNamedModuleName); Assert.AreEqual( Path.Combine(Directory.GetCurrentDirectory(), "StrongModule.dll"), scope.ObtainDynamicModuleWithStrongName().FullyQualifiedName ); Assert.IsNull(scope.StrongNamedModuleDirectory); Assert.AreEqual("WeakModule.dll", scope.WeakNamedModuleName); Assert.AreEqual( Path.Combine(Directory.GetCurrentDirectory(), "WeakModule.dll"), scope.ObtainDynamicModuleWithWeakName().FullyQualifiedName ); Assert.IsNull(scope.WeakNamedModuleDirectory); scope = new ModuleScope( true, false, "Strong", @"c:\Foo\StrongModule.dll", "Weak", @"d:\Bar\WeakModule.dll" ); Assert.AreEqual("StrongModule.dll", scope.StrongNamedModuleName); Assert.AreEqual( @"c:\Foo\StrongModule.dll", scope.ObtainDynamicModuleWithStrongName().FullyQualifiedName ); Assert.AreEqual(@"c:\Foo", scope.StrongNamedModuleDirectory); Assert.AreEqual("WeakModule.dll", scope.WeakNamedModuleName); Assert.AreEqual( @"d:\Bar\WeakModule.dll", scope.ObtainDynamicModuleWithWeakName().FullyQualifiedName ); Assert.AreEqual(@"d:\Bar", scope.WeakNamedModuleDirectory); }
public void ExplicitModulePaths () { ModuleScope scope = new ModuleScope (true, "Strong", "StrongModule.dll", "Weak", "WeakModule.dll"); Assert.AreEqual ("StrongModule.dll", scope.StrongNamedModuleName); Assert.AreEqual (Path.Combine (Environment.CurrentDirectory, "StrongModule.dll"), scope.ObtainDynamicModuleWithStrongName ().FullyQualifiedName); Assert.IsNull (scope.StrongNamedModuleDirectory); Assert.AreEqual ("WeakModule.dll", scope.WeakNamedModuleName); Assert.AreEqual (Path.Combine (Environment.CurrentDirectory, "WeakModule.dll"), scope.ObtainDynamicModuleWithWeakName ().FullyQualifiedName); Assert.IsNull (scope.WeakNamedModuleDirectory); scope = new ModuleScope (true, "Strong", @"c:\Foo\StrongModule.dll", "Weak", @"d:\Bar\WeakModule.dll"); Assert.AreEqual ("StrongModule.dll", scope.StrongNamedModuleName); Assert.AreEqual (@"c:\Foo\StrongModule.dll", scope.ObtainDynamicModuleWithStrongName ().FullyQualifiedName); Assert.AreEqual (@"c:\Foo", scope.StrongNamedModuleDirectory); Assert.AreEqual ("WeakModule.dll", scope.WeakNamedModuleName); Assert.AreEqual (@"d:\Bar\WeakModule.dll", scope.ObtainDynamicModuleWithWeakName ().FullyQualifiedName); Assert.AreEqual (@"d:\Bar", scope.WeakNamedModuleDirectory); }
public void SaveSigned() { var scope = new ModuleScope(true); scope.ObtainDynamicModuleWithStrongName(); var path = ModuleScope.DEFAULT_FILE_NAME; if (File.Exists(path)) { File.Delete(path); } Assert.IsFalse(File.Exists(path)); var savedPath = scope.SaveAssembly(); Assert.AreEqual(savedPath, Path.GetFullPath(path)); CheckSignedSavedAssembly(path); File.Delete(path); }
public void SaveThrowsWhenMultipleAssembliesGenerated() { ModuleScope scope = new ModuleScope(true); scope.ObtainDynamicModuleWithStrongName(); scope.ObtainDynamicModuleWithWeakName(); scope.SaveAssembly(); }
public void ExplicitSaveThrowsWhenSpecifiedAssemblyNotGeneratedWeakName() { var scope = new ModuleScope(true); scope.ObtainDynamicModuleWithStrongName(); scope.SaveAssembly(false); }
public void SaveSigned() { var scope = new ModuleScope(true); scope.ObtainDynamicModuleWithStrongName(); var path = ModuleScope.DEFAULT_FILE_NAME; if (File.Exists(path)) File.Delete(path); Assert.IsFalse(File.Exists(path)); var savedPath = scope.SaveAssembly(); Assert.AreEqual(savedPath, Path.GetFullPath(path)); CheckSignedSavedAssembly(path); File.Delete(path); }
public void SaveWithPath() { var strongModulePath = Path.GetTempFileName(); var weakModulePath = Path.GetTempFileName(); File.Delete(strongModulePath); File.Delete(weakModulePath); Assert.IsFalse(File.Exists(strongModulePath)); Assert.IsFalse(File.Exists(weakModulePath)); var scope = new ModuleScope(true,false, "Strong", strongModulePath, "Weak", weakModulePath); scope.ObtainDynamicModuleWithStrongName(); scope.ObtainDynamicModuleWithWeakName(); scope.SaveAssembly(true); scope.SaveAssembly(false); Assert.IsTrue(File.Exists(strongModulePath)); Assert.IsTrue(File.Exists(weakModulePath)); File.Delete(strongModulePath); File.Delete(weakModulePath); }
public void SaveThrowsWhenMultipleAssembliesGenerated() { var scope = new ModuleScope(true); scope.ObtainDynamicModuleWithStrongName(); scope.ObtainDynamicModuleWithWeakName(); Assert.Throws<InvalidOperationException>(() => scope.SaveAssembly()); }
public void GeneratedAssembliesWithCustomName() { var scope = new ModuleScope(false,false, "Strong", "Module1.dll", "Weak", "Module2,dll"); var strong = scope.ObtainDynamicModuleWithStrongName(); var weak = scope.ObtainDynamicModuleWithWeakName(); Assert.AreEqual("Strong", strong.Assembly.GetName().Name); Assert.AreEqual("Weak", weak.Assembly.GetName().Name); }
public void SaveWithFlagFalseDoesntThrowsWhenMultipleAssembliesGenerated() { var scope = new ModuleScope(false); scope.ObtainDynamicModuleWithStrongName(); scope.ObtainDynamicModuleWithWeakName(); scope.SaveAssembly(); }
public void ExplicitSaveWorksEvenWhenMultipleAssembliesGenerated() { var scope = new ModuleScope(true); scope.ObtainDynamicModuleWithStrongName(); scope.ObtainDynamicModuleWithWeakName(); scope.SaveAssembly(true); CheckSignedSavedAssembly(ModuleScope.DEFAULT_FILE_NAME); scope.SaveAssembly(false); CheckUnsignedSavedAssembly(ModuleScope.DEFAULT_FILE_NAME); File.Delete(ModuleScope.DEFAULT_FILE_NAME); }
public void ExplicitSaveThrowsWhenSpecifiedAssemblyNotGeneratedWeakName() { var scope = new ModuleScope(true); scope.ObtainDynamicModuleWithStrongName(); Assert.Throws<InvalidOperationException>(() => scope.SaveAssembly(false)); }
public void GeneratedAssembliesDefaultName() { var scope = new ModuleScope(); var strong = scope.ObtainDynamicModuleWithStrongName(); var weak = scope.ObtainDynamicModuleWithWeakName(); Assert.AreEqual(ModuleScope.DEFAULT_ASSEMBLY_NAME, strong.Assembly.GetName().Name); Assert.AreEqual(ModuleScope.DEFAULT_ASSEMBLY_NAME, weak.Assembly.GetName().Name); }
public void ModuleScopeDoesntTryToDeleteFromCurrentDirectory () { string moduleDirectory = Path.Combine (Environment.CurrentDirectory, "GeneratedDlls"); if (Directory.Exists (moduleDirectory)) Directory.Delete (moduleDirectory, true); string strongModulePath = Path.Combine (moduleDirectory, "Strong.dll"); string weakModulePath = Path.Combine (moduleDirectory, "Weak.dll"); Directory.CreateDirectory(moduleDirectory); ModuleScope scope = new ModuleScope (true, "Strong", strongModulePath, "Weak", weakModulePath); using (File.Create (Path.Combine (Environment.CurrentDirectory, "Strong.dll"))) { scope.ObtainDynamicModuleWithStrongName (); scope.SaveAssembly (true); // this will throw if SaveAssembly tries to delete from the current directory } using (File.Create (Path.Combine (Environment.CurrentDirectory, "Weak.dll"))) { scope.ObtainDynamicModuleWithWeakName (); scope.SaveAssembly (false); // this will throw if SaveAssembly tries to delete from the current directory } }
public void SaveSigned () { ModuleScope scope = new ModuleScope (true); scope.ObtainDynamicModuleWithStrongName (); string path = ModuleScope.DEFAULT_FILE_NAME; if (File.Exists (path)) File.Delete (path); Assert.IsFalse (File.Exists (path)); scope.SaveAssembly (); CheckSignedSavedAssembly(path); File.Delete (path); }
public void ModuleScopeDoesntTryToDeleteFromCurrentDirectory() { var moduleDirectory = Path.Combine(Directory.GetCurrentDirectory(), "GeneratedDlls"); if (Directory.Exists(moduleDirectory)) Directory.Delete(moduleDirectory, true); var strongModulePath = Path.Combine(moduleDirectory, "Strong.dll"); var weakModulePath = Path.Combine(moduleDirectory, "Weak.dll"); Directory.CreateDirectory(moduleDirectory); var scope = new ModuleScope(true, false, "Strong", strongModulePath, "Weak", weakModulePath); using (File.Create(Path.Combine(Directory.GetCurrentDirectory(), "Strong.dll"))) { scope.ObtainDynamicModuleWithStrongName(); scope.SaveAssembly(true); // this will throw if SaveAssembly tries to delete from the current directory } using (File.Create(Path.Combine(Directory.GetCurrentDirectory(), "Weak.dll"))) { scope.ObtainDynamicModuleWithWeakName(); scope.SaveAssembly(false); // this will throw if SaveAssembly tries to delete from the current directory } // Clean up the generated DLLs because the FileStreams are now closed Directory.Delete(moduleDirectory, true); File.Delete(Path.Combine(Directory.GetCurrentDirectory(), "Strong.dll")); File.Delete(Path.Combine(Directory.GetCurrentDirectory(), "Weak.dll")); }