public void ObjectExtenderContainerConverterConvertFromTypeCompliantWithXmlSerializer() { MockServiceProvider mockServiceProvider = new MockServiceProvider(); Type[] types = { typeof(TestSerializableObject) }; MockServiceProviderService mockService = new MockServiceProviderService(); mockService.ObjectExtenderTypes.Add(types[0]); mockServiceProvider.AddService(typeof(IExtensionProviderService), mockService); ObjectExtenderContainerConverter converter = new ObjectExtenderContainerConverter(mockServiceProvider); TestSerializableObject testObject1 = new TestSerializableObject(); testObject1.ValueOne = "TestDataOne"; testObject1.ValueTwo = 33; string stringRepresentation; ObjectExtenderContainer container1 = new ObjectExtenderContainer(); container1.ObjectExtenders.Add(testObject1); stringRepresentation = GenericSerializer.Serialize<ObjectExtenderContainer>(container1, types); ObjectExtenderContainer container2 = converter.ConvertFrom(stringRepresentation) as ObjectExtenderContainer; Assert.IsNotNull(container2, "container is null"); Assert.IsNotNull(container2.ObjectExtenders, "ObjectExtenders is null"); Assert.AreEqual(1, container2.ObjectExtenders.Count, "container.ObjectExtenders.Count != 1"); TestSerializableObject testObject2 = container2.ObjectExtenders[0] as TestSerializableObject; Assert.AreEqual(testObject1.ValueOne, testObject2.ValueOne, "Not equal"); Assert.AreEqual(testObject1.ValueTwo, testObject2.ValueTwo, "Not equal"); }
public void TestInitialize() { serviceProvider = new MockMappingServiceProvider(); ServiceContract sc = CreateServiceContractModel(); CreateHostDesignerModel(sc); // Initialize validator's config attributes = new NameValueCollection(); attributes.Add("elementNameProperty", "Name"); }
public void ObjectExtenderContainerConverterCanConvertFromString() { MockServiceProvider mockServiceProvider = new MockServiceProvider(); MockServiceProviderService mockService = new MockServiceProviderService(); mockServiceProvider.AddService(typeof(IExtensionProviderService), mockService); ObjectExtenderContainerConverter converter = new ObjectExtenderContainerConverter(mockServiceProvider); Assert.IsTrue(converter.CanConvertFrom(typeof(string)), "Cannot convert from a string"); }
public void EditValueWithNoFormsServiceThrows() { MockVSHierarchy root = new MockVSHierarchy(); MockVsSolution solution = new MockVsSolution(root); MockServiceProvider serviceProvider = new MockServiceProvider(); serviceProvider.AddService(typeof(IVsSolution), solution); MockTypeDescriptorContext context = new MockTypeDescriptorContext(serviceProvider); string value = "Project1.txt"; MockVSHierarchy project = new MockVSHierarchy(value); root.AddProject(project); SolutionPickerEditor target = new SolutionPickerEditor(); target.EditValue(serviceProvider, null); }
public void ExtensionProviderContainerConverterConvertToExtensionProvider() { MockExtensionProvider provider = new MockExtensionProvider(); MockServiceProvider mockServiceProvider = new MockServiceProvider(); MockServiceProviderService mockService = new MockServiceProviderService(); mockServiceProvider.AddService(typeof(IExtensionProviderService), mockService); ExtensionProviderConverter converter = new ExtensionProviderConverter(mockServiceProvider); MockExtensionProvider provider1 = converter.ConvertFrom(provider.ToString()) as MockExtensionProvider; Assert.AreEqual(provider.Id, provider1.Id, "Not Equal"); Assert.AreEqual(provider.Description, provider1.Description, "Not Equal"); Assert.AreEqual(provider.Name, provider1.Name, "Not Equal"); }
public void TestInitialize() { serviceProvider = new MockMappingServiceProvider(); attributes = new NameValueCollection(); attributes.Add("elementNameProperty", "Name"); #region Data Contract dcStore = new Store(serviceProvider, typeof(CoreDesignSurfaceDomainModel), typeof(DataContractDslDomainModel)); dcDomainModel = dcStore.GetDomainModel<DataContractDslDomainModel>(); dcTransaction = dcStore.TransactionManager.BeginTransaction(); dcModel = (DataContractModel)dcDomainModel.CreateElement(new Partition(dcStore), typeof(DataContractModel), null); dcModel.ProjectMappingTable = projectMappingTableName; dc = dcStore.ElementFactory.CreateElement(DataContract.DomainClassId) as DataContract; primitiveDataElement = dcStore.ElementFactory.CreateElement(PrimitiveDataType.DomainClassId) as PrimitiveDataType; primitiveDataElement.Name = primitiveDataElementName; dc.DataMembers.Add(primitiveDataElement); dcModel.Contracts.Add(dc); #endregion #region Service Contract scStore = new Store(serviceProvider, typeof(CoreDesignSurfaceDomainModel), typeof(ServiceContractDslDomainModel)); scDomainModel = scStore.GetDomainModel<ServiceContractDslDomainModel>(); scTransaction = scStore.TransactionManager.BeginTransaction(); scModel = (ServiceContractModel)scDomainModel.CreateElement(new Partition(scStore), typeof(ServiceContractModel), null); scModel.ProjectMappingTable = projectMappingTableName; msg = scStore.ElementFactory.CreateElement(Message.DomainClassId) as Message; msg.Name = messageName; //Create the moniker //mel://[DSLNAMESPACE]\[MODELELEMENTTYPE]\[MODELELEMENT.GUID]@[PROJECT]\[MODELFILE] string requestMoniker = string.Format(@"mel://{0}\{1}\{2}@{3}\{4}", primitiveDataElement.GetType().Namespace, primitiveDataElement.GetType().Name, primitiveDataElement.Id.ToString(), dataContractModelProjectName, dataContractModelFileName); part = scStore.ElementFactory.CreateElement(DataContractMessagePart.DomainClassId) as DataContractMessagePart; part.Name = partName; part.Type = new MockModelBusReference(primitiveDataElement); msg.MessageParts.Add(part); scModel.Messages.Add(msg); #endregion }
public void TestInitialize() { serviceProvider = new MockMappingServiceProvider(); scStore = new Store(serviceProvider, typeof(CoreDesignSurfaceDomainModel), typeof(ServiceContractDslDomainModel)); scDomainModel = scStore.GetDomainModel<ServiceContractDslDomainModel>(); scTransaction = scStore.TransactionManager.BeginTransaction(); scModel = (ServiceContractModel)scDomainModel.CreateElement(new Partition(scStore), typeof(ServiceContractModel), null); scModel.ImplementationTechnology = new ServiceContractWCFExtensionProvider(); scModel.ProjectMappingTable = projectMappingTableName; ServiceContract sc = scStore.ElementFactory.CreateElement(ServiceContract.DomainClassId) as ServiceContract; sc.Name = serviceContractName; scModel.ServiceContracts.Add(sc); hdStore = new Store(serviceProvider, typeof(CoreDesignSurfaceDomainModel), typeof(HostDesignerDomainModel)); hdDomainModel = hdStore.GetDomainModel<HostDesignerDomainModel>(); hdTransaction = hdStore.TransactionManager.BeginTransaction(); hdModel = (HostDesignerModel)hdDomainModel.CreateElement(new Partition(hdStore), typeof(HostDesignerModel), null); HostApplication app = (HostApplication)hdStore.ElementFactory.CreateElement(HostApplication.DomainClassId); app.ImplementationTechnology = new HostDesignerWcfExtensionProvider(); reference = (ServiceReference)hdStore.ElementFactory.CreateElement(ServiceReference.DomainClassId); //mel://[DSLNAMESPACE]\[MODELELEMENTTYPE]\[MODELELEMENT.GUID]@[PROJECT]\[MODELFILE] string serviceMoniker = string.Format(@"mel://{0}\{1}\{2}@{3}\{4}", sc.GetType().Namespace, serviceContractName, sc.Id.ToString(), serviceContractModelProjectName, serviceContractModelFileName); reference.Name = serviceMelReferenceName; reference.ServiceImplementationType = new MockModelBusReference(sc); app.ServiceDescriptions.Add(reference); // Initialize validator's config attributes = new NameValueCollection(); attributes.Add("elementNameProperty", "Name"); }
public void TestInitialize() { serviceProvider = new MockMappingServiceProvider(); attributes = new NameValueCollection(); attributes.Add("elementNameProperty", "Name"); #region Data Contract dcStore = new Store(serviceProvider, typeof(CoreDesignSurfaceDomainModel), typeof(DataContractDslDomainModel)); dcDomainModel = dcStore.GetDomainModel<DataContractDslDomainModel>(); dcTransaction = dcStore.TransactionManager.BeginTransaction(); dcModel = (DataContractModel)dcDomainModel.CreateElement(new Partition(dcStore), typeof(DataContractModel), null); dcModel.ProjectMappingTable = projectMappingTableName; fc = dcStore.ElementFactory.CreateElement(FaultContract.DomainClassId) as FaultContract; fc.Name = faultContractName; dcModel.Contracts.Add(fc); #endregion #region Service Contract scStore = new Store(serviceProvider, typeof(CoreDesignSurfaceDomainModel), typeof(ServiceContractDslDomainModel)); scDomainModel = scStore.GetDomainModel<ServiceContractDslDomainModel>(); scTransaction = scStore.TransactionManager.BeginTransaction(); scModel = (ServiceContractModel)scDomainModel.CreateElement(new Partition(scStore), typeof(ServiceContractModel), null); scModel.ProjectMappingTable = projectMappingTableName; operation = scStore.ElementFactory.CreateElement(Operation.DomainClassId) as Operation; operation.Name = operationName; //Create the moniker //mel://[DSLNAMESPACE]\[MODELELEMENTTYPE]\[MODELELEMENT.GUID]@[PROJECT]\[MODELFILE] string requestMoniker = string.Format(@"mel://{0}\{1}\{2}@{3}\{4}", fc.GetType().Namespace, fc.GetType().Name, fc.Id.ToString(), dataContractModelProjectName, dataContractModelFileName); dcfault = scStore.ElementFactory.CreateElement(DataContractFault.DomainClassId) as DataContractFault; dcfault.Name = dcfaultName; dcfault.Type = new MockModelBusReference(fc); operation.Faults.Add(dcfault); scModel.Operations.Add(operation); #endregion }
public void TestValidate() { MockServiceProvider serviceProvider = new MockServiceProvider(); MockVSHierarchy root = new MockVSHierarchy(); MockVsSolution solution = new MockVsSolution(root); MockVSHierarchy project = new MockVSHierarchy("Project1.project"); root.AddProject(project); serviceProvider.AddService(typeof(SVsSolution), solution); CodeGenerationService target = new CodeGenerationService(serviceProvider); MyArtifactLink validLink = new MyArtifactLink(project.GUID, "item1.cs"); Assert.IsTrue(target.IsValid(validLink)); MyArtifactLink invalidLink1 = new MyArtifactLink(Guid.NewGuid(), "item2.cs"); Assert.IsFalse(target.IsValid(invalidLink1)); MyArtifactLink invalidLink2 = new MyArtifactLink(project.GUID, "it:em3.cs"); Assert.IsFalse(target.IsValid(invalidLink2)); MyArtifactLink invalidLink3 = new MyArtifactLink(Guid.NewGuid(), "<item3.cs>"); Assert.IsFalse(target.IsValid(invalidLink3)); }
public void ObjectExtenderContainerConverterConvertToTypeCompliantWithXmlSerializer() { MockServiceProvider mockServiceProvider = new MockServiceProvider(); MockServiceProviderService mockService = new MockServiceProviderService(); mockServiceProvider.AddService(typeof(IExtensionProviderService), mockService); ObjectExtenderContainerConverter converter = new ObjectExtenderContainerConverter(mockServiceProvider); TestSerializableObject testObject1 = new TestSerializableObject(); testObject1.ValueOne = "TestDataOne"; testObject1.ValueTwo = 33; string stringRepresentation; Type[] types = { typeof(TestSerializableObject) }; ObjectExtenderContainer container1 = new ObjectExtenderContainer(); container1.ObjectExtenders.Add(testObject1); stringRepresentation = GenericSerializer.Serialize<ObjectExtenderContainer>(container1, types); string stringRepresentation2 = converter.ConvertTo(stringRepresentation, typeof(string)) as string; Assert.AreEqual(stringRepresentation, stringRepresentation2, "Not equal"); }
private static CodeGenerationService CreateCodeGenerator(string itemPath, out MockVsRDT rdt) { string fullItemPath = Path.Combine(Directory.GetCurrentDirectory(), itemPath); string fullProjectPath = Path.Combine(Directory.GetCurrentDirectory(), "Project.project"); MockServiceProvider serviceProvider = new MockServiceProvider(); MockVSHierarchy vsHierarchy = new MockVSHierarchy(fullProjectPath); MockVsSolution vsSolution = new MockVsSolution(vsHierarchy); rdt = new MockVsRDT(fullItemPath, vsHierarchy, 0); MockVsTextManager textManager = new MockVsTextManager(); MockVsUIShellOpenDocument shellOpenDocument = new MockVsUIShellOpenDocument(); serviceProvider.AddService(typeof(SVsSolution), vsSolution); serviceProvider.AddService(typeof(IVsRunningDocumentTable), rdt); serviceProvider.AddService(typeof(VsTextManagerClass), textManager); serviceProvider.AddService(typeof(SVsUIShellOpenDocument), shellOpenDocument); return new TestableCodeGenerationService(serviceProvider); }
public void TestValidateEmptyRename() { MockServiceProvider serviceProvider = new MockServiceProvider(); MockVSHierarchy root = new MockVSHierarchy(); MockVsSolution solution = new MockVsSolution(root); MockVSHierarchy project = new MockVSHierarchy("Project1.project"); root.AddProject(project); serviceProvider.AddService(typeof(SVsSolution), solution); TestableCodeGenerationService target = new TestableCodeGenerationService(serviceProvider); string oldName = "item1"; string newName = ""; MyArtifactLink validLink = new MyArtifactLink(project.GUID, oldName + ".cs"); HierarchyNode node = target.ValidateRename(validLink, newName, oldName); Assert.IsNull(node); project.AddChild(oldName + ".cs"); node = target.ValidateRename(validLink, oldName, oldName); Assert.IsNull(node); Assert.AreEqual<int>(0, target.LogEntries.Count); node = target.ValidateRename(validLink, newName, oldName); Assert.IsNotNull(node); Assert.AreEqual<int>(1, target.LogEntries.Count); }
public void TestArtifactIsGenerated() { MockServiceProvider serviceProvider = new MockServiceProvider(); MockVSHierarchy root = new MockVSHierarchy(); MockVsSolution solution = new MockVsSolution(root); MockVSHierarchy project = new MockVSHierarchy("Project1.project"); root.AddProject(project); serviceProvider.AddService(typeof(SVsSolution), solution); CodeGenerationService target = new CodeGenerationService(serviceProvider); MyArtifactLink validLink = new MyArtifactLink(project.GUID, "item1.cs"); Assert.IsFalse(target.IsArtifactAlreadyGenerated(validLink)); project.AddChild("item1.cs"); Assert.IsTrue(target.IsArtifactAlreadyGenerated(validLink)); }
public void GetArtifactsReturnsNull() { MockServiceProvider mockServiceProvider = new MockServiceProvider(); IArtifactLinkContainer links = ModelCollector.GetArtifacts(mockServiceProvider); Assert.IsNull(links); }