Exemple #1
0
        public void LoadFlatClassWithBaseSymbol()
        {
            TsSymbolLookup lookup = new TsSymbolLookup();
            Type           type   = typeof(FlatTestClassWithBase);

            TsTypeSymbol symbol = TsTypeSymbol.LoadFrom(type, lookup, TsTypeManagerOptions.Default);

            Assert.True(symbol.IsClass);
            Assert.Equal(type.Name, symbol.Name);
            Assert.Null(symbol.Base);
            Assert.True(symbol.ExplicitOptIn);
            Assert.Equal(TsSymbolKind.Class, symbol.Kind);
            Assert.Single(symbol.Properties);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }