Files
Infratest/Assets/SourceGeneration/InfraGens~/InfraGens/InfraGens.Tests/SampleIncrementalSourceGeneratorTests.cs
T
2026-01-20 20:38:20 +03:00

67 lines
2.2 KiB
C#

// using System.Linq;
// using Microsoft.CodeAnalysis;
// using Microsoft.CodeAnalysis.CSharp;
// using Xunit;
//
// namespace InfraGens.Tests;
//
// public class SampleIncrementalSourceGeneratorTests
// {
// private const string VectorClassText = @"
// namespace TestNamespace;
//
// [Generators.Report]
// public partial class Vector3
// {
// public float X { get; set; }
// public float Y { get; set; }
// public float Z { get; set; }
// }";
//
// private const string ExpectedGeneratedClassText = @"// <auto-generated/>
//
// using System;
// using System.Collections.Generic;
//
// namespace TestNamespace;
//
// partial class Vector3
// {
// public IEnumerable<string> Report()
// {
// yield return $""X:{this.X}"";
// yield return $""Y:{this.Y}"";
// yield return $""Z:{this.Z}"";
// }
// }
// ";
//
// [Fact]
// public void GenerateReportMethod()
// {
// // Create an instance of the source generator.
// var generator = new SampleIncrementalSourceGenerator();
//
// // Source generators should be tested using 'GeneratorDriver'.
// var driver = CSharpGeneratorDriver.Create(generator);
//
// // We need to create a compilation with the required source code.
// var compilation = CSharpCompilation.Create(nameof(SampleSourceGeneratorTests),
// new[] { CSharpSyntaxTree.ParseText(VectorClassText) },
// new[]
// {
// // To support 'System.Attribute' inheritance, add reference to 'System.Private.CoreLib'.
// MetadataReference.CreateFromFile(typeof(object).Assembly.Location)
// });
//
// // Run generators and retrieve all results.
// var runResult = driver.RunGenerators(compilation).GetRunResult();
//
// // All generated files can be found in 'RunResults.GeneratedTrees'.
// var generatedFileSyntax = runResult.GeneratedTrees.Single(t => t.FilePath.EndsWith("Vector3.g.cs"));
//
// // Complex generators should be tested using text comparison.
// Assert.Equal(ExpectedGeneratedClassText, generatedFileSyntax.GetText().ToString(),
// ignoreLineEndingDifferences: true);
// }
// }