protected TestBase() { _typeCache = Substitute.For <ITypeCache>(); _referenceMap = Substitute.For <IReferenceMap>(); _converter = new FrameworkToJsiiConverter(_typeCache); IServiceCollection serviceCollection = new ServiceCollection(); serviceCollection.AddSingleton <ITypeCache>(_typeCache); serviceCollection.AddSingleton <IReferenceMap>(_referenceMap); serviceCollection.AddSingleton <IFrameworkToJsiiConverter>(_converter); serviceCollection.AddSingleton <IClient>(Substitute.For <IClient>()); serviceCollection.AddTransient <IClient>(sp => Substitute.For <IClient>()); IServiceProvider serviceProvider = serviceCollection.BuildServiceProvider(); ServiceContainer.ServiceProviderOverride = serviceProvider; _typeCache.TryGetClassType("myClassFqn").Returns(typeof(TestClass)); _typeCache.TryGetEnumType("myEnumFqn").Returns(typeof(TestEnum)); }
bool TryConvertCustomType(System.Type type, IReferenceMap referenceMap, object?value, bool isOptional, string fullyQualifiedName, out object?result) { if (IsReferenceType()) { return(TryConvertClass(type, referenceMap, value, out result)); } if (_types.TryGetEnumType(fullyQualifiedName) != null) { return(TryConvertEnum(value, isOptional, fullyQualifiedName, out result)); } result = null; return(false); bool IsReferenceType() { return (_types.TryGetClassType(fullyQualifiedName) != null || _types.TryGetInterfaceType(fullyQualifiedName) != null || _types.TryGetProxyType(fullyQualifiedName) != null); } }