Files
git.stella-ops.org/src/Graph/__Tests/StellaOps.Graph.Indexer.Tests/GraphAnalyticsPipelineTests.cs

35 lines
1.2 KiB
C#

using System.Collections.Immutable;
using Microsoft.Extensions.Logging.Abstractions;
using StellaOps.Graph.Indexer.Analytics;
namespace StellaOps.Graph.Indexer.Tests;
public sealed class GraphAnalyticsPipelineTests
{
[Trait("Category", TestCategories.Unit)]
[Fact]
public async Task RunAsync_WritesClustersAndCentrality()
{
var snapshot = GraphAnalyticsTestData.CreateLinearSnapshot();
var provider = new InMemoryGraphSnapshotProvider();
provider.Enqueue(snapshot);
using var metrics = new GraphAnalyticsMetrics();
using StellaOps.TestKit;
var writer = new InMemoryGraphAnalyticsWriter();
var pipeline = new GraphAnalyticsPipeline(
new GraphAnalyticsEngine(new GraphAnalyticsOptions()),
provider,
writer,
metrics,
NullLogger<GraphAnalyticsPipeline>.Instance);
await pipeline.RunAsync(new GraphAnalyticsRunContext(false), CancellationToken.None);
Assert.Single(writer.ClusterWrites);
Assert.Single(writer.CentralityWrites);
Assert.Equal(snapshot.Nodes.Length, writer.ClusterWrites.Single().Assignments.Length);
}
}