public void LoadClassWithBaseSymbol() { TsSymbolLookup lookup = new TsSymbolLookup(); Type type = typeof(DiscoveryReferenceProject.ClassWithUnannotatedBase); TsTypeSymbol baseSymbol = TsTypeSymbol.LoadFrom(type.BaseType, lookup, TsTypeManagerOptions.Default); lookup.Add(type.BaseType, baseSymbol); TsTypeSymbol symbol = TsTypeSymbol.LoadFrom(type, lookup, TsTypeManagerOptions.Default); Assert.True(symbol.IsClass); Assert.Equal(type.Name, symbol.Name); Assert.Equal(baseSymbol, symbol.Base); Assert.True(symbol.ExplicitOptIn); Assert.Equal(TsSymbolKind.Class, symbol.Kind); Assert.Empty(symbol.Properties); }
public void LoadInterfaceWithUnannotatedInterfaceSymbol() { TsSymbolLookup lookup = new TsSymbolLookup(); Type type = typeof(DiscoveryReferenceProject.InterfaceWithUnannotatedInterface); TsTypeSymbol expectedInterfaceSymbol = TsTypeSymbol.LoadFrom(typeof(DiscoveryReferenceProject.InterfaceWithUnannotatedInterfaceInterface), lookup, TsTypeManagerOptions.Default); lookup.Add(expectedInterfaceSymbol.TypeMetadata.Type, expectedInterfaceSymbol); TsTypeSymbol symbol = TsTypeSymbol.LoadFrom(type, lookup, TsTypeManagerOptions.Default); Assert.True(symbol.IsInterface); Assert.Equal(type.Name, symbol.Name); Assert.Null(symbol.Base); TsTypeSymbol actualInterfaceSymbol = Assert.Single(symbol.Interfaces); Assert.Equal(expectedInterfaceSymbol, actualInterfaceSymbol); Assert.True(symbol.ExplicitOptIn); Assert.Equal(TsSymbolKind.Interface, symbol.Kind); }