Skip to main content
Glama
test_integrations_gnc.py3.55 kB
"""Tests for guidance, navigation, and control module.""" import pytest from aerospace_mcp.integrations.gnc import ( GeneticAlgorithm, GeneticAlgorithmParams, OptimizationResult, ParticleSwarmOptimizer, ParticleSwarmParams, TrajectoryWaypoint, ) class TestTrajectoryWaypoint: """Test TrajectoryWaypoint data class.""" def test_valid_waypoint(self): """Test creating valid trajectory waypoint.""" waypoint = TrajectoryWaypoint( time_s=0.0, position_m=[7000000.0, 0.0, 0.0], velocity_ms=[0.0, 7546.0, 0.0] ) assert waypoint.time_s == 0.0 assert waypoint.position_m[0] == 7000000.0 assert waypoint.velocity_ms[1] == 7546.0 def test_waypoint_with_optional_fields(self): """Test waypoint with optional fields.""" waypoint = TrajectoryWaypoint( time_s=10.0, position_m=[1000.0, 2000.0, 3000.0], velocity_ms=[100.0, 200.0, 300.0], acceleration_ms2=[1.0, 2.0, 3.0], thrust_n=[500.0, 1000.0, 1500.0], mass_kg=1500.0, ) assert waypoint.time_s == 10.0 assert waypoint.mass_kg == 1500.0 assert waypoint.acceleration_ms2[0] == 1.0 assert waypoint.thrust_n[0] == 500.0 class TestGeneticAlgorithm: """Test Genetic Algorithm implementation.""" def test_ga_initialization(self): """Test GA initialization.""" ga = GeneticAlgorithm(GeneticAlgorithmParams()) # Check that GA instance was created assert ga is not None assert hasattr(ga, "optimize") class TestParticleSwarmOptimizer: """Test Particle Swarm Optimization implementation.""" def test_pso_initialization(self): """Test PSO initialization.""" pso = ParticleSwarmOptimizer(ParticleSwarmParams()) # Check that PSO instance was created assert pso is not None assert hasattr(pso, "optimize") class TestOptimizationResult: """Test OptimizationResult data class.""" def test_optimization_result_creation(self): """Test creating optimization result.""" waypoints = [ TrajectoryWaypoint( time_s=0.0, position_m=[0.0, 0.0, 0.0], velocity_ms=[0.0, 0.0, 0.0] ), TrajectoryWaypoint( time_s=10.0, position_m=[1000.0, 0.0, 0.0], velocity_ms=[100.0, 0.0, 0.0], ), ] result = OptimizationResult( optimal_trajectory=waypoints, optimal_cost=1000.0, delta_v_total_ms=150.0, fuel_mass_kg=10.0, converged=True, iterations=50, computation_time_s=1.5, algorithm="test", ) assert len(result.optimal_trajectory) == 2 assert result.delta_v_total_ms == 150.0 assert result.converged class TestModuleImports: """Test that all expected functions and classes are available.""" def test_imports(self): """Test that key classes can be imported.""" # Test that we can import and create instances waypoint = TrajectoryWaypoint( time_s=0.0, position_m=[0.0, 0.0, 0.0], velocity_ms=[0.0, 0.0, 0.0] ) ga = GeneticAlgorithm(GeneticAlgorithmParams()) pso = ParticleSwarmOptimizer(ParticleSwarmParams()) assert waypoint is not None assert ga is not None assert pso is not None if __name__ == "__main__": pytest.main([__file__])

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cheesejaguar/aerospace-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server