コード例 #1
0
        public async Task DoesNotGenerateValueType()
        {
            var generator   = new Gen.Generator();
            var interceptor = GeneratorOutputInterceptor.CreateInterceptor(generator);

            var generatedFiles = await generator.GenerateAsync(typeof(IRecursiveConstraintInterfaceWithStructConstraint <>).Assembly);

            Assert.DoesNotContain("value-type.ts", generatedFiles);
            Assert.DoesNotContain(typeof(ValueType), interceptor.GeneratedOutputs.Values.Select(o => o.GeneratedFor));
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="generator"></param>
        /// <param name="disableDefaultOutput"></param>
        /// <returns></returns>
        public static GeneratorOutputInterceptor CreateInterceptor(Gen.Generator generator, bool disableDefaultOutput = true)
        {
            var interceptor = new GeneratorOutputInterceptor();

            if (disableDefaultOutput)
            {
                generator.UnsubscribeDefaultFileContentGeneratedHandler();
            }

            generator.FileContentGenerated += interceptor.OnOutputCreated;
            return(interceptor);
        }
コード例 #3
0
        public async Task DoesNotContainIgnoredBases()
        {
            var generator   = new Gen.Generator();
            var interceptor = GeneratorOutputInterceptor.CreateInterceptor(generator);

            var generatedFiles = await generator.GenerateAsync(typeof(IIgnoresBaseInterface).Assembly);

            Assert.DoesNotContain("ignored-base-class.ts", generatedFiles);
            Assert.DoesNotContain(typeof(IgnoredBaseClass), interceptor.GeneratedOutputs.Values.Select(o => o.GeneratedFor));

            Assert.DoesNotContain("i-ignored-base-interface.ts", generatedFiles);
            Assert.DoesNotContain(typeof(IIgnoredBaseInterface), interceptor.GeneratedOutputs.Values.Select(o => o.GeneratedFor));
        }
コード例 #4
0
        public async Task TestGenerate(Type type, string expectedLocation)
        {
            var readExpectedTask = EmbededResourceReader.GetEmbeddedResourceAsync(expectedLocation);

            var generator   = new Gen.Generator();
            var interceptor = GeneratorOutputInterceptor.CreateInterceptor(generator);

            await generator.GenerateAsync(type.Assembly);

            var expected = (await readExpectedTask).Trim();

            Assert.True(interceptor.GeneratedOutputs.ContainsKey(type));
            Assert.Equal(expected, FromatOutput(interceptor.GeneratedOutputs[type].Content));
        }