Files
AtomUI/tests/AtomUI.Build.Tasks.Tests/DiscoverLinkedRegistrationConsumerReferencesTaskTests.cs

33 lines
1.2 KiB
C#

using AtomUI.Build.Tasks;
using Shouldly;
using Xunit;
namespace AtomUI.Build.Tasks.Tests;
public sealed class DiscoverLinkedRegistrationConsumerReferencesTaskTests
{
[Fact]
public void Only_References_To_Known_Control_Package_Assemblies_Are_Selected()
{
using var fixture = new LinkedRegistrationAssemblyFixture();
var consumerPath = fixture.CompileConsumer("Fixture.Consumer", callsEntry: true);
var unrelatedPath = fixture.CompileUnrelated("Fixture.Unrelated");
var task = new DiscoverLinkedRegistrationConsumerReferencesTask
{
BuildEngine = new RecordingBuildEngine(),
ReferencePaths =
[
new TestTaskItem(fixture.PackageAssemblyPath),
new TestTaskItem(consumerPath),
new TestTaskItem(unrelatedPath)
],
CatalogSidecars = [new TestTaskItem(fixture.CatalogSidecarPath)]
};
task.Execute().ShouldBeTrue();
var consumer = task.ConsumerReferences.ShouldHaveSingleItem();
consumer.ItemSpec.ShouldBe(consumerPath);
consumer.GetMetadata("AtomUILinkedAssemblyName").ShouldBe("Fixture.Consumer");
}
}