Fluent testing for Roslyn incremental generators. example usage
await source.ShouldCache<MyGenerator>();
await source.ShouldGenerate<MyGenerator>("Person.g.cs");
await source.ShouldHaveDiagnostic<MyGenerator>("GE0001", DiagnosticSeverity.Info);
await source.ShouldHaveDiagnostic<MyGenerator>("GE0002", DiagnosticSeverity.Warning);
await source.ShouldHaveDiagnostic<MyGenerator>("GE0003"); // Default: Error
#if DEBUG
await source.DebugCache<MyGenerator>(); // Throws with detailed caching report
#endif