Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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());
                }
            }
        }