Usunięcie sprawdzania poprawności zamówienia
This commit is contained in:
parent
abc098e498
commit
3d820e8d6d
@ -29,27 +29,10 @@ class DialogStateMonitor:
|
|||||||
{'completed': False, 'name': 'collect_address'},
|
{'completed': False, 'name': 'collect_address'},
|
||||||
],
|
],
|
||||||
was_previous_order_invalid=False,
|
was_previous_order_invalid=False,
|
||||||
constraints={
|
|
||||||
'order': [
|
|
||||||
'sauce',
|
|
||||||
'pizza',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
constants=constants,
|
constants=constants,
|
||||||
history=[])
|
history=[])
|
||||||
self.state = copy.deepcopy(self.__initial_state)
|
self.state = copy.deepcopy(self.__initial_state)
|
||||||
|
|
||||||
def get_last_order_missing_fields(self) -> list[str]:
|
|
||||||
result = []
|
|
||||||
try:
|
|
||||||
last_order = self.state['belief_state']['order'][-1]
|
|
||||||
except IndexError:
|
|
||||||
raise RuntimeError('No orders are placed')
|
|
||||||
for constraint in self.state['constraints']['order']:
|
|
||||||
if constraint not in last_order:
|
|
||||||
result.append(constraint)
|
|
||||||
return result
|
|
||||||
|
|
||||||
def get_current_active_stage(self) -> str | None:
|
def get_current_active_stage(self) -> str | None:
|
||||||
for stage in self.state['stages']:
|
for stage in self.state['stages']:
|
||||||
if stage['completed'] is False:
|
if stage['completed'] is False:
|
||||||
|
@ -9,11 +9,9 @@ assert dsm.state['was_previous_order_invalid'] is False
|
|||||||
|
|
||||||
frame1 = Frame('user', 'inform/order', [Slot('pizza', 'margarita'), Slot('sauce', 'ketchup')])
|
frame1 = Frame('user', 'inform/order', [Slot('pizza', 'margarita'), Slot('sauce', 'ketchup')])
|
||||||
dsm.update(frame1)
|
dsm.update(frame1)
|
||||||
assert dsm.get_last_order_missing_fields() == []
|
|
||||||
assert dsm.get_total_cost() == 20
|
assert dsm.get_total_cost() == 20
|
||||||
frame2 = Frame('user', 'inform/order', [Slot('pizza', 'tuna')])
|
frame2 = Frame('user', 'inform/order', [Slot('pizza', 'tuna')])
|
||||||
dsm.update(frame2)
|
dsm.update(frame2)
|
||||||
assert dsm.get_last_order_missing_fields() == ['sauce']
|
|
||||||
assert dsm.get_total_cost() == 60
|
assert dsm.get_total_cost() == 60
|
||||||
frame3 = Frame('user', 'inform/order-complete', [])
|
frame3 = Frame('user', 'inform/order-complete', [])
|
||||||
dsm.update(frame3)
|
dsm.update(frame3)
|
||||||
|
Loading…
Reference in New Issue
Block a user