public void Initialize(XmlElement config, IEventManager eventManager, IProfile profile) {
            this.profile = profile;
            this.eventManager = eventManager;
            logger = new Logger(eventManager);

            ConfigurationReader.ReadConfigurationValues(clearQuestConfig, config);
            sourceFieldValue = clearQuestConfig.SourceFieldValue;
            ProcessMandatoryFieldsSettings(config["ClearQuestMandatoryFields"], clearQuestConfig);
            ConfigurationReader.ProcessMappingSettings(clearQuestConfig.PriorityMappings, config[PriorityMappingsNode], ClearQuestPriorityNode, VersionOnePriorityNode);
            ConfigurationReader.ProcessMappingSettings(clearQuestConfig.ProjectMappings, config[ProjectMappingsNode], ClearQuestProjectNode, VersionOneProjectNode);

            var clearQuestQuery = new ClearQuestQuery(clearQuestConfig, new ClearQuestSession());

            var readerUpdater = new ClearQuestReaderUpdater(clearQuestQuery, clearQuestConfig, logger);
            clearQuestReader = readerUpdater;
            clearQuestUpdater = readerUpdater;

            eventManager.Subscribe(typeof(IntervalSync), OnInterval);
            eventManager.Subscribe(typeof(WorkitemCreationResult), OnDefectCreated);
            eventManager.Subscribe(typeof(WorkitemStateChangeCollection), OnDefectStateChanged);
        }
        public void SetUp()
        {
            sessionMock = mockRepository.StrictMock<IOAdSession>();
            queryMock = mockRepository.DynamicMock<IOAdQueryDef>();
            resultSetMock = mockRepository.StrictMock<IOAdResultSet>();
            defectMock = mockRepository.StrictMock<IOAdEntity>();
            filterNodeMock = mockRepository.StrictMock<IOAdQueryFilterNode>();
            sessionBuilderMock = mockRepository.StrictMock<IClearQuestSessionBuilder>();

            SetupResult.For(sessionBuilderMock.Create(null)).IgnoreArguments().Return(sessionMock);

            clearQuestQuery = new ClearQuestQuery(CreateConfig(), sessionBuilderMock);
        }
		public ClearQuestReaderUpdater(ClearQuestQuery query, ClearQuestServiceConfiguration config, ILogger logger)
		{
			this.query = query;
			this.logger = logger;
		    this.config = config;
		}