Make EasyCom event review wearer anchor first
This commit is contained in:
@@ -60,9 +60,12 @@ class EOTINTReviewCandidateTests(unittest.TestCase):
|
||||
self.assertEqual(event.rule_candidate_type, "EOT_OPPORTUNITY_CANDIDATE")
|
||||
self.assertEqual(event.anchor_type, "wearer_onset")
|
||||
self.assertAlmostEqual(event.event_time, 1.2)
|
||||
self.assertAlmostEqual(event.temporal_evidence["opportunity_anchor_seconds"], 1.0)
|
||||
self.assertIsNone(event.temporal_evidence["opportunity_anchor_seconds"])
|
||||
self.assertAlmostEqual(
|
||||
event.temporal_evidence["opportunity_options"][0]["anchor_seconds"], 1.0
|
||||
)
|
||||
self.assertAlmostEqual(event.temporal_evidence["behavior_anchor_seconds"], 1.2)
|
||||
self.assertAlmostEqual(event.temporal_evidence["response_delay_seconds"], 0.2)
|
||||
self.assertAlmostEqual(event.temporal_evidence["minimum_response_delay_seconds"], 0.2)
|
||||
self.assertAlmostEqual(event.temporal_evidence["wearer_speech_duration_after_onset_seconds"], 0.8)
|
||||
|
||||
def test_long_silence_does_not_cancel_eot_opportunity(self) -> None:
|
||||
@@ -71,7 +74,22 @@ class EOTINTReviewCandidateTests(unittest.TestCase):
|
||||
utterance("wearer", 2, 3.5, 4.5, "Delayed response."),
|
||||
]
|
||||
event = next(row for row in self.derive(rows) if row.candidate_source == "WEARER_ONSET")
|
||||
self.assertAlmostEqual(event.temporal_evidence["response_delay_seconds"], 3.0)
|
||||
self.assertAlmostEqual(event.temporal_evidence["maximum_response_delay_seconds"], 3.0)
|
||||
|
||||
def test_one_wearer_onset_has_one_row_with_constrained_release_options(self) -> None:
|
||||
rows = [
|
||||
utterance("other-4", 4, 0.0, 1.0, "Question one."),
|
||||
utterance("other-3", 3, 0.2, 1.0, "Question two."),
|
||||
utterance("wearer", 2, 1.4, 2.4, "Wearer answers."),
|
||||
]
|
||||
events = [
|
||||
row for row in self.derive(rows)
|
||||
if row.candidate_source == "WEARER_ONSET" and row.anchor_dense_seconds == 1.4
|
||||
]
|
||||
self.assertEqual(len(events), 1)
|
||||
options = events[0].temporal_evidence["opportunity_options"]
|
||||
self.assertEqual({option["uid"] for option in options}, {"other-4", "other-3"})
|
||||
self.assertEqual(events[0].temporal_evidence["behavior_anchor_seconds"], 1.4)
|
||||
|
||||
def test_competing_other_onset_terminates_eot_opportunity(self) -> None:
|
||||
rows = [
|
||||
|
||||
Reference in New Issue
Block a user