public V1Component(VersionOneSettings settings)
        {
            Settings = settings;
            var nativeSettings = ConvertSettings(settings);

            processor = new VersionOneProcessor(nativeSettings, new BlackholeLogger());
            AddProperties();
        }
		public void TestFixtureSetUp()
		{
			var metaConnector = new VersionOneAPIConnector(V1Url + MetaUrl).WithVersionOneUsernameAndPassword(Username, Password);
			var serviceConnector = new VersionOneAPIConnector(V1Url + DataUrl).WithVersionOneUsernameAndPassword(Username, Password);
			MetaModel = new MetaModel(metaConnector);
			Services = new Services(MetaModel, serviceConnector);

			var doc = new XmlDocument();
			doc.LoadXml(string.Format(@"<Settings> 
                            <APIVersion></APIVersion>
                            <ApplicationUrl>{0}</ApplicationUrl>
                            <Username>{1}</Username>
                            <Password>{2}</Password> 
                            <IntegratedAuth>false</IntegratedAuth>
                            <ProxySettings disabled='1'>
                                 <Uri>http://proxyhost:3128</Uri>
                                    <UserName>username</UserName>
                                    <Password>password</Password> 
                                    <Domain>domain</Domain>
                                </ProxySettings>
                            </Settings>", V1Url, Username, Password));

			var loggerMock = MockRepository.Stub<ILogger>();
			V1Processor = new VersionOneProcessor(doc["Settings"], loggerMock);
			V1Processor.AddProperty(Workitem.NumberProperty, VersionOneProcessor.PrimaryWorkitemType, false);
			V1Processor.AddProperty(Entity.NameProperty, VersionOneProcessor.PrimaryWorkitemType, false);
			V1Processor.AddProperty(Entity.DescriptionProperty, VersionOneProcessor.PrimaryWorkitemType, false);
			V1Processor.AddProperty(Workitem.PriorityProperty, VersionOneProcessor.PrimaryWorkitemType, true);
			V1Processor.AddProperty(Entity.StatusProperty, VersionOneProcessor.PrimaryWorkitemType, false);
			V1Processor.AddProperty(Workitem.EstimateProperty, VersionOneProcessor.PrimaryWorkitemType, false);
			V1Processor.AddProperty(Entity.AssetTypeProperty, VersionOneProcessor.PrimaryWorkitemType, false);
			V1Processor.AddProperty(PrimaryWorkitem.ParentNameProperty, VersionOneProcessor.PrimaryWorkitemType, false);
			V1Processor.AddProperty(PrimaryWorkitem.TeamNameProperty, VersionOneProcessor.PrimaryWorkitemType, false);
			V1Processor.AddProperty(PrimaryWorkitem.SprintNameProperty, VersionOneProcessor.PrimaryWorkitemType, false);
			V1Processor.AddProperty(PrimaryWorkitem.OrderProperty, VersionOneProcessor.PrimaryWorkitemType, false);
			V1Processor.AddProperty(BaseEntity.ReferenceProperty, VersionOneProcessor.PrimaryWorkitemType, false);
			V1Processor.AddProperty(Entity.NameProperty, VersionOneProcessor.StoryType, false);
			V1Processor.AddProperty(Entity.NameProperty, VersionOneProcessor.FeatureGroupType, false);
			V1Processor.AddProperty(BaseEntity.ReferenceProperty, VersionOneProcessor.FeatureGroupType, false);
			V1Processor.AddProperty(VersionOneProcessor.OwnersAttribute, VersionOneProcessor.FeatureGroupType, false);
			V1Processor.AddProperty(FieldInfo.NameProperty, VersionOneProcessor.AttributeDefinitionType, false);
			V1Processor.AddProperty(FieldInfo.AssetTypeProperty, VersionOneProcessor.AttributeDefinitionType, false);
			V1Processor.AddProperty(FieldInfo.AttributeTypeProperty, VersionOneProcessor.AttributeDefinitionType, false);
			V1Processor.AddProperty(FieldInfo.IsReadOnlyProperty, VersionOneProcessor.AttributeDefinitionType, false);
			V1Processor.AddProperty(FieldInfo.IsRequiredProperty, VersionOneProcessor.AttributeDefinitionType, false);
			V1Processor.AddProperty(Entity.NameProperty, VersionOneProcessor.LinkType, false);
			V1Processor.AddProperty(Link.UrlProperty, VersionOneProcessor.LinkType, false);
			V1Processor.AddProperty(Link.OnMenuProperty, VersionOneProcessor.LinkType, false);
			V1Processor.AddProperty(Entity.NameProperty, VersionOneProcessor.MemberType, false);
			V1Processor.AddProperty(Member.EmailProperty, VersionOneProcessor.MemberType, false);
			V1Processor.AddProperty(Member.DefaultRoleNameProperty, VersionOneProcessor.MemberType, false);
			V1Processor.AddProperty(Workitem.OwnersProperty, VersionOneProcessor.StoryType, false);
			V1Processor.AddProperty(Workitem.OwnersProperty, VersionOneProcessor.DefectType, false);
			V1Processor.AddProperty(Workitem.OwnersProperty, VersionOneProcessor.PrimaryWorkitemType, false);

			Assert.IsTrue(V1Processor.ValidateConnection(), "Connection is not valid");
		}