{"abstract":"Pay-by-plate invoice and tag discount returns a wrong result when a single invoice fee is added regardless of invoices.","category":"Toll and parking fee computation","checks":8,"contract":"Input {trips: [[day (0-based), base cents, tag|plate|exempt]], plate_surcharge_pct, tag_discount_pct, invoice_fee, cycle_days}. Exempt trips are ignored. Tag trips pay base minus a discount floored to cents. Plate trips pay base plus a surcharge rounded up to cents and are grouped into invoices by billing period day // cycle_days; each invoice adds one invoice_fee to the plate total. Return {tag, plate, invoices}.","evaluation_group":"w2-toll_and_parking_fee_computation-plate-invoice","failed_approach":"One flat fee ignores multiple invoice periods and charges accounts with no plate trips.","family":"w2-toll_and_parking_fee_computation-plate-invoice-invoice-fee","id":"FA-68606","implementations":{"attempt":{"sha256":"9a6e0b0dfc70551a7d531c9e80d234dad58bfb04b98880e0884a560ee3b51783","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    tag = plate = 0\n    periods = set()\n    for day, base, method in x['trips']:\n        if method == 'exempt':\n            continue\n        if method == 'tag':\n            tag += base - base * x['tag_discount_pct'] // 100\n        else:\n            plate += base + -(-base * x['plate_surcharge_pct'] // 100)\n            periods.add(day // x['cycle_days'])\n    fees = len(periods) * x['invoice_fee']\n    return {'tag': tag, 'plate': plate + x['invoice_fee'], 'invoices': len(periods)}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[({'trips': [[25, 175, 'exempt'], [34, 410, 'plate'], [15, 250, 'plate'], [87, 175, 'exempt'], [2, 175, 'tag'], [22, 250, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 200, 'cycle_days': 31}, {'tag': 405, 'plate': 1292, 'invoices': 2}), ({'trips': [[94, 250, 'exempt'], [10, 410, 'tag'], [27, 333, 'plate'], [90, 175, 'plate'], [20, 410, 'plate'], [82, 525, 'tag']], 'plate_surcharge_pct': 25, 'tag_discount_pct': 15, 'invoice_fee': 200, 'cycle_days': 31}, {'tag': 796, 'plate': 1549, 'invoices': 2}), ({'trips': [[93, 333, 'tag'], [94, 333, 'tag'], [77, 333, 'tag'], [35, 175, 'exempt'], [63, 333, 'exempt'], [46, 175, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 200, 'cycle_days': 31}, {'tag': 1118, 'plate': 0, 'invoices': 0}), ({'trips': [[14, 410, 'plate'], [57, 333, 'exempt'], [15, 175, 'plate']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 150, 'cycle_days': 31}, {'tag': 0, 'plate': 941, 'invoices': 1}), ({'trips': [[29, 250, 'plate'], [30, 250, 'plate'], [5, 333, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 284, 'plate': 1076, 'invoices': 2}), ({'trips': [[72, 175, 'plate'], [36, 333, 'tag'], [69, 525, 'tag'], [34, 525, 'tag'], [42, 525, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 15, 'invoice_fee': 400, 'cycle_days': 31}, {'tag': 1625, 'plate': 663, 'invoices': 1}), ({'trips': [[3, 410, 'exempt'], [4, 410, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 369, 'plate': 0, 'invoices': 0}), ({'trips': [[30, 175, 'tag'], [60, 525, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 596, 'plate': 0, 'invoices': 0})], [({'trips': [[67, 410, 'plate'], [33, 410, 'tag'], [41, 250, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 10, 'invoice_fee': 400, 'cycle_days': 31}, {'tag': 594, 'plate': 1015, 'invoices': 1}), ({'trips': [[60, 175, 'tag'], [33, 333, 'exempt'], [92, 410, 'plate'], [20, 333, 'tag'], [34, 525, 'tag'], [54, 250, 'tag'], [60, 525, 'exempt']], 'plate_surcharge_pct': 25, 'tag_discount_pct': 5, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 1221, 'plate': 713, 'invoices': 1}), ({'trips': [[3, 525, 'tag'], [27, 525, 'tag'], [24, 333, 'exempt'], [25, 250, 'plate'], [17, 175, 'exempt'], [40, 175, 'plate'], [92, 410, 'exempt'], [0, 410, 'tag']], 'plate_surcharge_pct': 25, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 1315, 'plate': 932, 'invoices': 2}), ({'trips': [[49, 410, 'exempt'], [6, 525, 'plate']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 15, 'invoice_fee': 400, 'cycle_days': 31}, {'tag': 0, 'plate': 1188, 'invoices': 1}), ({'trips': [[21, 410, 'plate'], [90, 250, 'plate'], [6, 250, 'tag'], [80, 525, 'tag']], 'plate_surcharge_pct': 25, 'tag_discount_pct': 15, 'invoice_fee': 150, 'cycle_days': 30}, {'tag': 660, 'plate': 1126, 'invoices': 2}), ({'trips': [[3, 410, 'exempt'], [4, 410, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 369, 'plate': 0, 'invoices': 0}), ({'trips': [[69, 410, 'plate'], [79, 410, 'plate'], [50, 175, 'tag'], [1, 333, 'plate'], [78, 250, 'tag'], [95, 175, 'exempt'], [93, 175, 'tag'], [68, 175, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 5, 'invoice_fee': 200, 'cycle_days': 31}, {'tag': 739, 'plate': 2130, 'invoices': 2}), ({'trips': [[29, 250, 'plate'], [30, 250, 'plate'], [5, 333, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 284, 'plate': 1076, 'invoices': 2})], [({'trips': [[20, 333, 'tag'], [29, 175, 'plate'], [74, 410, 'plate'], [22, 250, 'plate'], [2, 525, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 150, 'cycle_days': 31}, {'tag': 816, 'plate': 1429, 'invoices': 2}), ({'trips': [[29, 250, 'plate'], [30, 250, 'plate'], [5, 333, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 284, 'plate': 1076, 'invoices': 2}), ({'trips': [[85, 175, 'tag'], [52, 410, 'plate']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 15, 'invoice_fee': 150, 'cycle_days': 31}, {'tag': 149, 'plate': 765, 'invoices': 1}), ({'trips': [[3, 410, 'exempt'], [4, 410, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 369, 'plate': 0, 'invoices': 0}), ({'trips': [[46, 250, 'plate'], [53, 175, 'exempt'], [25, 333, 'plate'], [61, 250, 'exempt'], [80, 333, 'exempt'], [54, 525, 'tag'], [88, 175, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 150, 'cycle_days': 31}, {'tag': 666, 'plate': 1088, 'invoices': 2}), ({'trips': [[40, 250, 'tag'], [88, 175, 'exempt'], [93, 410, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 150, 'cycle_days': 30}, {'tag': 628, 'plate': 0, 'invoices': 0}), ({'trips': [[2, 333, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 5, 'invoice_fee': 150, 'cycle_days': 30}, {'tag': 317, 'plate': 0, 'invoices': 0}), ({'trips': [[28, 333, 'exempt']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 10, 'invoice_fee': 400, 'cycle_days': 31}, {'tag': 0, 'plate': 0, 'invoices': 0})], [({'trips': [[3, 410, 'exempt'], [4, 410, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 369, 'plate': 0, 'invoices': 0}), ({'trips': [[29, 250, 'plate'], [30, 250, 'plate'], [5, 333, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 284, 'plate': 1076, 'invoices': 2}), ({'trips': [[50, 250, 'tag'], [32, 410, 'exempt'], [37, 525, 'plate'], [58, 333, 'plate'], [45, 250, 'plate'], [20, 525, 'exempt']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 5, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 238, 'plate': 1863, 'invoices': 1}), ({'trips': [[63, 525, 'plate'], [69, 250, 'exempt'], [43, 175, 'plate'], [45, 333, 'plate'], [25, 175, 'exempt'], [63, 333, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 300, 'plate': 1951, 'invoices': 2}), ({'trips': [[6, 333, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 5, 'invoice_fee': 150, 'cycle_days': 30}, {'tag': 317, 'plate': 0, 'invoices': 0}), ({'trips': [[42, 410, 'tag'], [26, 250, 'plate'], [17, 525, 'plate']], 'plate_surcharge_pct': 25, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 369, 'plate': 1170, 'invoices': 1}), ({'trips': [[65, 410, 'exempt'], [81, 175, 'tag'], [49, 525, 'tag'], [41, 410, 'tag'], [37, 525, 'tag'], [51, 333, 'tag'], [1, 250, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 150, 'cycle_days': 31}, {'tag': 1889, 'plate': 0, 'invoices': 0}), ({'trips': [[40, 175, 'tag'], [49, 525, 'tag'], [43, 175, 'plate'], [3, 250, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 200, 'cycle_days': 31}, {'tag': 904, 'plate': 437, 'invoices': 1})], [({'trips': [[69, 175, 'exempt']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 400, 'cycle_days': 31}, {'tag': 0, 'plate': 0, 'invoices': 0}), ({'trips': [[3, 250, 'tag'], [58, 333, 'tag'], [42, 525, 'tag'], [72, 175, 'exempt'], [25, 175, 'tag'], [73, 410, 'plate']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 31}, {'tag': 1156, 'plate': 754, 'invoices': 1}), ({'trips': [[39, 250, 'exempt'], [93, 410, 'plate'], [0, 333, 'plate'], [7, 525, 'tag'], [48, 333, 'tag'], [53, 175, 'plate']], 'plate_surcharge_pct': 25, 'tag_discount_pct': 10, 'invoice_fee': 150, 'cycle_days': 30}, {'tag': 773, 'plate': 1599, 'invoices': 3}), ({'trips': [[47, 175, 'tag'], [51, 525, 'exempt'], [26, 333, 'plate'], [37, 250, 'exempt'], [1, 250, 'exempt'], [61, 333, 'tag'], [11, 333, 'tag'], [69, 175, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 10, 'invoice_fee': 400, 'cycle_days': 31}, {'tag': 916, 'plate': 850, 'invoices': 1}), ({'trips': [[72, 525, 'tag'], [84, 175, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 15, 'invoice_fee': 400, 'cycle_days': 31}, {'tag': 596, 'plate': 0, 'invoices': 0}), ({'trips': [[81, 333, 'plate'], [52, 410, 'tag'], [43, 175, 'plate'], [72, 525, 'tag'], [45, 525, 'plate'], [20, 525, 'plate'], [43, 250, 'plate'], [28, 333, 'plate']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 200, 'cycle_days': 31}, {'tag': 889, 'plate': 3493, 'invoices': 3}), ({'trips': [[3, 410, 'exempt'], [4, 410, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 369, 'plate': 0, 'invoices': 0}), ({'trips': [[29, 250, 'plate'], [30, 250, 'plate'], [5, 333, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 284, 'plate': 1076, 'invoices': 2})]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check('fee oracle' + ' %d' % i, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"b17285a7b7b17ef269b322f9f13a07f6d50b33d851971853b3e9bd8d719e27d8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    tag = plate = 0\n    periods = set()\n    for day, base, method in x['trips']:\n        if method == 'exempt':\n            continue\n        if method == 'tag':\n            tag += base - base * x['tag_discount_pct'] // 100\n        else:\n            plate += base + -(-base * x['plate_surcharge_pct'] // 100)\n            periods.add(day // x['cycle_days'])\n    fees = len(periods) * x['invoice_fee']\n    return {'tag': tag, 'plate': plate, 'invoices': len(periods)}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[({'trips': [[25, 175, 'exempt'], [34, 410, 'plate'], [15, 250, 'plate'], [87, 175, 'exempt'], [2, 175, 'tag'], [22, 250, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 200, 'cycle_days': 31}, {'tag': 405, 'plate': 1292, 'invoices': 2}), ({'trips': [[94, 250, 'exempt'], [10, 410, 'tag'], [27, 333, 'plate'], [90, 175, 'plate'], [20, 410, 'plate'], [82, 525, 'tag']], 'plate_surcharge_pct': 25, 'tag_discount_pct': 15, 'invoice_fee': 200, 'cycle_days': 31}, {'tag': 796, 'plate': 1549, 'invoices': 2}), ({'trips': [[93, 333, 'tag'], [94, 333, 'tag'], [77, 333, 'tag'], [35, 175, 'exempt'], [63, 333, 'exempt'], [46, 175, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 200, 'cycle_days': 31}, {'tag': 1118, 'plate': 0, 'invoices': 0}), ({'trips': [[14, 410, 'plate'], [57, 333, 'exempt'], [15, 175, 'plate']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 150, 'cycle_days': 31}, {'tag': 0, 'plate': 941, 'invoices': 1}), ({'trips': [[29, 250, 'plate'], [30, 250, 'plate'], [5, 333, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 284, 'plate': 1076, 'invoices': 2}), ({'trips': [[72, 175, 'plate'], [36, 333, 'tag'], [69, 525, 'tag'], [34, 525, 'tag'], [42, 525, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 15, 'invoice_fee': 400, 'cycle_days': 31}, {'tag': 1625, 'plate': 663, 'invoices': 1}), ({'trips': [[3, 410, 'exempt'], [4, 410, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 369, 'plate': 0, 'invoices': 0}), ({'trips': [[30, 175, 'tag'], [60, 525, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 596, 'plate': 0, 'invoices': 0})], [({'trips': [[67, 410, 'plate'], [33, 410, 'tag'], [41, 250, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 10, 'invoice_fee': 400, 'cycle_days': 31}, {'tag': 594, 'plate': 1015, 'invoices': 1}), ({'trips': [[60, 175, 'tag'], [33, 333, 'exempt'], [92, 410, 'plate'], [20, 333, 'tag'], [34, 525, 'tag'], [54, 250, 'tag'], [60, 525, 'exempt']], 'plate_surcharge_pct': 25, 'tag_discount_pct': 5, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 1221, 'plate': 713, 'invoices': 1}), ({'trips': [[3, 525, 'tag'], [27, 525, 'tag'], [24, 333, 'exempt'], [25, 250, 'plate'], [17, 175, 'exempt'], [40, 175, 'plate'], [92, 410, 'exempt'], [0, 410, 'tag']], 'plate_surcharge_pct': 25, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 1315, 'plate': 932, 'invoices': 2}), ({'trips': [[49, 410, 'exempt'], [6, 525, 'plate']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 15, 'invoice_fee': 400, 'cycle_days': 31}, {'tag': 0, 'plate': 1188, 'invoices': 1}), ({'trips': [[21, 410, 'plate'], [90, 250, 'plate'], [6, 250, 'tag'], [80, 525, 'tag']], 'plate_surcharge_pct': 25, 'tag_discount_pct': 15, 'invoice_fee': 150, 'cycle_days': 30}, {'tag': 660, 'plate': 1126, 'invoices': 2}), ({'trips': [[3, 410, 'exempt'], [4, 410, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 369, 'plate': 0, 'invoices': 0}), ({'trips': [[69, 410, 'plate'], [79, 410, 'plate'], [50, 175, 'tag'], [1, 333, 'plate'], [78, 250, 'tag'], [95, 175, 'exempt'], [93, 175, 'tag'], [68, 175, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 5, 'invoice_fee': 200, 'cycle_days': 31}, {'tag': 739, 'plate': 2130, 'invoices': 2}), ({'trips': [[29, 250, 'plate'], [30, 250, 'plate'], [5, 333, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 284, 'plate': 1076, 'invoices': 2})], [({'trips': [[20, 333, 'tag'], [29, 175, 'plate'], [74, 410, 'plate'], [22, 250, 'plate'], [2, 525, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 150, 'cycle_days': 31}, {'tag': 816, 'plate': 1429, 'invoices': 2}), ({'trips': [[29, 250, 'plate'], [30, 250, 'plate'], [5, 333, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 284, 'plate': 1076, 'invoices': 2}), ({'trips': [[85, 175, 'tag'], [52, 410, 'plate']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 15, 'invoice_fee': 150, 'cycle_days': 31}, {'tag': 149, 'plate': 765, 'invoices': 1}), ({'trips': [[3, 410, 'exempt'], [4, 410, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 369, 'plate': 0, 'invoices': 0}), ({'trips': [[46, 250, 'plate'], [53, 175, 'exempt'], [25, 333, 'plate'], [61, 250, 'exempt'], [80, 333, 'exempt'], [54, 525, 'tag'], [88, 175, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 150, 'cycle_days': 31}, {'tag': 666, 'plate': 1088, 'invoices': 2}), ({'trips': [[40, 250, 'tag'], [88, 175, 'exempt'], [93, 410, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 150, 'cycle_days': 30}, {'tag': 628, 'plate': 0, 'invoices': 0}), ({'trips': [[2, 333, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 5, 'invoice_fee': 150, 'cycle_days': 30}, {'tag': 317, 'plate': 0, 'invoices': 0}), ({'trips': [[28, 333, 'exempt']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 10, 'invoice_fee': 400, 'cycle_days': 31}, {'tag': 0, 'plate': 0, 'invoices': 0})], [({'trips': [[3, 410, 'exempt'], [4, 410, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 369, 'plate': 0, 'invoices': 0}), ({'trips': [[29, 250, 'plate'], [30, 250, 'plate'], [5, 333, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 284, 'plate': 1076, 'invoices': 2}), ({'trips': [[50, 250, 'tag'], [32, 410, 'exempt'], [37, 525, 'plate'], [58, 333, 'plate'], [45, 250, 'plate'], [20, 525, 'exempt']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 5, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 238, 'plate': 1863, 'invoices': 1}), ({'trips': [[63, 525, 'plate'], [69, 250, 'exempt'], [43, 175, 'plate'], [45, 333, 'plate'], [25, 175, 'exempt'], [63, 333, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 300, 'plate': 1951, 'invoices': 2}), ({'trips': [[6, 333, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 5, 'invoice_fee': 150, 'cycle_days': 30}, {'tag': 317, 'plate': 0, 'invoices': 0}), ({'trips': [[42, 410, 'tag'], [26, 250, 'plate'], [17, 525, 'plate']], 'plate_surcharge_pct': 25, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 369, 'plate': 1170, 'invoices': 1}), ({'trips': [[65, 410, 'exempt'], [81, 175, 'tag'], [49, 525, 'tag'], [41, 410, 'tag'], [37, 525, 'tag'], [51, 333, 'tag'], [1, 250, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 150, 'cycle_days': 31}, {'tag': 1889, 'plate': 0, 'invoices': 0}), ({'trips': [[40, 175, 'tag'], [49, 525, 'tag'], [43, 175, 'plate'], [3, 250, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 200, 'cycle_days': 31}, {'tag': 904, 'plate': 437, 'invoices': 1})], [({'trips': [[69, 175, 'exempt']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 400, 'cycle_days': 31}, {'tag': 0, 'plate': 0, 'invoices': 0}), ({'trips': [[3, 250, 'tag'], [58, 333, 'tag'], [42, 525, 'tag'], [72, 175, 'exempt'], [25, 175, 'tag'], [73, 410, 'plate']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 31}, {'tag': 1156, 'plate': 754, 'invoices': 1}), ({'trips': [[39, 250, 'exempt'], [93, 410, 'plate'], [0, 333, 'plate'], [7, 525, 'tag'], [48, 333, 'tag'], [53, 175, 'plate']], 'plate_surcharge_pct': 25, 'tag_discount_pct': 10, 'invoice_fee': 150, 'cycle_days': 30}, {'tag': 773, 'plate': 1599, 'invoices': 3}), ({'trips': [[47, 175, 'tag'], [51, 525, 'exempt'], [26, 333, 'plate'], [37, 250, 'exempt'], [1, 250, 'exempt'], [61, 333, 'tag'], [11, 333, 'tag'], [69, 175, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 10, 'invoice_fee': 400, 'cycle_days': 31}, {'tag': 916, 'plate': 850, 'invoices': 1}), ({'trips': [[72, 525, 'tag'], [84, 175, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 15, 'invoice_fee': 400, 'cycle_days': 31}, {'tag': 596, 'plate': 0, 'invoices': 0}), ({'trips': [[81, 333, 'plate'], [52, 410, 'tag'], [43, 175, 'plate'], [72, 525, 'tag'], [45, 525, 'plate'], [20, 525, 'plate'], [43, 250, 'plate'], [28, 333, 'plate']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 200, 'cycle_days': 31}, {'tag': 889, 'plate': 3493, 'invoices': 3}), ({'trips': [[3, 410, 'exempt'], [4, 410, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 369, 'plate': 0, 'invoices': 0}), ({'trips': [[29, 250, 'plate'], [30, 250, 'plate'], [5, 333, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 284, 'plate': 1076, 'invoices': 2})]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check('fee oracle' + ' %d' % i, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"6b52432db7efdbd1336a77bc5263fdab8465deb0e33bdbe4f3c783972744e257","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    tag = plate = 0\n    periods = set()\n    for day, base, method in x['trips']:\n        if method == 'exempt':\n            continue\n        if method == 'tag':\n            tag += base - base * x['tag_discount_pct'] // 100\n        else:\n            plate += base + -(-base * x['plate_surcharge_pct'] // 100)\n            periods.add(day // x['cycle_days'])\n    fees = len(periods) * x['invoice_fee']\n    return {'tag': tag, 'plate': plate + fees, 'invoices': len(periods)}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[({'trips': [[25, 175, 'exempt'], [34, 410, 'plate'], [15, 250, 'plate'], [87, 175, 'exempt'], [2, 175, 'tag'], [22, 250, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 200, 'cycle_days': 31}, {'tag': 405, 'plate': 1292, 'invoices': 2}), ({'trips': [[94, 250, 'exempt'], [10, 410, 'tag'], [27, 333, 'plate'], [90, 175, 'plate'], [20, 410, 'plate'], [82, 525, 'tag']], 'plate_surcharge_pct': 25, 'tag_discount_pct': 15, 'invoice_fee': 200, 'cycle_days': 31}, {'tag': 796, 'plate': 1549, 'invoices': 2}), ({'trips': [[93, 333, 'tag'], [94, 333, 'tag'], [77, 333, 'tag'], [35, 175, 'exempt'], [63, 333, 'exempt'], [46, 175, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 200, 'cycle_days': 31}, {'tag': 1118, 'plate': 0, 'invoices': 0}), ({'trips': [[14, 410, 'plate'], [57, 333, 'exempt'], [15, 175, 'plate']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 150, 'cycle_days': 31}, {'tag': 0, 'plate': 941, 'invoices': 1}), ({'trips': [[29, 250, 'plate'], [30, 250, 'plate'], [5, 333, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 284, 'plate': 1076, 'invoices': 2}), ({'trips': [[72, 175, 'plate'], [36, 333, 'tag'], [69, 525, 'tag'], [34, 525, 'tag'], [42, 525, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 15, 'invoice_fee': 400, 'cycle_days': 31}, {'tag': 1625, 'plate': 663, 'invoices': 1}), ({'trips': [[3, 410, 'exempt'], [4, 410, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 369, 'plate': 0, 'invoices': 0}), ({'trips': [[30, 175, 'tag'], [60, 525, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 596, 'plate': 0, 'invoices': 0})], [({'trips': [[67, 410, 'plate'], [33, 410, 'tag'], [41, 250, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 10, 'invoice_fee': 400, 'cycle_days': 31}, {'tag': 594, 'plate': 1015, 'invoices': 1}), ({'trips': [[60, 175, 'tag'], [33, 333, 'exempt'], [92, 410, 'plate'], [20, 333, 'tag'], [34, 525, 'tag'], [54, 250, 'tag'], [60, 525, 'exempt']], 'plate_surcharge_pct': 25, 'tag_discount_pct': 5, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 1221, 'plate': 713, 'invoices': 1}), ({'trips': [[3, 525, 'tag'], [27, 525, 'tag'], [24, 333, 'exempt'], [25, 250, 'plate'], [17, 175, 'exempt'], [40, 175, 'plate'], [92, 410, 'exempt'], [0, 410, 'tag']], 'plate_surcharge_pct': 25, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 1315, 'plate': 932, 'invoices': 2}), ({'trips': [[49, 410, 'exempt'], [6, 525, 'plate']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 15, 'invoice_fee': 400, 'cycle_days': 31}, {'tag': 0, 'plate': 1188, 'invoices': 1}), ({'trips': [[21, 410, 'plate'], [90, 250, 'plate'], [6, 250, 'tag'], [80, 525, 'tag']], 'plate_surcharge_pct': 25, 'tag_discount_pct': 15, 'invoice_fee': 150, 'cycle_days': 30}, {'tag': 660, 'plate': 1126, 'invoices': 2}), ({'trips': [[3, 410, 'exempt'], [4, 410, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 369, 'plate': 0, 'invoices': 0}), ({'trips': [[69, 410, 'plate'], [79, 410, 'plate'], [50, 175, 'tag'], [1, 333, 'plate'], [78, 250, 'tag'], [95, 175, 'exempt'], [93, 175, 'tag'], [68, 175, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 5, 'invoice_fee': 200, 'cycle_days': 31}, {'tag': 739, 'plate': 2130, 'invoices': 2}), ({'trips': [[29, 250, 'plate'], [30, 250, 'plate'], [5, 333, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 284, 'plate': 1076, 'invoices': 2})], [({'trips': [[20, 333, 'tag'], [29, 175, 'plate'], [74, 410, 'plate'], [22, 250, 'plate'], [2, 525, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 150, 'cycle_days': 31}, {'tag': 816, 'plate': 1429, 'invoices': 2}), ({'trips': [[29, 250, 'plate'], [30, 250, 'plate'], [5, 333, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 284, 'plate': 1076, 'invoices': 2}), ({'trips': [[85, 175, 'tag'], [52, 410, 'plate']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 15, 'invoice_fee': 150, 'cycle_days': 31}, {'tag': 149, 'plate': 765, 'invoices': 1}), ({'trips': [[3, 410, 'exempt'], [4, 410, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 369, 'plate': 0, 'invoices': 0}), ({'trips': [[46, 250, 'plate'], [53, 175, 'exempt'], [25, 333, 'plate'], [61, 250, 'exempt'], [80, 333, 'exempt'], [54, 525, 'tag'], [88, 175, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 150, 'cycle_days': 31}, {'tag': 666, 'plate': 1088, 'invoices': 2}), ({'trips': [[40, 250, 'tag'], [88, 175, 'exempt'], [93, 410, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 150, 'cycle_days': 30}, {'tag': 628, 'plate': 0, 'invoices': 0}), ({'trips': [[2, 333, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 5, 'invoice_fee': 150, 'cycle_days': 30}, {'tag': 317, 'plate': 0, 'invoices': 0}), ({'trips': [[28, 333, 'exempt']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 10, 'invoice_fee': 400, 'cycle_days': 31}, {'tag': 0, 'plate': 0, 'invoices': 0})], [({'trips': [[3, 410, 'exempt'], [4, 410, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 369, 'plate': 0, 'invoices': 0}), ({'trips': [[29, 250, 'plate'], [30, 250, 'plate'], [5, 333, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 284, 'plate': 1076, 'invoices': 2}), ({'trips': [[50, 250, 'tag'], [32, 410, 'exempt'], [37, 525, 'plate'], [58, 333, 'plate'], [45, 250, 'plate'], [20, 525, 'exempt']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 5, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 238, 'plate': 1863, 'invoices': 1}), ({'trips': [[63, 525, 'plate'], [69, 250, 'exempt'], [43, 175, 'plate'], [45, 333, 'plate'], [25, 175, 'exempt'], [63, 333, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 300, 'plate': 1951, 'invoices': 2}), ({'trips': [[6, 333, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 5, 'invoice_fee': 150, 'cycle_days': 30}, {'tag': 317, 'plate': 0, 'invoices': 0}), ({'trips': [[42, 410, 'tag'], [26, 250, 'plate'], [17, 525, 'plate']], 'plate_surcharge_pct': 25, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 369, 'plate': 1170, 'invoices': 1}), ({'trips': [[65, 410, 'exempt'], [81, 175, 'tag'], [49, 525, 'tag'], [41, 410, 'tag'], [37, 525, 'tag'], [51, 333, 'tag'], [1, 250, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 150, 'cycle_days': 31}, {'tag': 1889, 'plate': 0, 'invoices': 0}), ({'trips': [[40, 175, 'tag'], [49, 525, 'tag'], [43, 175, 'plate'], [3, 250, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 200, 'cycle_days': 31}, {'tag': 904, 'plate': 437, 'invoices': 1})], [({'trips': [[69, 175, 'exempt']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 400, 'cycle_days': 31}, {'tag': 0, 'plate': 0, 'invoices': 0}), ({'trips': [[3, 250, 'tag'], [58, 333, 'tag'], [42, 525, 'tag'], [72, 175, 'exempt'], [25, 175, 'tag'], [73, 410, 'plate']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 31}, {'tag': 1156, 'plate': 754, 'invoices': 1}), ({'trips': [[39, 250, 'exempt'], [93, 410, 'plate'], [0, 333, 'plate'], [7, 525, 'tag'], [48, 333, 'tag'], [53, 175, 'plate']], 'plate_surcharge_pct': 25, 'tag_discount_pct': 10, 'invoice_fee': 150, 'cycle_days': 30}, {'tag': 773, 'plate': 1599, 'invoices': 3}), ({'trips': [[47, 175, 'tag'], [51, 525, 'exempt'], [26, 333, 'plate'], [37, 250, 'exempt'], [1, 250, 'exempt'], [61, 333, 'tag'], [11, 333, 'tag'], [69, 175, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 10, 'invoice_fee': 400, 'cycle_days': 31}, {'tag': 916, 'plate': 850, 'invoices': 1}), ({'trips': [[72, 525, 'tag'], [84, 175, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 15, 'invoice_fee': 400, 'cycle_days': 31}, {'tag': 596, 'plate': 0, 'invoices': 0}), ({'trips': [[81, 333, 'plate'], [52, 410, 'tag'], [43, 175, 'plate'], [72, 525, 'tag'], [45, 525, 'plate'], [20, 525, 'plate'], [43, 250, 'plate'], [28, 333, 'plate']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 5, 'invoice_fee': 200, 'cycle_days': 31}, {'tag': 889, 'plate': 3493, 'invoices': 3}), ({'trips': [[3, 410, 'exempt'], [4, 410, 'tag']], 'plate_surcharge_pct': 50, 'tag_discount_pct': 10, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 369, 'plate': 0, 'invoices': 0}), ({'trips': [[29, 250, 'plate'], [30, 250, 'plate'], [5, 333, 'tag']], 'plate_surcharge_pct': 35, 'tag_discount_pct': 15, 'invoice_fee': 200, 'cycle_days': 30}, {'tag': 284, 'plate': 1076, 'invoices': 2})]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check('fee oracle' + ' %d' % i, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"A deterministic, bounded toy model with a stipulated contract; it makes no claim of conformance to any agency manual or standard. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-toll_and_parking_fee_computation-plate-invoice-invoice-fee","generated_at":"2026-09-29T14:48:03.780237+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Fee engines bill customers in integer cents; a wrong boundary, rounding stage or cap scope silently over- or under-charges.","repair":"Restore the invoice fee total rule so that the step reads `'plate': plate + fees`.","root_cause":"Invoice fees are counted but never billed.","sha256":"002c19d35685915e0ce9037e922ed0d425c7e23787297abeaa2686370597ef7b","title":"Pay-by-plate invoice and tag discount: a single invoice fee is added regardless of invoices · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.097,"exit_code":1,"observations":[{"actual":{"invoices":2,"plate":1092,"tag":405},"check":"fee oracle 0","expected":{"invoices":2,"plate":1292,"tag":405},"passed":false},{"actual":{"invoices":2,"plate":1349,"tag":796},"check":"fee oracle 1","expected":{"invoices":2,"plate":1549,"tag":796},"passed":false},{"actual":{"invoices":0,"plate":200,"tag":1118},"check":"fee oracle 2","expected":{"invoices":0,"plate":0,"tag":1118},"passed":false},{"actual":{"invoices":1,"plate":941,"tag":0},"check":"fee oracle 3","expected":{"invoices":1,"plate":941,"tag":0},"passed":true},{"actual":{"invoices":2,"plate":876,"tag":284},"check":"fee oracle 4","expected":{"invoices":2,"plate":1076,"tag":284},"passed":false},{"actual":{"invoices":1,"plate":663,"tag":1625},"check":"fee oracle 5","expected":{"invoices":1,"plate":663,"tag":1625},"passed":true},{"actual":{"invoices":0,"plate":200,"tag":369},"check":"fee oracle 6","expected":{"invoices":0,"plate":0,"tag":369},"passed":false},{"actual":{"invoices":0,"plate":200,"tag":596},"check":"fee oracle 7","expected":{"invoices":0,"plate":0,"tag":596},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fee oracle 0\", \"actual\": {\"tag\": 405, \"plate\": 1092, \"invoices\": 2}, \"expected\": {\"tag\": 405, \"plate\": 1292, \"invoices\": 2}, \"passed\": false}, {\"check\": \"fee oracle 1\", \"actual\": {\"tag\": 796, \"plate\": 1349, \"invoices\": 2}, \"expected\": {\"tag\": 796, \"plate\": 1549, \"invoices\": 2}, \"passed\": false}, {\"check\": \"fee oracle 2\", \"actual\": {\"tag\": 1118, \"plate\": 200, \"invoices\": 0}, \"expected\": {\"tag\": 1118, \"plate\": 0, \"invoices\": 0}, \"passed\": false}, {\"check\": \"fee oracle 3\", \"actual\": {\"tag\": 0, \"plate\": 941, \"invoices\": 1}, \"expected\": {\"tag\": 0, \"plate\": 941, \"invoices\": 1}, \"passed\": true}, {\"check\": \"fee oracle 4\", \"actual\": {\"tag\": 284, \"plate\": 876, \"invoices\": 2}, \"expected\": {\"tag\": 284, \"plate\": 1076, \"invoices\": 2}, \"passed\": false}, {\"check\": \"fee oracle 5\", \"actual\": {\"tag\": 1625, \"plate\": 663, \"invoices\": 1}, \"expected\": {\"tag\": 1625, \"plate\": 663, \"invoices\": 1}, \"passed\": true}, {\"check\": \"fee oracle 6\", \"actual\": {\"tag\": 369, \"plate\": 200, \"invoices\": 0}, \"expected\": {\"tag\": 369, \"plate\": 0, \"invoices\": 0}, \"passed\": false}, {\"check\": \"fee oracle 7\", \"actual\": {\"tag\": 596, \"plate\": 200, \"invoices\": 0}, \"expected\": {\"tag\": 596, \"plate\": 0, \"invoices\": 0}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.117,"exit_code":1,"observations":[{"actual":{"invoices":2,"plate":892,"tag":405},"check":"fee oracle 0","expected":{"invoices":2,"plate":1292,"tag":405},"passed":false},{"actual":{"invoices":2,"plate":1149,"tag":796},"check":"fee oracle 1","expected":{"invoices":2,"plate":1549,"tag":796},"passed":false},{"actual":{"invoices":0,"plate":0,"tag":1118},"check":"fee oracle 2","expected":{"invoices":0,"plate":0,"tag":1118},"passed":true},{"actual":{"invoices":1,"plate":791,"tag":0},"check":"fee oracle 3","expected":{"invoices":1,"plate":941,"tag":0},"passed":false},{"actual":{"invoices":2,"plate":676,"tag":284},"check":"fee oracle 4","expected":{"invoices":2,"plate":1076,"tag":284},"passed":false},{"actual":{"invoices":1,"plate":263,"tag":1625},"check":"fee oracle 5","expected":{"invoices":1,"plate":663,"tag":1625},"passed":false},{"actual":{"invoices":0,"plate":0,"tag":369},"check":"fee oracle 6","expected":{"invoices":0,"plate":0,"tag":369},"passed":true},{"actual":{"invoices":0,"plate":0,"tag":596},"check":"fee oracle 7","expected":{"invoices":0,"plate":0,"tag":596},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fee oracle 0\", \"actual\": {\"tag\": 405, \"plate\": 892, \"invoices\": 2}, \"expected\": {\"tag\": 405, \"plate\": 1292, \"invoices\": 2}, \"passed\": false}, {\"check\": \"fee oracle 1\", \"actual\": {\"tag\": 796, \"plate\": 1149, \"invoices\": 2}, \"expected\": {\"tag\": 796, \"plate\": 1549, \"invoices\": 2}, \"passed\": false}, {\"check\": \"fee oracle 2\", \"actual\": {\"tag\": 1118, \"plate\": 0, \"invoices\": 0}, \"expected\": {\"tag\": 1118, \"plate\": 0, \"invoices\": 0}, \"passed\": true}, {\"check\": \"fee oracle 3\", \"actual\": {\"tag\": 0, \"plate\": 791, \"invoices\": 1}, \"expected\": {\"tag\": 0, \"plate\": 941, \"invoices\": 1}, \"passed\": false}, {\"check\": \"fee oracle 4\", \"actual\": {\"tag\": 284, \"plate\": 676, \"invoices\": 2}, \"expected\": {\"tag\": 284, \"plate\": 1076, \"invoices\": 2}, \"passed\": false}, {\"check\": \"fee oracle 5\", \"actual\": {\"tag\": 1625, \"plate\": 263, \"invoices\": 1}, \"expected\": {\"tag\": 1625, \"plate\": 663, \"invoices\": 1}, \"passed\": false}, {\"check\": \"fee oracle 6\", \"actual\": {\"tag\": 369, \"plate\": 0, \"invoices\": 0}, \"expected\": {\"tag\": 369, \"plate\": 0, \"invoices\": 0}, \"passed\": true}, {\"check\": \"fee oracle 7\", \"actual\": {\"tag\": 596, \"plate\": 0, \"invoices\": 0}, \"expected\": {\"tag\": 596, \"plate\": 0, \"invoices\": 0}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.297,"exit_code":0,"observations":[{"actual":{"invoices":2,"plate":1292,"tag":405},"check":"fee oracle 0","expected":{"invoices":2,"plate":1292,"tag":405},"passed":true},{"actual":{"invoices":2,"plate":1549,"tag":796},"check":"fee oracle 1","expected":{"invoices":2,"plate":1549,"tag":796},"passed":true},{"actual":{"invoices":0,"plate":0,"tag":1118},"check":"fee oracle 2","expected":{"invoices":0,"plate":0,"tag":1118},"passed":true},{"actual":{"invoices":1,"plate":941,"tag":0},"check":"fee oracle 3","expected":{"invoices":1,"plate":941,"tag":0},"passed":true},{"actual":{"invoices":2,"plate":1076,"tag":284},"check":"fee oracle 4","expected":{"invoices":2,"plate":1076,"tag":284},"passed":true},{"actual":{"invoices":1,"plate":663,"tag":1625},"check":"fee oracle 5","expected":{"invoices":1,"plate":663,"tag":1625},"passed":true},{"actual":{"invoices":0,"plate":0,"tag":369},"check":"fee oracle 6","expected":{"invoices":0,"plate":0,"tag":369},"passed":true},{"actual":{"invoices":0,"plate":0,"tag":596},"check":"fee oracle 7","expected":{"invoices":0,"plate":0,"tag":596},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fee oracle 0\", \"actual\": {\"tag\": 405, \"plate\": 1292, \"invoices\": 2}, \"expected\": {\"tag\": 405, \"plate\": 1292, \"invoices\": 2}, \"passed\": true}, {\"check\": \"fee oracle 1\", \"actual\": {\"tag\": 796, \"plate\": 1549, \"invoices\": 2}, \"expected\": {\"tag\": 796, \"plate\": 1549, \"invoices\": 2}, \"passed\": true}, {\"check\": \"fee oracle 2\", \"actual\": {\"tag\": 1118, \"plate\": 0, \"invoices\": 0}, \"expected\": {\"tag\": 1118, \"plate\": 0, \"invoices\": 0}, \"passed\": true}, {\"check\": \"fee oracle 3\", \"actual\": {\"tag\": 0, \"plate\": 941, \"invoices\": 1}, \"expected\": {\"tag\": 0, \"plate\": 941, \"invoices\": 1}, \"passed\": true}, {\"check\": \"fee oracle 4\", \"actual\": {\"tag\": 284, \"plate\": 1076, \"invoices\": 2}, \"expected\": {\"tag\": 284, \"plate\": 1076, \"invoices\": 2}, \"passed\": true}, {\"check\": \"fee oracle 5\", \"actual\": {\"tag\": 1625, \"plate\": 663, \"invoices\": 1}, \"expected\": {\"tag\": 1625, \"plate\": 663, \"invoices\": 1}, \"passed\": true}, {\"check\": \"fee oracle 6\", \"actual\": {\"tag\": 369, \"plate\": 0, \"invoices\": 0}, \"expected\": {\"tag\": 369, \"plate\": 0, \"invoices\": 0}, \"passed\": true}, {\"check\": \"fee oracle 7\", \"actual\": {\"tag\": 596, \"plate\": 0, \"invoices\": 0}, \"expected\": {\"tag\": 596, \"plate\": 0, \"invoices\": 0}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}