Skip to content
Merged

Rcc4 #187

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/rsts/handwritten/qsrs/qsrs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Supported QSRs
qtccs
qtcbcs
rcc2
rcc3
rcc4
rcc5
rcc8

Expand Down Expand Up @@ -41,7 +41,7 @@ Currently, the following QSRs are supported:
+----------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------------+----------------+
| **rcc2** | Region Connection Calculus 2 | :doc:`descr. <rcc2>` \| :mod:`api <qsrlib_qsrs.qsr_rcc2>` | [2]_ [3]_ |
+----------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------------+----------------+
| **rcc3** | Region Connection Calculus 3 | :doc:`descr. <rcc3>` \| :mod:`api <qsrlib_qsrs.qsr_rcc3>` | [2]_ [3]_ |
| **rcc4** | Region Connection Calculus 4 | :doc:`descr. <rcc4>` \| :mod:`api <qsrlib_qsrs.qsr_rcc4>` | [2]_ [3]_ |
+----------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------------+----------------+
| **rcc5** | Region Connection Calculus 5 | :doc:`descr. <rcc5>` \| :mod:`api <qsrlib_qsrs.qsr_rcc5>` | [2]_ [3]_ |
+----------------+---------------------------------------------------+---------------------------------------------------------------------------------------------------------+----------------+
Expand Down
2 changes: 0 additions & 2 deletions docs/rsts/handwritten/qsrs/rcc3.rst

This file was deleted.

69 changes: 69 additions & 0 deletions docs/rsts/handwritten/qsrs/rcc4.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@

Region Connection Calculus 4
============================

The Region Connection Calculus (RCC) [1]_ [2]_ is intended to serve for qualitative spatial representation and reasoning.
RCC abstractly describes regions (in Euclidean space, or in a topological space) by their possible relations to
each other.

RCC4 consists of 4 basic relations that are possible between two regions; it is a stripped down version
of :doc:`RCC8 <rcc8>`. The mapping from RCC8 to RCC4 can be seen below:


+------------+------------+
| RCC8 | RCC4 +
+============+============+
| dc | dc |
+------------+------------+
| ec | po |
+------------+ +
| po | |
+------------+------------+
| tpp | pp |
+------------+ +
| ntpp | |
+------------+ +
| eq | |
+------------+------------+
| tppi | ppi |
+------------+ +
| ntppi | |
+------------+------------+


Relations
---------

All the possible RCC4 relations between a blue object X and a red object Y are:

+-------------------+------------------------------------------------+-------------------------------------------------+
| Relation | Illustration | Interpretation +
+===================+================================================+=================================================+
| X **dc** Y | .. image:: ../images/rcc8_dc.png | X is disconnected from Y. |
+-------------------+------------------------------------------------+-------------------------------------------------+
| X **po** Y | .. image:: ../images/rcc8_ec.png | X is partially overlapping Y. |
+ +------------------------------------------------+ +
| | .. image:: ../images/rcc8_po.png | |
+-------------------+------------------------------------------------+-------------------------------------------------+
| X **pp** Y | .. image:: ../images/rcc8_tpp.png | X is a proper part of Y. |
+ +------------------------------------------------+ +
| | .. image:: ../images/rcc8_ntpp.png | |
+ +------------------------------------------------+ +
| | .. image:: ../images/rcc8_eq.png | |
+-------------------+------------------------------------------------+-------------------------------------------------+
| X **ppi** Y | .. image:: ../images/rcc8_tppi.png | X is a proper part inverse of Y. |
+ +------------------------------------------------+ +
| | .. image:: ../images/rcc8_ntppi.png | |
+-------------------+------------------------------------------------+-------------------------------------------------+


API
---

The API can be found :mod:`here <qsrlib_qsrs.qsr_rcc4>`.


