This repository is intended as an incubating project for the development of the RPR FOM interoperability badge test cases. Currently it is only a draft and contains some initial implementation examples.
The test cases are designed to be used within the IVCT framework, but they can also be executed from within a JUnit test. Each test case is effectively a individual High Level Architecture (HLA) federate and will be connected to System under Test (SuT) via a HLA Run-Time Infrastructure (RTI).
The test cases are designed to verify a single interoperability requirement and they are grouped into test suites. The test suites are mapped to sub-projects, like the RPR_Entity. To build and start a specific test suite, the gradle build can be used like this:
.\gradlew :RPR_Entity:test
Individual test cases may be started with a test filter like this:
.\gradlew :RPR_Entity:test --tests TC_IR_RPR2_0008Test
The JUnit test pattern is widely used and most IDE will support them.
In order to verify if a RPR FOM federate can be considered standard compliant, several interoperability requirements have been defined. These requirements are structured groups, which are called badges. Such a badge stands for a certain compliance group. A federate is typically not using all of the RPR FOM elements and is therefor only compliant to a some of these badges.
The test suites are designed to test these Interoperability Requirements.
In order to ease the use of the extensive RPR FOM model elements, helper classes for using OMT object and interaction classes, as well as complex data types. Currently, only very few OMT helper elements are available.
The test suite modules are aligned with the RPR FOM modules.
In order to demonstrate and verify the interoperability test cases, a System under Test (SuT) is required. This repository contains a simple placeholder for such a SuT, which is the Aircraft federate.
The Aircraft federate can be build and started with the gradle build command:
.\gradlew :RefFedAircraft:run --args="-provokeFlyAircraft -federateName Flyer1"
The current test suite design uses the ServiceLoader interface feature of the IVCT framework. This is only available in the latest snapshot releases and not yet included in the production release. The current version requires Java 9 or higher.
Copyright 2022 NATO/OTAN
Licensed under the Apache License, Version 2.0