fix: include latest shelf tag in live inspection
This commit is contained in:
parent
2894979a35
commit
06f9fb4819
2 changed files with 65 additions and 1 deletions
|
|
@ -384,6 +384,44 @@ class ClassificationBudgetTests(unittest.TestCase):
|
|||
process(session, 1)
|
||||
with self.assertRaises(KeyError):
|
||||
session.inspect(999)
|
||||
|
||||
def test_inspect_includes_settled_tag_from_the_latest_frame(self):
|
||||
session, engine, _, _ = make_session()
|
||||
tag = {"state": "readable", "price": 150, "box": [100, 270, 200, 320]}
|
||||
|
||||
class Tagged:
|
||||
def plan(self, boxes, image_shape, shelf_offset=None):
|
||||
return []
|
||||
|
||||
def attach(self, tracks):
|
||||
by_track = {int(track["track_id"]): dict(tag) for track in tracks}
|
||||
return by_track, list(by_track.values()), {"readable": len(by_track)}
|
||||
|
||||
def stats(self):
|
||||
return {}
|
||||
|
||||
session._tags = Tagged()
|
||||
result = process(session, 1)
|
||||
track = result["tracks"][0]
|
||||
track_id = track["track_id"]
|
||||
self.assertEqual(track["price_tag"]["price"], 150)
|
||||
self.assertIn("reconciliation", track)
|
||||
|
||||
inspected = session.inspect(track_id)
|
||||
self.assertEqual(inspected["price_tag"], track["price_tag"])
|
||||
self.assertEqual(inspected["reconciliation"], track["reconciliation"])
|
||||
self.assertIn("identity", inspected)
|
||||
|
||||
session._tags = None
|
||||
bare = process(session, 2)
|
||||
self.assertNotIn("price_tag", bare["tracks"][0])
|
||||
inspected_bare = session.inspect(track_id)
|
||||
self.assertNotIn("price_tag", inspected_bare)
|
||||
self.assertNotIn("reconciliation", inspected_bare)
|
||||
|
||||
session.reset()
|
||||
with self.assertRaises(KeyError):
|
||||
session.inspect(track_id)
|
||||
engine.shutdown()
|
||||
|
||||
def test_close_stops_the_loop(self):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue