-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtest_core.py
More file actions
85 lines (79 loc) · 3.34 KB
/
Copy pathtest_core.py
File metadata and controls
85 lines (79 loc) · 3.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#!/usr/bin/env python3
"""
test_core.py — Verify that all FRIDAY brain and core modules can be imported and initialized.
"""
import sys
import importlib
import unittest
from pathlib import Path
# Add root to path
sys.path.append(str(Path(__file__).parent.resolve()))
class TestCoreModules(unittest.TestCase):
def test_brain_imports(self):
modules = [
"brain.neural_memory",
"brain.learning",
"brain.self_model",
"brain.active_inference",
"brain.hierarchical_active_inference",
"brain.dreaming",
"brain.curiosity",
"brain.self_awareness",
"brain.memory_coordinator",
"brain.procedural_memory",
"brain.episodic_memory",
"brain.vector_memory",
"brain.global_workspace",
"brain.agi_orchestrator",
"brain.cognitive_integration",
"brain.causal_reasoner",
"brain.neurosymbolic_reasoner",
"brain.memory_consolidation",
]
for mod_name in modules:
with self.subTest(module=mod_name):
try:
mod = importlib.import_module(mod_name)
self.assertIsNotNone(mod)
except Exception as e:
self.fail(f"Failed to import {mod_name}: {e}")
def test_brain_getters(self):
"""Test that singleton getters work and don't crash."""
getters = [
("brain.neural_memory", "get_brain"),
("brain.learning", "get_learning_engine"),
("brain.self_model", "get_self_model"),
("brain.active_inference", "get_active_inference"),
("brain.hierarchical_active_inference", "get_hierarchical_aif"),
("brain.dreaming", "get_dreaming_system"),
("brain.curiosity", "get_curiosity_module"),
("brain.self_awareness", "get_self_awareness"),
("brain.memory_coordinator", "get_memory_coordinator"),
("brain.procedural_memory", "get_procedural_memory"),
("brain.episodic_memory", "get_episodic_memory"),
("brain.vector_memory", "get_vector_memory"),
("brain.global_workspace", "get_global_workspace"),
("brain.agi_orchestrator", "get_agi_orchestrator"),
("brain.cognitive_integration", "get_cognitive_integration"),
("brain.causal_reasoner", "get_causal_reasoner"),
("brain.neurosymbolic_reasoner", "get_neurosymbolic_reasoner"),
("brain.memory_consolidation", "get_memory_consolidation"),
]
for mod_path, func_name in getters:
with self.subTest(getter=f"{mod_path}.{func_name}"):
try:
mod = importlib.import_module(mod_path)
func = getattr(mod, func_name)
instance = func()
self.assertIsNotNone(instance)
except Exception as e:
print(f"[WARN] Failed to initialize {mod_path}.{func_name}: {e}")
def test_resilient_llm(self):
try:
from actions.resilient_llm import get_resilient_gemini
res = get_resilient_gemini()
self.assertIsNotNone(res)
except Exception as e:
self.fail(f"Resilient Gemini failed: {e}")
if __name__ == "__main__":
unittest.main()