public void DrawGraphTest()
        {
            List <ProjectStatsGraph> graphs = new List <ProjectStatsGraph>();

            //ProjectStatsGraph graph = new ProjectStatsGraph();
            //graph.IgnoreFailures = true;
            //graph.GraphName = "Build Duration";
            //graph.YAxisTitle = "Seconds";
            //graph.AddParameter<TimeSpan>("Duration", "Green");

            ProjectStatsGraph graph = new ProjectStatsGraph();

            graph.IgnoreFailures = false;
            graph.GraphName      = "Build Report";
            graph.YAxisTitle     = "Build";
            graph.AddParameter <double>("Success", "Green");
            graph.AddParameter <double>("Failure", "Red");
            graph.AddParameter <double>("Exception", "Blue");

            graphs.Add(graph);

            ProjectPilotConfiguration projectPilotConfiguration = new ProjectPilotConfiguration();

            projectPilotConfiguration.ProjectPilotWebAppRootUrl = "http://localhost/projectpilot/";

            ProjectRegistry projectRegistry = new ProjectRegistry();
            Project         project         = new Project("CCNetStatistics", String.Empty);

            projectRegistry.AddProject(project);

            IFileManager fileManager = new DefaultFileManager(String.Empty, projectPilotConfiguration);

            projectRegistry.FileManager = fileManager;

            IFileManager templateFileManager = MockRepository.GenerateStub <IFileManager>();

            templateFileManager.Stub(action => action.GetFullFileName(null, null)).IgnoreArguments().Return(@"..\..\..\Data\Templates\CCNetReportStatistics.vm");

            ITemplateEngine templateEngine = new DefaultTemplateEngine(templateFileManager);

            // prepare test data
            ProjectStatsData data = GetStatisticDataFromFile();

            ICCNetProjectStatisticsPlugIn plugIn = MockRepository.GenerateStub <ICCNetProjectStatisticsPlugIn>();

            plugIn.Stub(action => action.FetchStatistics()).Return(data);

            // ignore failures only if you want to build build report statistic
            CCNetProjectStatisticsModule module = new CCNetProjectStatisticsModule(
                plugIn, graphs, fileManager, templateEngine, true);

            module.ProjectId = "CCNetStatistics";
            project.AddModule(module);

            module.ExecuteTask(null);
            module.FetchHtmlReport();

            Assert.AreEqual(module.ProjectId, "CCNetStatistics");
            Assert.AreEqual(module.ModuleName, "CCNet Project Statistics");
        }
        public void Test()
        {
            ProjectPilotConfiguration projectPilotConfiguration = new ProjectPilotConfiguration();

            projectPilotConfiguration.ProjectPilotWebAppRootUrl = "http://localhost/projectpilot/";

            ProjectRegistry projectRegistry = new ProjectRegistry();
            Project         project         = new Project("bhwr", "Mobilkom BHWR");

            projectRegistry.AddProject(project);

            IFileManager fileManager = new DefaultFileManager(string.Empty, projectPilotConfiguration);

            projectRegistry.FileManager = fileManager;

            IFileManager templateFileManager = MockRepository.GenerateStub <IFileManager>();

            templateFileManager.Stub(action => action.GetFullFileName(null, null)).IgnoreArguments().Return(@"..\..\..\Data\Templates\RevisionControlHistory.vm");

            ITemplateEngine templateEngine = new DefaultTemplateEngine(templateFileManager);

            // prepare test history data
            RevisionControlHistoryData data;

            using (Stream stream = File.OpenRead(@"..\..\..\Data\Samples\svn-log.xml"))
            {
                data = SubversionHistoryFacility.LoadHistory(stream);
            }

            IRevisionControlHistoryFacility revisionControlHistoryFacility = MockRepository.GenerateStub <IRevisionControlHistoryFacility>();

            revisionControlHistoryFacility.Stub(action => action.FetchHistory()).Return(data);

            //IRevisionControlHistoryFacility revisionControlHistoryFacility = new SubversionHistoryFacility(
            //    project.CorrelationId,
            //    @"C:\Program Files\CollabNet Subversion\svn.exe",
            //    @"D:\svn\mobilkom.nl-bhwr\trunk\src");

            RevisionControlStatsModule module = new RevisionControlStatsModule(
                revisionControlHistoryFacility,
                projectRegistry,
                fileManager,
                templateEngine);

            module.ProjectId = "bhwr";
            project.AddModule(module);

            module.ExecuteTask(null);
        }
        public void ChildKernelOverloadsParentKernel2()
        {
            var instance1 = new DefaultTemplateEngine();
            var instance2 = new DefaultTemplateEngine();

            IKernel subkernel = new DefaultKernel();

            kernel.AddChildKernel(subkernel);

            // subkernel added first, then populated with overloaded components after

            kernel.Register(Component.For <DefaultTemplateEngine>().Named("engine").Instance(instance2));
            Assert.AreEqual(instance2, kernel.Resolve <DefaultTemplateEngine>("engine"));
            Assert.AreEqual(instance2, subkernel.Resolve <DefaultTemplateEngine>("engine"));

            subkernel.Register(Component.For <DefaultTemplateEngine>().Named("engine").Instance(instance1));
            Assert.AreEqual(instance1, subkernel.Resolve <DefaultTemplateEngine>("engine"));
            Assert.AreEqual(instance2, kernel.Resolve <DefaultTemplateEngine>("engine"));
        }
        public void ChildKernelOverloadsParentKernel1()
        {
            var instance1 = new DefaultTemplateEngine();
            var instance2 = new DefaultTemplateEngine();

            // subkernel added with already registered components that overload parent components.

            IKernel subkernel = new DefaultKernel();

            subkernel.Register(Component.For <DefaultTemplateEngine>().Named("engine").Instance(instance1));
            Assert.AreEqual(instance1, subkernel.Resolve <DefaultTemplateEngine>("engine"));

            kernel.Register(Component.For <DefaultTemplateEngine>().Named("engine").Instance(instance2));
            Assert.AreEqual(instance2, kernel.Resolve <DefaultTemplateEngine>("engine"));

            kernel.AddChildKernel(subkernel);
            Assert.AreEqual(instance1, subkernel.Resolve <DefaultTemplateEngine>("engine"));
            Assert.AreEqual(instance2, kernel.Resolve <DefaultTemplateEngine>("engine"));
        }
        public void ResolvingConcreteClassThroughConstructor()
        {
            kernel.AddComponent("spamservice", typeof(DefaultSpamServiceWithConstructor));
            kernel.AddComponent("mailsender", typeof(DefaultMailSenderService));
            kernel.AddComponent("templateengine", typeof(DefaultTemplateEngine));

            DefaultMailSenderService mailservice    = (DefaultMailSenderService)kernel["mailsender"];
            DefaultTemplateEngine    templateengine = (DefaultTemplateEngine)kernel["templateengine"];

            Assert.IsNotNull(mailservice);
            Assert.IsNotNull(templateengine);

            expectedClient = kernel.GetHandler("spamservice").ComponentModel;
            expectedModels = new ArrayList(kernel.GetHandler("spamservice").ComponentModel.Constructors.FewerArgumentsCandidate.Dependencies);

            DefaultSpamServiceWithConstructor spamservice =
                (DefaultSpamServiceWithConstructor)kernel["spamservice"];

            Assert.IsNotNull(spamservice);
        }
        public void ResolvingConcreteClassThroughProperties()
        {
            kernel.AddComponent("spamservice", typeof(DefaultSpamService));
            kernel.AddComponent("mailsender", typeof(DefaultMailSenderService));
            kernel.AddComponent("templateengine", typeof(DefaultTemplateEngine));

            DefaultMailSenderService mailservice    = (DefaultMailSenderService)kernel["mailsender"];
            DefaultTemplateEngine    templateengine = (DefaultTemplateEngine)kernel["templateengine"];

            Assert.IsNotNull(mailservice);
            Assert.IsNotNull(templateengine);

            expectedClient = kernel.GetHandler("spamservice").ComponentModel;
            expectedModels = new ArrayList();
            foreach (PropertySet prop in kernel.GetHandler("spamservice").ComponentModel.Properties)
            {
                expectedModels.Add(prop.Dependency);
            }

            DefaultSpamService spamservice = (DefaultSpamService)kernel["spamservice"];

            Assert.IsNotNull(spamservice);
        }
		public DefaultSpamServiceWithConstructor(DefaultMailSenderService mailsender, DefaultTemplateEngine templateEngine)
		{
			mailSender = mailsender;
			this.templateEngine = templateEngine;
		}
 public DefaultSpamServiceWithConstructor(DefaultMailSenderService mailsender, DefaultTemplateEngine templateEngine)
 {
     mailSender          = mailsender;
     this.templateEngine = templateEngine;
 }