-
-
Notifications
You must be signed in to change notification settings - Fork 228
TST: Add acceptance tests for 3DOF flight simulation #914
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
Co-authored-by: aZira371 <99824864+aZira371@users.noreply.github.com>
Co-authored-by: aZira371 <99824864+aZira371@users.noreply.github.com>
Co-authored-by: aZira371 <99824864+aZira371@users.noreply.github.com>
Co-authored-by: aZira371 <99824864+aZira371@users.noreply.github.com>
|
@copilot Please check if the fixtures from flight_fixtures.py can be reused for these tests or not. If yes then reuse them here. If not then add new fixtures to the flight_fixtures.py file. |
…onment fixture Co-authored-by: aZira371 <99824864+aZira371@users.noreply.github.com>
Done! I've refactored the fixtures as requested: Changes made (commit c6cbc90):
Results:
|
Pull request type
Checklist
black rocketpy/ tests/) has passed locallypytest tests -m slow --runslow) have passed locallyCurrent behavior
No acceptance tests exist for 3DOF flight simulation feature. Integration tests exist but lack end-to-end validation with realistic scenarios.
New behavior
Adds comprehensive acceptance test suite (
tests/acceptance/test_3dof_flight.py) with 12 tests covering:Tests use realistic fixtures (127mm rocket, 1500N thrust, 3.5s burn) and gracefully skip when PointMassMotor/PointMassRocket are unavailable. Will auto-activate when #882 merges.
Fixture Organization: All 3DOF-specific fixtures have been centralized in
tests/fixtures/flight/flight_fixtures.pyfor better reusability:acceptance_point_mass_motor: Realistic point mass motor fixtureacceptance_point_mass_rocket: Point mass rocket fixtureflight_3dof_no_weathercock: 3DOF flight without weathercockingflight_3dof_with_weathercock: 3DOF flight with weathercocking enabledThe fixtures reuse existing
example_spaceport_envfromenvironment_fixtures.pyinstead of creating duplicate environment fixtures.Example test structure:
Breaking change
Additional information
Tests currently skip due to missing 3DOF classes. All existing acceptance tests (bella_lui, ndrt_2020, prometheus) pass unchanged. CodeQL: 0 alerts.
Fixtures have been properly organized following the project's pattern of centralizing test fixtures in
tests/fixtures/directory, improving code maintainability and reusability.Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.