References
----------
.. [1] Randell, D. A., Cui, Z. and Cohn, A. G.: A spatial logic based on regions and connection, Proc. 3rd Int. Conf. on Knowledge Representation and Reasoning, Morgan Kaufmann, San Mateo, pp. 165–176, 1992. `(link) <http://wenxion.net/ac/randell92spatial.pdf>`_
.. [2] Anthony G. Cohn, Brandon Bennett, John Gooday, Micholas Mark Gotts: Qualitative Spatial Representation and Reasoning with the Region Connection Calculus. GeoInformatica, 1, 275–316, 1997.
6 changes: 3 additions & 3 deletions docs/rsts/handwritten/qsrs/rcc5.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,19 @@ of :doc:`RCC8 <rcc8>`. The mapping from RCC8 to RCC5 can be seen below:
+------------+------------+
| RCC8 | RCC5 +
+============+============+
| dc | dr |
| dc | dr |
+------------+ +
| ec | |
+------------+------------+
| po | po |
+------------+------------+
| tpp | pp |
| tpp | pp |
+------------+ +
| ntpp | |
+------------+------------+
| eq | eq |
+------------+------------+
| tppi | ppi |
| tppi | ppi |
+------------+ +
| ntppi | |
+------------+------------+
Expand Down
1 change: 1 addition & 0 deletions qsr_lib/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ if (CATKIN_ENABLE_TESTING)
add_rostest(tests/ra_tester.test)
add_rostest(tests/rcc2_tester.test)
add_rostest(tests/rcc3_tester.test)
add_rostest(tests/rcc4_tester.test)
add_rostest(tests/rcc5_tester.test)
add_rostest(tests/rcc8_tester.test)
# add_rostest(tests/multiple_tester.test)
Expand Down
2 changes: 2 additions & 0 deletions qsr_lib/src/qsrlib_qsrs/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from qsr_rcc2 import QSR_RCC2
from qsr_rcc3_rectangle_bounding_boxes_2d import QSR_RCC3_Rectangle_Bounding_Boxes_2D
from qsr_rcc4 import QSR_RCC4
from qsr_rcc5 import QSR_RCC5
from qsr_rcc8 import QSR_RCC8
from qsr_cardinal_direction import QSR_Cardinal_Direction
Expand All @@ -15,6 +16,7 @@
# register new qsrs by class name below
qsrs_registry = (QSR_RCC2,
QSR_RCC3_Rectangle_Bounding_Boxes_2D,
QSR_RCC4,
QSR_RCC5,
QSR_RCC8,
QSR_Cardinal_Direction,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
class QSR_RCC3_Rectangle_Bounding_Boxes_2D(QSR_RCC_Abstractclass):
"""RCC3 relations.

.. warning::
RCC3 is deprecated. Use RCC4 instead.

Values of the abstract properties
* **_unique_id** = "rcc3"
* **_all_possible_relations** = ("dc", "po", "o")
Expand Down
26 changes: 26 additions & 0 deletions qsr_lib/src/qsrlib_qsrs/qsr_rcc4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# -*- coding: utf-8 -*-
from __future__ import print_function, division
from qsrlib_qsrs.qsr_rcc_abstractclass import QSR_RCC_Abstractclass


class QSR_RCC4(QSR_RCC_Abstractclass):
"""Computes symmetrical RCC4 relations"""

_unique_id = "rcc4"

_all_possible_relations = ("dc", "po", "pp", "ppi")

__mapping_from_rcc8 = {"dc": "dc",
"ec": "po",
"po": "po",
"tpp": "pp",
"ntpp": "pp",
"eq": "pp",
"tppi": "ppi",
"ntppi": "ppi"}

def __init__(self):
super(QSR_RCC4, self).__init__()

def _convert_to_requested_rcc_type(self, qsr):
return self.__mapping_from_rcc8[qsr]
20 changes: 20 additions & 0 deletions qsr_lib/tests/data/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,23 @@ and random float width and length (`random.randint(3, 6)`) (i.e. bounding boxes
but no width and length are given (i.e. no bounding boxes are provided).
* `data4.csv`: A set of 10K random float 2D-points (`random.uniform(0, 50)`) for 3 objects ("o1", "o2", "o3")
and random float width and length (`random.randint(3, 6)`) (i.e. bounding boxes are provided).

### Running the tests

```bash
rosrun qsr_lib unittests_generate_ground_truth.py -i <world name> -o <output filename> <qsr>
```

E.g.
```bash
rosrun qsr_lib unittests_generate_ground_truth.py -i data1 -o qsr_lib/tests/data/data1_rcc4_defaults.txt rcc4
```

`-i` options: data1 | data2 | data3 | data4

#### Types of generated data

* Defaults. E.g.
```bash
rosrun qsr_lib unittests_generate_ground_truth.py -i data1 -o qsr_lib/tests/data/data1_rcc4_defaults.txt rcc4
```
1 change: 1 addition & 0 deletions qsr_lib/tests/data/data1_rcc4_custom.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
["1.0,o1,o2,{'rcc4': 'po'}", "2.0,o1,o2,{'rcc4': 'po'}", "3.0,o1,o2,{'rcc4': 'po'}", "4.0,o1,o2,{'rcc4': 'po'}", "5.0,o1,o2,{'rcc4': 'po'}", "6.0,o1,o2,{'rcc4': 'po'}", "7.0,o1,o2,{'rcc4': 'po'}", "8.0,o1,o2,{'rcc4': 'po'}", "9.0,o1,o2,{'rcc4': 'po'}", "10.0,o1,o2,{'rcc4': 'po'}", "11.0,o1,o2,{'rcc4': 'po'}", "12.0,o1,o2,{'rcc4': 'po'}", "13.0,o1,o2,{'rcc4': 'po'}", "14.0,o1,o2,{'rcc4': 'po'}", "15.0,o1,o2,{'rcc4': 'po'}", "16.0,o1,o2,{'rcc4': 'po'}", "17.0,o1,o2,{'rcc4': 'po'}", "18.0,o1,o2,{'rcc4': 'po'}", "19.0,o1,o2,{'rcc4': 'po'}", "20.0,o1,o2,{'rcc4': 'po'}", "21.0,o1,o2,{'rcc4': 'po'}", "22.0,o1,o2,{'rcc4': 'po'}", "23.0,o1,o2,{'rcc4': 'po'}", "24.0,o1,o2,{'rcc4': 'po'}", "25.0,o1,o2,{'rcc4': 'pp'}", "26.0,o1,o2,{'rcc4': 'po'}", "27.0,o1,o2,{'rcc4': 'po'}", "28.0,o1,o2,{'rcc4': 'po'}", "29.0,o1,o2,{'rcc4': 'po'}", "30.0,o1,o2,{'rcc4': 'po'}", "31.0,o1,o2,{'rcc4': 'po'}", "32.0,o1,o2,{'rcc4': 'po'}", "33.0,o1,o2,{'rcc4': 'po'}", "34.0,o1,o2,{'rcc4': 'po'}", "35.0,o1,o2,{'rcc4': 'po'}", "36.0,o1,o2,{'rcc4': 'po'}", "37.0,o1,o2,{'rcc4': 'po'}", "38.0,o1,o2,{'rcc4': 'po'}", "39.0,o1,o2,{'rcc4': 'po'}", "40.0,o1,o2,{'rcc4': 'po'}", "41.0,o1,o2,{'rcc4': 'po'}", "42.0,o1,o2,{'rcc4': 'po'}", "43.0,o1,o2,{'rcc4': 'po'}", "44.0,o1,o2,{'rcc4': 'po'}", "45.0,o1,o2,{'rcc4': 'po'}", "46.0,o1,o2,{'rcc4': 'po'}", "47.0,o1,o2,{'rcc4': 'po'}", "48.0,o1,o2,{'rcc4': 'po'}", "49.0,o1,o2,{'rcc4': 'po'}"]
1 change: 1 addition & 0 deletions qsr_lib/tests/data/data1_rcc4_defaults.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
["1.0,o1,o2,{'rcc4': 'dc'}", "1.0,o2,o1,{'rcc4': 'dc'}", "2.0,o1,o2,{'rcc4': 'dc'}", "2.0,o2,o1,{'rcc4': 'dc'}", "3.0,o1,o2,{'rcc4': 'dc'}", "3.0,o2,o1,{'rcc4': 'dc'}", "4.0,o1,o2,{'rcc4': 'dc'}", "4.0,o2,o1,{'rcc4': 'dc'}", "5.0,o1,o2,{'rcc4': 'dc'}", "5.0,o2,o1,{'rcc4': 'dc'}", "6.0,o1,o2,{'rcc4': 'dc'}", "6.0,o2,o1,{'rcc4': 'dc'}", "7.0,o1,o2,{'rcc4': 'dc'}", "7.0,o2,o1,{'rcc4': 'dc'}", "8.0,o1,o2,{'rcc4': 'dc'}", "8.0,o2,o1,{'rcc4': 'dc'}", "9.0,o1,o2,{'rcc4': 'po'}", "9.0,o2,o1,{'rcc4': 'po'}", "10.0,o1,o2,{'rcc4': 'po'}", "10.0,o2,o1,{'rcc4': 'po'}", "11.0,o1,o2,{'rcc4': 'po'}", "11.0,o2,o1,{'rcc4': 'po'}", "12.0,o1,o2,{'rcc4': 'po'}", "12.0,o2,o1,{'rcc4': 'po'}", "13.0,o1,o2,{'rcc4': 'po'}", "13.0,o2,o1,{'rcc4': 'po'}", "14.0,o1,o2,{'rcc4': 'dc'}", "14.0,o2,o1,{'rcc4': 'dc'}", "15.0,o1,o2,{'rcc4': 'dc'}", "15.0,o2,o1,{'rcc4': 'dc'}", "16.0,o1,o2,{'rcc4': 'po'}", "16.0,o2,o1,{'rcc4': 'po'}", "17.0,o1,o2,{'rcc4': 'po'}", "17.0,o2,o1,{'rcc4': 'po'}", "18.0,o1,o2,{'rcc4': 'po'}", "18.0,o2,o1,{'rcc4': 'po'}", "19.0,o1,o2,{'rcc4': 'po'}", "19.0,o2,o1,{'rcc4': 'po'}", "20.0,o1,o2,{'rcc4': 'po'}", "20.0,o2,o1,{'rcc4': 'po'}", "21.0,o1,o2,{'rcc4': 'dc'}", "21.0,o2,o1,{'rcc4': 'dc'}", "22.0,o1,o2,{'rcc4': 'dc'}", "22.0,o2,o1,{'rcc4': 'dc'}", "23.0,o1,o2,{'rcc4': 'po'}", "23.0,o2,o1,{'rcc4': 'po'}", "24.0,o1,o2,{'rcc4': 'po'}", "24.0,o2,o1,{'rcc4': 'po'}", "25.0,o1,o2,{'rcc4': 'pp'}", "25.0,o2,o1,{'rcc4': 'pp'}", "26.0,o1,o2,{'rcc4': 'po'}", "26.0,o2,o1,{'rcc4': 'po'}", "27.0,o1,o2,{'rcc4': 'po'}", "27.0,o2,o1,{'rcc4': 'po'}", "28.0,o1,o2,{'rcc4': 'dc'}", "28.0,o2,o1,{'rcc4': 'dc'}", "29.0,o1,o2,{'rcc4': 'dc'}", "29.0,o2,o1,{'rcc4': 'dc'}", "30.0,o1,o2,{'rcc4': 'po'}", "30.0,o2,o1,{'rcc4': 'po'}", "31.0,o1,o2,{'rcc4': 'po'}", "31.0,o2,o1,{'rcc4': 'po'}", "32.0,o1,o2,{'rcc4': 'po'}", "32.0,o2,o1,{'rcc4': 'po'}", "33.0,o1,o2,{'rcc4': 'po'}", "33.0,o2,o1,{'rcc4': 'po'}", "34.0,o1,o2,{'rcc4': 'po'}", "34.0,o2,o1,{'rcc4': 'po'}", "35.0,o1,o2,{'rcc4': 'dc'}", "35.0,o2,o1,{'rcc4': 'dc'}", "36.0,o1,o2,{'rcc4': 'dc'}", "36.0,o2,o1,{'rcc4': 'dc'}", "37.0,o1,o2,{'rcc4': 'po'}", "37.0,o2,o1,{'rcc4': 'po'}", "38.0,o1,o2,{'rcc4': 'po'}", "38.0,o2,o1,{'rcc4': 'po'}", "39.0,o1,o2,{'rcc4': 'po'}", "39.0,o2,o1,{'rcc4': 'po'}", "40.0,o1,o2,{'rcc4': 'po'}", "40.0,o2,o1,{'rcc4': 'po'}", "41.0,o1,o2,{'rcc4': 'po'}", "41.0,o2,o1,{'rcc4': 'po'}", "42.0,o1,o2,{'rcc4': 'dc'}", "42.0,o2,o1,{'rcc4': 'dc'}", "43.0,o1,o2,{'rcc4': 'dc'}", "43.0,o2,o1,{'rcc4': 'dc'}", "44.0,o1,o2,{'rcc4': 'dc'}", "44.0,o2,o1,{'rcc4': 'dc'}", "45.0,o1,o2,{'rcc4': 'dc'}", "45.0,o2,o1,{'rcc4': 'dc'}", "46.0,o1,o2,{'rcc4': 'dc'}", "46.0,o2,o1,{'rcc4': 'dc'}", "47.0,o1,o2,{'rcc4': 'dc'}", "47.0,o2,o1,{'rcc4': 'dc'}", "48.0,o1,o2,{'rcc4': 'dc'}", "48.0,o2,o1,{'rcc4': 'dc'}", "49.0,o1,o2,{'rcc4': 'dc'}", "49.0,o2,o1,{'rcc4': 'dc'}"]
1 change: 1 addition & 0 deletions qsr_lib/tests/data/data1_rcc4_q_factor_2p0.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
["1.0,o1,o2,{'rcc4': 'po'}", "1.0,o2,o1,{'rcc4': 'po'}", "2.0,o1,o2,{'rcc4': 'po'}", "2.0,o2,o1,{'rcc4': 'po'}", "3.0,o1,o2,{'rcc4': 'po'}", "3.0,o2,o1,{'rcc4': 'po'}", "4.0,o1,o2,{'rcc4': 'po'}", "4.0,o2,o1,{'rcc4': 'po'}", "5.0,o1,o2,{'rcc4': 'po'}", "5.0,o2,o1,{'rcc4': 'po'}", "6.0,o1,o2,{'rcc4': 'po'}", "6.0,o2,o1,{'rcc4': 'po'}", "7.0,o1,o2,{'rcc4': 'po'}", "7.0,o2,o1,{'rcc4': 'po'}", "8.0,o1,o2,{'rcc4': 'po'}", "8.0,o2,o1,{'rcc4': 'po'}", "9.0,o1,o2,{'rcc4': 'po'}", "9.0,o2,o1,{'rcc4': 'po'}", "10.0,o1,o2,{'rcc4': 'po'}", "10.0,o2,o1,{'rcc4': 'po'}", "11.0,o1,o2,{'rcc4': 'po'}", "11.0,o2,o1,{'rcc4': 'po'}", "12.0,o1,o2,{'rcc4': 'po'}", "12.0,o2,o1,{'rcc4': 'po'}", "13.0,o1,o2,{'rcc4': 'po'}", "13.0,o2,o1,{'rcc4': 'po'}", "14.0,o1,o2,{'rcc4': 'po'}", "14.0,o2,o1,{'rcc4': 'po'}", "15.0,o1,o2,{'rcc4': 'po'}", "15.0,o2,o1,{'rcc4': 'po'}", "16.0,o1,o2,{'rcc4': 'po'}", "16.0,o2,o1,{'rcc4': 'po'}", "17.0,o1,o2,{'rcc4': 'po'}", "17.0,o2,o1,{'rcc4': 'po'}", "18.0,o1,o2,{'rcc4': 'po'}", "18.0,o2,o1,{'rcc4': 'po'}", "19.0,o1,o2,{'rcc4': 'po'}", "19.0,o2,o1,{'rcc4': 'po'}", "20.0,o1,o2,{'rcc4': 'po'}", "20.0,o2,o1,{'rcc4': 'po'}", "21.0,o1,o2,{'rcc4': 'po'}", "21.0,o2,o1,{'rcc4': 'po'}", "22.0,o1,o2,{'rcc4': 'po'}", "22.0,o2,o1,{'rcc4': 'po'}", "23.0,o1,o2,{'rcc4': 'po'}", "23.0,o2,o1,{'rcc4': 'po'}", "24.0,o1,o2,{'rcc4': 'po'}", "24.0,o2,o1,{'rcc4': 'po'}", "25.0,o1,o2,{'rcc4': 'pp'}", "25.0,o2,o1,{'rcc4': 'pp'}", "26.0,o1,o2,{'rcc4': 'po'}", "26.0,o2,o1,{'rcc4': 'po'}", "27.0,o1,o2,{'rcc4': 'po'}", "27.0,o2,o1,{'rcc4': 'po'}", "28.0,o1,o2,{'rcc4': 'po'}", "28.0,o2,o1,{'rcc4': 'po'}", "29.0,o1,o2,{'rcc4': 'po'}", "29.0,o2,o1,{'rcc4': 'po'}", "30.0,o1,o2,{'rcc4': 'po'}", "30.0,o2,o1,{'rcc4': 'po'}", "31.0,o1,o2,{'rcc4': 'po'}", "31.0,o2,o1,{'rcc4': 'po'}", "32.0,o1,o2,{'rcc4': 'po'}", "32.0,o2,o1,{'rcc4': 'po'}", "33.0,o1,o2,{'rcc4': 'po'}", "33.0,o2,o1,{'rcc4': 'po'}", "34.0,o1,o2,{'rcc4': 'po'}", "34.0,o2,o1,{'rcc4': 'po'}", "35.0,o1,o2,{'rcc4': 'po'}", "35.0,o2,o1,{'rcc4': 'po'}", "36.0,o1,o2,{'rcc4': 'po'}", "36.0,o2,o1,{'rcc4': 'po'}", "37.0,o1,o2,{'rcc4': 'po'}", "37.0,o2,o1,{'rcc4': 'po'}", "38.0,o1,o2,{'rcc4': 'po'}", "38.0,o2,o1,{'rcc4': 'po'}", "39.0,o1,o2,{'rcc4': 'po'}", "39.0,o2,o1,{'rcc4': 'po'}", "40.0,o1,o2,{'rcc4': 'po'}", "40.0,o2,o1,{'rcc4': 'po'}", "41.0,o1,o2,{'rcc4': 'po'}", "41.0,o2,o1,{'rcc4': 'po'}", "42.0,o1,o2,{'rcc4': 'po'}", "42.0,o2,o1,{'rcc4': 'po'}", "43.0,o1,o2,{'rcc4': 'po'}", "43.0,o2,o1,{'rcc4': 'po'}", "44.0,o1,o2,{'rcc4': 'po'}", "44.0,o2,o1,{'rcc4': 'po'}", "45.0,o1,o2,{'rcc4': 'po'}", "45.0,o2,o1,{'rcc4': 'po'}", "46.0,o1,o2,{'rcc4': 'po'}", "46.0,o2,o1,{'rcc4': 'po'}", "47.0,o1,o2,{'rcc4': 'po'}", "47.0,o2,o1,{'rcc4': 'po'}", "48.0,o1,o2,{'rcc4': 'po'}", "48.0,o2,o1,{'rcc4': 'po'}", "49.0,o1,o2,{'rcc4': 'po'}", "49.0,o2,o1,{'rcc4': 'po'}"]
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
["1.0,o2,o1,{'rcc4': 'dc'}", "2.0,o2,o1,{'rcc4': 'dc'}", "3.0,o2,o1,{'rcc4': 'dc'}", "4.0,o2,o1,{'rcc4': 'dc'}", "5.0,o2,o1,{'rcc4': 'dc'}", "6.0,o2,o1,{'rcc4': 'dc'}", "7.0,o2,o1,{'rcc4': 'dc'}", "8.0,o2,o1,{'rcc4': 'dc'}", "9.0,o2,o1,{'rcc4': 'po'}", "10.0,o2,o1,{'rcc4': 'po'}", "11.0,o2,o1,{'rcc4': 'po'}", "12.0,o2,o1,{'rcc4': 'po'}", "13.0,o2,o1,{'rcc4': 'po'}", "14.0,o2,o1,{'rcc4': 'dc'}", "15.0,o2,o1,{'rcc4': 'dc'}", "16.0,o2,o1,{'rcc4': 'po'}", "17.0,o2,o1,{'rcc4': 'po'}", "18.0,o2,o1,{'rcc4': 'po'}", "19.0,o2,o1,{'rcc4': 'po'}", "20.0,o2,o1,{'rcc4': 'po'}", "21.0,o2,o1,{'rcc4': 'dc'}", "22.0,o2,o1,{'rcc4': 'dc'}", "23.0,o2,o1,{'rcc4': 'po'}", "24.0,o2,o1,{'rcc4': 'po'}", "25.0,o2,o1,{'rcc4': 'pp'}", "26.0,o2,o1,{'rcc4': 'po'}", "27.0,o2,o1,{'rcc4': 'po'}", "28.0,o2,o1,{'rcc4': 'dc'}", "29.0,o2,o1,{'rcc4': 'dc'}", "30.0,o2,o1,{'rcc4': 'po'}", "31.0,o2,o1,{'rcc4': 'po'}", "32.0,o2,o1,{'rcc4': 'po'}", "33.0,o2,o1,{'rcc4': 'po'}", "34.0,o2,o1,{'rcc4': 'po'}", "35.0,o2,o1,{'rcc4': 'dc'}", "36.0,o2,o1,{'rcc4': 'dc'}", "37.0,o2,o1,{'rcc4': 'po'}", "38.0,o2,o1,{'rcc4': 'po'}", "39.0,o2,o1,{'rcc4': 'po'}", "40.0,o2,o1,{'rcc4': 'po'}", "41.0,o2,o1,{'rcc4': 'po'}", "42.0,o2,o1,{'rcc4': 'dc'}", "43.0,o2,o1,{'rcc4': 'dc'}", "44.0,o2,o1,{'rcc4': 'dc'}", "45.0,o2,o1,{'rcc4': 'dc'}", "46.0,o2,o1,{'rcc4': 'dc'}", "47.0,o2,o1,{'rcc4': 'dc'}", "48.0,o2,o1,{'rcc4': 'dc'}", "49.0,o2,o1,{'rcc4': 'dc'}"]
1 change: 1 addition & 0 deletions qsr_lib/tests/data/data1_rcc4_qsrs_for_qsr_namespace.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
["1.0,o1,o2,{'rcc4': 'dc'}", "2.0,o1,o2,{'rcc4': 'dc'}", "3.0,o1,o2,{'rcc4': 'dc'}", "4.0,o1,o2,{'rcc4': 'dc'}", "5.0,o1,o2,{'rcc4': 'dc'}", "6.0,o1,o2,{'rcc4': 'dc'}", "7.0,o1,o2,{'rcc4': 'dc'}", "8.0,o1,o2,{'rcc4': 'dc'}", "9.0,o1,o2,{'rcc4': 'po'}", "10.0,o1,o2,{'rcc4': 'po'}", "11.0,o1,o2,{'rcc4': 'po'}", "12.0,o1,o2,{'rcc4': 'po'}", "13.0,o1,o2,{'rcc4': 'po'}", "14.0,o1,o2,{'rcc4': 'dc'}", "15.0,o1,o2,{'rcc4': 'dc'}", "16.0,o1,o2,{'rcc4': 'po'}", "17.0,o1,o2,{'rcc4': 'po'}", "18.0,o1,o2,{'rcc4': 'po'}", "19.0,o1,o2,{'rcc4': 'po'}", "20.0,o1,o2,{'rcc4': 'po'}", "21.0,o1,o2,{'rcc4': 'dc'}", "22.0,o1,o2,{'rcc4': 'dc'}", "23.0,o1,o2,{'rcc4': 'po'}", "24.0,o1,o2,{'rcc4': 'po'}", "25.0,o1,o2,{'rcc4': 'pp'}", "26.0,o1,o2,{'rcc4': 'po'}", "27.0,o1,o2,{'rcc4': 'po'}", "28.0,o1,o2,{'rcc4': 'dc'}", "29.0,o1,o2,{'rcc4': 'dc'}", "30.0,o1,o2,{'rcc4': 'po'}", "31.0,o1,o2,{'rcc4': 'po'}", "32.0,o1,o2,{'rcc4': 'po'}", "33.0,o1,o2,{'rcc4': 'po'}", "34.0,o1,o2,{'rcc4': 'po'}", "35.0,o1,o2,{'rcc4': 'dc'}", "36.0,o1,o2,{'rcc4': 'dc'}", "37.0,o1,o2,{'rcc4': 'po'}", "38.0,o1,o2,{'rcc4': 'po'}", "39.0,o1,o2,{'rcc4': 'po'}", "40.0,o1,o2,{'rcc4': 'po'}", "41.0,o1,o2,{'rcc4': 'po'}", "42.0,o1,o2,{'rcc4': 'dc'}", "43.0,o1,o2,{'rcc4': 'dc'}", "44.0,o1,o2,{'rcc4': 'dc'}", "45.0,o1,o2,{'rcc4': 'dc'}", "46.0,o1,o2,{'rcc4': 'dc'}", "47.0,o1,o2,{'rcc4': 'dc'}", "48.0,o1,o2,{'rcc4': 'dc'}", "49.0,o1,o2,{'rcc4': 'dc'}"]
1 change: 1 addition & 0 deletions qsr_lib/tests/data/data2_rcc4_defaults.txt

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions qsr_lib/tests/data/data3_rcc4_defaults.txt

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions qsr_lib/tests/data/data4_rcc4_defaults.txt

Large diffs are not rendered by default.

Loading