-
Notifications
You must be signed in to change notification settings - Fork 55
VolumeT0
The T0 volume (named as VolumeT0) serves as a shared file system for all services. It has two primary purposes:
- To store the testable classes and their corresponding opponent robots;
- To preserve a copy of every compilation submitted by players, including related metrics, for each match played.
An example of the volume structure is shown below.
FolderTree
├── ClassUT
│ ├── OutputFormat
│ │ └── Evosuite
│ │ ├── coverage
│ │ │ └── 01Level
│ │ │ ├── coveragetot.xml
│ │ │ └── statistics.csv
│ │ └── project
│ │ └── 01Level
│ │ └── src
│ │ ├── main
│ │ │ └── java
│ │ │ └── OutputFormatSourceCode
│ │ │ └── OutputFormat.java
│ │ └── test
│ │ └── java
│ │ └── OutputFormatSourceCode
│ │ ├── OutputFormat_ESTest.java
│ │ └── OutputFormat_ESTest_scaffolding.java
│ └── unmodified_src
│ └── OutputFormat
│ └── OutputFormat.java
└── StudentTest
└── Player1
└── PartitaSingola
└── OutputFormat
├── 2025-05-12_13-07-40
│ └── Game1
│ └── Round1
│ └── Turn0
│ ├── coverage
│ │ ├── coveragetot.xml
│ │ └── statistics.csv
│ └── project
│ └── src
│ ├── java
│ │ └── main
│ │ └── OutputFormat.java
│ └── test
│ └── main
│ └── TestTestOutputFormat.java
├── 2025-05-12_13-08-22
│ └── Game1
│ └── Round1
│ └── Turn1
│ ├── coverage
│ │ ├── coveragetot.xml
│ │ └── statistics.csv
│ └── project
│ └── src
│ ├── java
│ │ └── main
│ │ └── OutputFormat.java
│ └── test
│ └── main
│ └── TestTestOutputFormat.java
└── 2025-05-12_13-10-07
└── Game1
└── Round1
└── Turn2
├── coverage
│ ├── coveragetot.xml
│ └── statistics.csv
└── project
└── src
├── java
│ └── main
│ └── OutputFormat.java
└── test
└── main
└── TestTestOutputFormat.javaThe volume is organized into two main directories under a common root folder, referred to as FolderTree:
-
StudentTest: this directory contains all the user-submitted compilations along with their corresponding results. Each compilation is stored in a path with the following structure:player_id/game_mode/compilation_timestamp/game_id/round_number/turn_number/
Each compilation directory includes:
- Coverage and mutation metrics generated by JaCoCo and EvoSuite (if compilation was successful);
- The user-written test, stored as a runnable Java project.
-
ClassUT: this directory stores the available robots (JUnit test class). Each robot is placed inside a subdirectory named after the class being tested and is organized into two subfolders:-
coverage: contains the coverage and mutation metrics results from JaCoCo and EvoSuite; -
project: contains the robot (JUnit test) structured as an executable Java project.
Additionally, the
unmodified_srcfolder holds a pristine copy of each class added to the system. These versions are used during gameplay and may differ from the versions inside the robots’projectdirectory. This is because robot test execution may require modifications to the class under test—for instance, placing it in a specific package to enable compatibility with the test suite. -
This Wiki presents the design documentation of the Testing-Game Web App Project. It is structured in several pages which describe:
- the Project Vision and the software requirements of the Web App;
- the Software Architecture by means of different Views (Package Diagrams, Components and Connectors, Deployment Diagram);
- for each Component of the Architecture, the main design decisions and detailed design documentation;
- Installation View;
- Testing documentation;
- New Features.