generated from wessel/boilerplate
1.5 KiB
1.5 KiB
Database Manager Unit Tests
Unit tests for DatabaseManager are implemented in src/g2_2025_imu_reader_pkg/test/DatabaseManager.test.cpp using Google Test and ROS2 test utilities. The tests are designed to work reliably whether a database connection is available or not, focusing on error handling and method behavior validation.
Test Cases
1. ConstructorTest
Description: Verifies that DatabaseManager can be created without crashing and proper initialization occurs.
- Test Action: Create DatabaseManager instance with ROS2 logger
- Expected Result: Instance created successfully without exceptions
2. ConnectionStatusTest
Description: Tests that the is_connected() method returns a valid boolean value.
- Test Action: Call
is_connected()method - Expected Result: Returns either
trueorfalse(no crashes or invalid states)
3. StoreIMUDataWhenNotConnected
Description: Verifies that storing IMU data without an active database connection fails gracefully.
- Test Action: Call
store_imu_data(linear_x, linear_y, linear_z, ang_x, ang_y, ang_z)without an active DB connection - Expected Result: Returns
falseand does not throw — method must check connection status before DB operations
4. CreateTablesNoCrash
Description: Verifies calling create_tables() without an active connection is safe.
- Test Action: Call
create_tables()on a manager that is not connected - Expected Result: No exception thrown; the function should be a no-op when no DB connection exists