public void ResolveTypesFromSingleAssembly()
        {
            TsTypeManager manager = new TsTypeManager();

            IReadOnlyList <Type> actualTypes = manager.DiscoverTypes(typeof(AssemblyClassToken).Assembly);

            ValidateDiscoveryReferenceProject(actualTypes);
        }
        public void ResolveAssemblies()
        {
            TsTypeManager manager = new TsTypeManager();

            IReadOnlyList <Assembly> actualAssemblies = manager.DiscoverAssemblies(typeof(AssemblyClassToken).Assembly);

            Assert.NotNull(actualAssemblies);
            Assert.NotEmpty(actualAssemblies);
            Assert.Equal(1, actualAssemblies.Count);
        }
        public void ResolveTypeSymbolsWithPotentialDtoNameCollision()
        {
            TsTypeManager manager = new TsTypeManager();

            IReadOnlyList <Type> discoveredTypes = new[]
            {
                typeof(UnitTestReferenceLibrary.WithOverlap.Circle),
                typeof(UnitTestReferenceLibrary.WithOverlap.ICircle),
            };

            IReadOnlyList <TsTypeSymbol> symbols = manager.ResolveTypeSymbols(discoveredTypes);

            Assert.Equal(4, symbols.Count);

            Assert.Equal(new[]
            {
                "Circle",
                "ICircle",
                "ICircleDto",
                "ICircleDto1",
            }, symbols.Select(x => x.Name).OrderBy(x => x));
        }