145 lines
3.5 KiB
C#
Executable File
145 lines
3.5 KiB
C#
Executable File
using Agentic.Engine;
|
|
using MarketAlly.AIPlugin.Agentic;
|
|
|
|
namespace MarketAlly.AIPlugin.Tests;
|
|
|
|
/// <summary>
|
|
/// Tests for AgenticEngine core functionality
|
|
/// </summary>
|
|
public class AgenticEngineTests
|
|
{
|
|
[Fact]
|
|
public void Constructor_ShouldInitializeWithDefaultState()
|
|
{
|
|
// Arrange & Act
|
|
var builder = new AgenticEngineBuilder();
|
|
var engine = builder.Build();
|
|
|
|
// Assert
|
|
engine.Should().NotBeNull();
|
|
engine.IsRunning.Should().BeFalse();
|
|
engine.HasOrchestrator.Should().BeFalse();
|
|
engine.CanExecutePlans.Should().BeFalse();
|
|
engine.IsEnvironmentProbed.Should().BeFalse();
|
|
}
|
|
|
|
[Fact]
|
|
public void ExecutionModeStatus_WithoutOrchestrator_ShouldReturnSimulationMode()
|
|
{
|
|
// Arrange
|
|
var builder = new AgenticEngineBuilder();
|
|
var engine = builder.Build();
|
|
|
|
// Act
|
|
var status = engine.ExecutionModeStatus;
|
|
|
|
// Assert
|
|
status.Should().Contain("Simulation mode");
|
|
status.Should().Contain("configure API key");
|
|
}
|
|
|
|
[Fact]
|
|
public void AgentInventory_ShouldNotBeNull()
|
|
{
|
|
// Arrange
|
|
var builder = new AgenticEngineBuilder();
|
|
var engine = builder.Build();
|
|
|
|
// Act
|
|
var inventory = engine.AgentInventory;
|
|
|
|
// Assert
|
|
inventory.Should().NotBeNull();
|
|
}
|
|
|
|
[Fact]
|
|
public void Environment_BeforeProbe_ShouldBeNull()
|
|
{
|
|
// Arrange
|
|
var builder = new AgenticEngineBuilder();
|
|
var engine = builder.Build();
|
|
|
|
// Act
|
|
var environment = engine.Environment;
|
|
|
|
// Assert
|
|
environment.Should().BeNull();
|
|
}
|
|
|
|
[Fact]
|
|
public void OrgChart_WithoutConfiguration_ShouldBeNull()
|
|
{
|
|
// Arrange
|
|
var builder = new AgenticEngineBuilder();
|
|
var engine = builder.Build();
|
|
|
|
// Act
|
|
var orgChart = engine.OrgChart;
|
|
|
|
// Assert
|
|
orgChart.Should().BeNull();
|
|
}
|
|
|
|
[Fact]
|
|
public async Task DisposeAsync_ShouldNotThrow()
|
|
{
|
|
// Arrange
|
|
var builder = new AgenticEngineBuilder();
|
|
var engine = builder.Build();
|
|
|
|
// Act
|
|
Func<Task> act = async () => await engine.DisposeAsync();
|
|
|
|
// Assert
|
|
await act.Should().NotThrowAsync();
|
|
}
|
|
|
|
[Fact]
|
|
public void ExecutionEventReceived_ShouldBeNullByDefault()
|
|
{
|
|
// Arrange
|
|
var builder = new AgenticEngineBuilder();
|
|
var engine = builder.Build();
|
|
|
|
// Act & Assert
|
|
// Events are null until subscribed - just verify no exception
|
|
engine.Should().NotBeNull();
|
|
}
|
|
|
|
[Fact]
|
|
public void AgentEventReceived_ShouldBeNullByDefault()
|
|
{
|
|
// Arrange
|
|
var builder = new AgenticEngineBuilder();
|
|
var engine = builder.Build();
|
|
|
|
// Act & Assert
|
|
// Events are null until subscribed - just verify no exception
|
|
engine.Should().NotBeNull();
|
|
}
|
|
|
|
[Fact]
|
|
public void SystemEventReceived_ShouldBeNullByDefault()
|
|
{
|
|
// Arrange
|
|
var builder = new AgenticEngineBuilder();
|
|
var engine = builder.Build();
|
|
|
|
// Act & Assert
|
|
// Events are null until subscribed - just verify no exception
|
|
engine.Should().NotBeNull();
|
|
}
|
|
|
|
[Fact]
|
|
public void ClarificationRequested_ShouldBeNullByDefault()
|
|
{
|
|
// Arrange
|
|
var builder = new AgenticEngineBuilder();
|
|
var engine = builder.Build();
|
|
|
|
// Act & Assert
|
|
// Events are null until subscribed - just verify no exception
|
|
engine.Should().NotBeNull();
|
|
}
|
|
}
|