From 478e646a473b5f40c4feca0c063bd6df61591048 Mon Sep 17 00:00:00 2001 From: Jeremy Steele Date: Mon, 4 Jul 2022 11:55:36 -0400 Subject: [PATCH 1/3] Fix: add error for empty transfer count when leg group ids match --- fares_validator/errors.py | 1 + fares_validator/fare_transfer_rule_checkers.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/fares_validator/errors.py b/fares_validator/errors.py index 4f01d4b..b57b953 100644 --- a/fares_validator/errors.py +++ b/fares_validator/errors.py @@ -83,6 +83,7 @@ INVALID_FARE_TRANSFER_TYPE = 'An entry in fare_transfer_rules.txt has fare_transfer_type with invalid value.' INVALID_FROM_LEG_GROUP = 'A from_leg_group_id in fare_transfer_rules.txt is not defined in fare_leg_rules.txt.' INVALID_TRANSFER_COUNT = 'An entry in fare_transfer_rules.txt has transfer_count with incorrect type or invalid integer value.' +EMPTY_TRANSFER_COUNT = 'An entry in fare_transfer_rules.txt has no transfer_count defined, but the from_ and to_ leg_group_ids are the same.' INVALID_TO_LEG_GROUP = 'A to_leg_group_id in fare_transfer_rules.txt is not defined in fare_leg_rules.txt.' NONEXISTENT_FILTER_FARE_PRODUCT_ID = 'A filter_fare_product referenced is not defined in fare_products.txt.' TRANSFER_COUNT_WITH_BAD_LEGS = 'An entry in fare_transfer_rules.txt has transfer_count with different from and to leg group ids.' diff --git a/fares_validator/fare_transfer_rule_checkers.py b/fares_validator/fare_transfer_rule_checkers.py index e71fd7e..e546281 100644 --- a/fares_validator/fare_transfer_rule_checkers.py +++ b/fares_validator/fare_transfer_rule_checkers.py @@ -26,6 +26,8 @@ def check_transfer_count(line): line.add_error(INVALID_TRANSFER_COUNT) except ValueError: line.add_error(INVALID_TRANSFER_COUNT) + elif line.from_leg_group_id == line.to_leg_group_id: + line.add_error(EMPTY_TRANSFER_COUNT) def check_durations(line): From 5e553f0e6148f45406c95f7c6c9fc1b0c43aed56 Mon Sep 17 00:00:00 2001 From: Jeremy Steele Date: Mon, 4 Jul 2022 11:59:23 -0400 Subject: [PATCH 2/3] Fixtransfer_count tests --- .../bad_fare_transfer_rules/fare_transfer_rules.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/fares_validator/tests/test_data/bad_fare_transfer_rules/fare_transfer_rules.txt b/fares_validator/tests/test_data/bad_fare_transfer_rules/fare_transfer_rules.txt index bf82142..0f717dd 100644 --- a/fares_validator/tests/test_data/bad_fare_transfer_rules/fare_transfer_rules.txt +++ b/fares_validator/tests/test_data/bad_fare_transfer_rules/fare_transfer_rules.txt @@ -4,9 +4,9 @@ invalid_leg_group_id,1,1,,,,,,,,,,,,,1 1,,1,,,,2,,,,,,,,,1 1,1,1,,,,invalid_transfer_count,,,,,,,,,1 1,1,1,,,,0,,,,,,,,,1 -1,1,1,,,,,,,1,invalid_duration_limit_type,,,,,1 -1,1,1,,,,,,,1,,,,,,1 -1,1,1,,,,,,,invalid_duration_limit,1,,,,,1 -1,1,1,,,,,,,,1,,,,,1 -1,1,1,,,,,,,,,3.00,,,USD,invalid_fare_transfer_type -1,1,1,invalid_fare_product_id,,,,,,,,,,,, \ No newline at end of file +1,1,1,,,,1,,,1,invalid_duration_limit_type,,,,,1 +1,1,1,,,,1,,,1,,,,,,1 +1,1,1,,,,1,,,invalid_duration_limit,1,,,,,1 +1,1,1,,,,1,,,,1,,,,,1 +1,1,1,,,,1,,,,,3.00,,,USD,invalid_fare_transfer_type +1,1,1,invalid_fare_product_id,,,1,,,,,,,,, \ No newline at end of file From 05baef1f5d647a200d2537e8e2ab5fd5e2323d36 Mon Sep 17 00:00:00 2001 From: Jeremy Steele Date: Mon, 4 Jul 2022 12:02:39 -0400 Subject: [PATCH 3/3] bump version --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 5a271c2..192b0ef 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ setup( name='gtfs-fares-v2-validator', - version='1.1.1', + version='1.1.2', description= 'Validate transit feeds for conformance to the GTFS Fares v2 specification', url='https://github.com/TransitApp/gtfs-fares-v2-validator',