[PR] Add unit tests to documentation, add README, add launchfile #7

Merged
vincent merged 16 commits from 1-grade-generator/documentation-updates into 1-grade-generator/master 2025-10-09 13:27:22 +02:00
Owner

This PR will add some documentation about unit tests to all nodes and classes. It'll also saturate the repo with a decent README. A launch file is also added to easily start all required nodes.

Status

  • Code changes have been tested and there aren't any typos in it

Semantic versioning classification:

  • This PR changes ros2-assignments core codebase (methods or parameters added)
    • This PR includes breaking changes (methods removed or renamed, parameters moved or removed)
  • This PR only includes non-code changes, like changes to documentation, README, etc.
This PR will add some documentation about unit tests to all nodes and classes. It'll also saturate the repo with a decent README. A launch file is also added to easily start all required nodes. **Status** - [x] Code changes have been tested and there aren't any typos in it **Semantic versioning classification:** - [ ] This PR changes ros2-assignments core codebase (methods or parameters added) - [ ] This PR includes breaking changes (methods removed or renamed, parameters moved or removed) - [ ] This PR **only** includes non-code changes, like changes to documentation, README, etc.
wessel added 8 commits 2025-10-07 19:53:23 +02:00
wessel requested review from mohammad 2025-10-07 19:53:36 +02:00
wessel requested review from vincent 2025-10-07 19:53:38 +02:00
wessel added the Assignment 1Kind/DocumentationKind/Feature labels 2025-10-07 19:53:55 +02:00
wessel reviewed 2025-10-08 13:27:17 +02:00
@@ -28,8 +32,65 @@ FinalGradeDeterminator()
- Sends async request with collected exam grades for the student-course combination
- Uses callback to handle service response
Author
Owner

Formatting, below also a lot of extra newlines

Formatting, below also a lot of extra newlines
vincent marked this conversation as resolved
@@ -0,0 +1,9 @@
<launch>
<node pkg="g2_2025_grade_calculator_pkg" exec="exam_result_generator"/>
Author
Owner

Add param delay_between_grades_ms

Add param `delay_between_grades_ms`
wessel marked this conversation as resolved
wessel changed title from WIP: [PR] Add unit tests to documentation, add README, add launchfile to [PR] Add unit tests to documentation, add README, add launchfile 2025-10-08 13:27:50 +02:00
wessel requested review from inholland 2025-10-08 13:27:51 +02:00
vincent added 1 commit 2025-10-08 16:31:14 +02:00
Split documentation into three folders: Architecture, Testing and
Installation.

Rework and expand architecture.md alongside interfaces.md

Split all parts to do with testing from Architecture md's into Test md's

Add parameter to ExamResultGenerator node documentation
wessel added 1 commit 2025-10-08 17:53:11 +02:00
vincent added 2 commits 2025-10-08 18:40:35 +02:00
vincent added 2 commits 2025-10-08 18:44:34 +02:00
wessel reviewed 2025-10-08 18:56:48 +02:00
README.md Outdated
@@ -13,0 +19,4 @@
## System Architecture
The TI Minor Grade Generator is a ROS2-based distributed system for managing student exam results and calculating final grades. The system follows a microservices architecture with clear separation of concerns.
Author
Owner

Misschien dit naar "onze taal"verwoorden

Misschien dit naar "onze taal"verwoorden
vincent marked this conversation as resolved
README.md Outdated
@@ -13,0 +53,4 @@
#### Configuration Management
- **ConfigManager**: Loads and validates system configuration from TOML files
- Provides runtime access to configuration parameters for all nodes
Author
Owner

remove all

remove `all`
vincent marked this conversation as resolved
README.md Outdated
@@ -13,0 +77,4 @@
The system uses TOML configuration files for environment-specific settings:
- Database connection parameters
- ROS2 node configurations
Author
Owner

false

false
vincent marked this conversation as resolved
README.md Outdated
@@ -13,0 +85,4 @@
Unit tests are implemented using Google Test framework:
- Mock services and database managers for isolated testing
- Parameterized tests for various grade calculation scenarios
- Documentation on the tests are located in the full documentation of the nodes themselves
Author
Owner

In the tests directory

In the tests directory
vincent marked this conversation as resolved
@@ -0,0 +1,147 @@
# TI Minor Grade Generator Design Document
Author
Owner

Same as readme? This section is also quite AI-y

Same as readme? This section is also quite AI-y
vincent marked this conversation as resolved
@@ -0,0 +25,4 @@
#### 1. FinalGradeDeterminator Node
**Namespace**: `assignments::one::final_grade_determinator`
**Brief Description**: Collects exam results, triggers grade calculation when thresholds are met, and stores final grades.
Author
Owner

ctrl f, replace **Brief Description** into > *x*, can use regex replace. Personal preference :}

ctrl f, replace `**Brief Description**` into `> *x*`, can use regex replace. Personal preference :}
@@ -0,0 +88,4 @@
#### Result
```
# Empty result section - completion indicates success
Author
Owner

Mohammad changed this in his branch

Mohammad changed this in his branch
vincent marked this conversation as resolved
@@ -0,0 +167,4 @@
## Related Documentation
- [System Architecture](../Orig.md): Overall system design and communication patterns
Author
Owner

Non-existant

Non-existant
vincent marked this conversation as resolved
@@ -0,0 +39,4 @@
- Logs final grade information
- Stores final course result in database
Author
Owner

Formatting

Formatting
vincent marked this conversation as resolved
@@ -0,0 +1,43 @@
## Installation
Author
Owner

I'd recommend having it in only the readme

I'd recommend having it in only the readme
vincent marked this conversation as resolved
@@ -0,0 +1,65 @@
Author
Owner

Formatting

Formatting
vincent marked this conversation as resolved
wessel added 1 commit 2025-10-08 20:05:01 +02:00
- Fixes the `is_retake` field on all tables
- Makes the `ExamResultGenerator` remove the enrollment from the table
if it is popped from its queue
- Added the option to submit a grade as retake
wessel added 1 commit 2025-10-08 20:21:05 +02:00
vincent added 2 commits 2025-10-09 13:25:59 +02:00
vincent merged commit 964795d770 into 1-grade-generator/master 2025-10-09 13:27:22 +02:00
Sign in to join this conversation.