private static void ExpectFailure(string expectedMessage, string assemblyName, string moduleInitializer, string source) { Assert.IsTrue(assemblyName == null || source == null, "Either source or assembly name should be passed as null"); LogMessageCollector logger = new LogMessageCollector(); var injector = new InjectModuleInitializerImpl(); injector.LogError = logger.Log; injector.ModuleInitializer = moduleInitializer; if (string.IsNullOrEmpty(assemblyName)) { assemblyName = CompileAssembly(source, true); } injector.AssemblyFile = assemblyName; injector.Execute(); Assert.Greater(logger.Messages.Count, 0, "No messages collected"); Assert.AreEqual(expectedMessage, logger.Messages[0]); if (File.Exists(assemblyName)) { File.Delete(assemblyName); } }