public void Test_CreateLoggerWithFile() { string xmlLogger = "NAnt.Core.XmlLogger"; string consoleLogger = "NAnt.Core.DefaultLogger"; IBuildLogger logger; string streamFileName = CreateTempFile("XmlLog.xml"); StreamWriter instanceFileStream = new StreamWriter(File.OpenWrite(streamFileName)); try { logger = ConsoleDriver.CreateLogger(xmlLogger); Assert.AreEqual(typeof(XmlLogger), logger.GetType()); logger = ConsoleDriver.CreateLogger(consoleLogger); logger.OutputWriter = instanceFileStream; } finally { instanceFileStream.Close(); File.Delete(streamFileName); } }
public void Test_CreateLogger() { string xmlLogger = "NAnt.Core.XmlLogger"; string defaultLogger = "NAnt.Core.DefaultLogger"; string badLogger = "NAnt.Core.LoggerThatDoesNotExistUnlessSomeJerkCreatedIt"; string notLogger = "NAnt.Core.Task"; IBuildLogger logger; logger = ConsoleDriver.CreateLogger(xmlLogger); Assert.AreEqual(typeof(XmlLogger), logger.GetType()); logger = ConsoleDriver.CreateLogger(defaultLogger); Assert.AreEqual(typeof(DefaultLogger), logger.GetType()); try { logger = ConsoleDriver.CreateLogger(badLogger); Assert.Fail("Test_CreateLogger did not throw an exception."); } catch (Exception e) { Assert.AreEqual(typeof(TypeLoadException), e.GetType()); } try { logger = ConsoleDriver.CreateLogger(notLogger); Assert.Fail("Test_CreateLogger did not throw an exception."); } catch (Exception e) { // on .NET 2.0 or higher, instantiating an abstract class with // cause a MissingMethodException to be thrown if (Environment.Version.Major >= 2) { Assert.AreEqual(typeof(MissingMethodException), e.GetType()); } else { Assert.AreEqual(typeof(MemberAccessException), e.GetType()); } } }