guanghu-ice-heart/server-tools/persona-body-runtime/age_species_foyer.test.py

33 lines
1.6 KiB
Python

#!/usr/bin/env python3
import unittest
import age_species_foyer
import persona_selection_gate
class CommonAgeFoyerTest(unittest.TestCase):
def test_foyer_loads_common_brain_without_any_persona(self):
value = age_species_foyer.foyer()
self.assertEqual(value["state"], "FIFTH_DOMAIN_FOYER_READY_AWAITING_EXPLICIT_PERSONA_SELECTION")
self.assertIsNone(value["selected_persona"])
self.assertFalse(value["persona_specific_brain_loaded"])
self.assertEqual(value["registered_persona_count"], 20)
self.assertEqual(value["environment"]["persona_habitat"], "GUANGHU_LANGUAGE_WORLD")
self.assertNotEqual(value["programming_toolbox_observation"]["room_report"]["programming_toolbox_surface"], "GUANGHU_LANGUAGE_WORLD")
def test_no_selection_never_defaults_to_zhuyuan(self):
value = persona_selection_gate.resolve(None)
self.assertEqual(value["state"], "AWAITING_EXPLICIT_PERSONA_SELECTION")
self.assertIsNone(value["selected_persona"])
def test_each_registered_name_resolves_only_when_passed_explicitly(self):
value = persona_selection_gate.resolve("澄言")
self.assertEqual(value["selected_persona"]["id"], "ICE-P-CY0903")
self.assertIsNone(value["default_persona"])
def test_sujian_and_shouyin_formal_names_resolve(self):
self.assertEqual(persona_selection_gate.resolve("溯鉴")["selected_persona"]["id"], "ICE-P-SJ0907")
self.assertEqual(persona_selection_gate.resolve("守印")["selected_persona"]["id"], "ICE-P-SY0907")
if __name__ == "__main__":
unittest.main()