mirror of
https://github.com/SK-la/osu-framework.git
synced 2026-03-13 11:20:31 +00:00
67 lines
2.7 KiB
C#
67 lines
2.7 KiB
C#
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
|
// See the LICENCE file in the repository root for full licence text.
|
|
|
|
using System.Threading.Tasks;
|
|
using Microsoft.CodeAnalysis;
|
|
using Xunit;
|
|
using VerifyCS = osu.Framework.SourceGeneration.Tests.Verifiers.CSharpSourceGeneratorVerifier<osu.Framework.SourceGeneration.Generators.Dependencies.DependencyInjectionSourceGenerator>;
|
|
|
|
namespace osu.Framework.SourceGeneration.Tests.Dependencies
|
|
{
|
|
public class DependencyInjectionSourceGeneratorTests : AbstractGeneratorTests
|
|
{
|
|
protected override string ResourceNamespace => "DependencyInjection";
|
|
|
|
[Theory]
|
|
// Non-partial-class tests:
|
|
[InlineData("EmptyFile")]
|
|
[InlineData("EmptyClass")]
|
|
[InlineData("EmptyDrawable")]
|
|
[InlineData("CachedClass")]
|
|
[InlineData("CachedDrawable")]
|
|
// Partial-class tests:
|
|
[InlineData("DependencyInjectionCandidateWithConflictingLocal")]
|
|
[InlineData("DependencyInjectionCandidateWithConflictingNestedClass")]
|
|
[InlineData("EmptyPartialDrawable")]
|
|
[InlineData("GenericEmptyPartialDrawable")]
|
|
[InlineData("PartialCachedClass")]
|
|
[InlineData("PartialCachedDrawable")]
|
|
[InlineData("PartialCachedMember")]
|
|
[InlineData("PartialCachedInterface")]
|
|
[InlineData("PartialResolvedMember")]
|
|
[InlineData("PartialResolvedBindable")]
|
|
[InlineData("PartialResolvedNullableBindable")]
|
|
[InlineData("PartialBackgroundDependencyLoadedDrawable")]
|
|
[InlineData("PartialNestedClasses")]
|
|
[InlineData("NestedCachedClass")]
|
|
[InlineData("MultipleCachedMember")]
|
|
[InlineData("CachedInheritedInterface")]
|
|
[InlineData("CachedBaseType")]
|
|
public Task Check(string name)
|
|
{
|
|
GetTestSources(name,
|
|
out (string filename, string content)[] commonSourceFiles,
|
|
out (string filename, string content)[] sourceFiles,
|
|
out (string filename, string content)[] commonGeneratedFiles,
|
|
out (string filename, string content)[] generatedFiles
|
|
);
|
|
|
|
return VerifyCS.VerifyAsync(commonSourceFiles, sourceFiles, commonGeneratedFiles, generatedFiles);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData("EmptyFile")]
|
|
public Task CheckDebugNoOutput(string name)
|
|
{
|
|
GetTestSources(name,
|
|
out (string filename, string content)[] commonSourceFiles,
|
|
out (string filename, string content)[] sourceFiles,
|
|
out _,
|
|
out _
|
|
);
|
|
|
|
return VerifyCS.VerifyAsync(commonSourceFiles, sourceFiles, [], [], OptimizationLevel.Debug);
|
|
}
|
|
}
|
|
}
|