public async Task ConvertFrom_Test() { await Task.CompletedTask; var typeConverter = new TypeTypeConverter(); // String (primitive type) var type = typeof(string); var text = type.FullName; Assert.AreEqual(type, typeConverter.ConvertFrom(text)); text = $"{type.FullName}, {type.Assembly.GetName().Name}"; Assert.AreEqual(type, typeConverter.ConvertFrom(text)); text = type.AssemblyQualifiedName; Assert.AreEqual(type, typeConverter.ConvertFrom(text)); // This type. Full name without assembly name will not work. type = this.GetType(); text = $"{type.FullName}, {type.Assembly.GetName().Name}"; Assert.AreEqual(type, typeConverter.ConvertFrom(text)); text = type.AssemblyQualifiedName; Assert.AreEqual(type, typeConverter.ConvertFrom(text)); }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { TypeTypeConverter converter = new TypeTypeConverter(); value = converter.ConvertFrom(context, CultureInfo.CurrentCulture, value); value = base.EditValue(context, provider, value); value = converter.ConvertTo(context, CultureInfo.CurrentCulture, value, typeof(string)); return(value); }
public void ConvertFromIdentifiableStringReturnsTheCorrectType() { var typeContextMock = new Mock<ITypeContext>(); var typeRepoMock = new Mock<IXamlTypeRepository>(); var typeLocator = "type locator"; var xamlType = new XamlType(typeof (DummyClass), typeRepoMock.Object, new TypeFactoryDummy(), new TypeFeatureProviderDummy()); typeContextMock.Setup(context => context.GetByQualifiedName(It.Is<string>(s => s.Equals(typeLocator)))) .Returns(xamlType); var contextMock = new Mock<IXamlTypeConverterContext>(); contextMock.Setup(context => context.TypeRepository).Returns(typeContextMock.Object); var sut = new TypeTypeConverter(); var t = sut.ConvertFrom(contextMock.Object, CultureInfo.CurrentCulture, typeLocator); Assert.AreEqual(typeof(DummyClass), t); }
public void ConvertFromIdentifiableStringReturnsTheCorrectType() { var typeContextMock = new Mock <ITypeContext>(); var typeRepoMock = new Mock <IXamlTypeRepository>(); var typeLocator = "type locator"; var xamlType = new XamlType(typeof(DummyClass), typeRepoMock.Object, new TypeFactoryDummy(), new TypeFeatureProviderDummy()); typeContextMock.Setup(context => context.GetByQualifiedName(It.Is <string>(s => s.Equals(typeLocator)))) .Returns(xamlType); var contextMock = new Mock <IXamlTypeConverterContext>(); contextMock.Setup(context => context.TypeRepository).Returns(typeContextMock.Object); var sut = new TypeTypeConverter(); var t = sut.ConvertFrom(contextMock.Object, CultureInfo.CurrentCulture, typeLocator); Assert.AreEqual(typeof(DummyClass), t); }