FSO-Genesis-Space / research /tests /test_knowledge_mapper.py
LOOFYYLO's picture
Upload folder using huggingface_hub
2c54126 verified
Raw
History Blame Contribute Delete
2.13 kB
import os
import json
import pytest
from research.knowledge_mapper import KnowledgeMapper
TEST_STATE_PATH = "research/tests/test_ontology.json"
@pytest.fixture
def km():
if os.path.exists(TEST_STATE_PATH):
os.remove(TEST_STATE_PATH)
mapper = KnowledgeMapper(m=256, k=4, state_path=TEST_STATE_PATH)
yield mapper
if os.path.exists(TEST_STATE_PATH):
os.remove(TEST_STATE_PATH)
def test_initialization(km):
assert km.m == 256
assert km.k == 4
assert "LAW_MATH" in km.FIBERS
assert km.grid == {}
def test_closure_hashing(km):
target_fiber = km.FIBERS["TECHNOLOGY"]
coord = km._apply_closure_hashing("TGI_Engine", target_fiber)
assert len(coord) == 4
assert sum(coord) % km.m == target_fiber
def test_ingest_concept(km):
coord = km.ingest_concept("LAW_MATH", "Gravity", "9.8 m/s^2")
assert str(coord) in km.grid
assert km.grid[str(coord)]["name"] == "Gravity"
assert km.grid[str(coord)]["fiber"] == km.FIBERS["LAW_MATH"]
assert sum(coord) % km.m == km.FIBERS["LAW_MATH"]
def test_ingest_color(km):
r, g, b, a = 100, 150, 200, 255
coord = km.ingest_color("TGI_Blue", r, g, b, a)
assert coord == (100, 150, 200, 255)
assert str(coord) in km.grid
assert km.grid[str(coord)]["name"] == "TGI_Blue"
assert km.grid[str(coord)]["fiber"] == sum(coord) % km.m
def test_map_relation(km):
km.ingest_concept("TECHNOLOGY", "TGI_Core", "Core Engine")
km.ingest_concept("TECHNOLOGY", "TLM", "Language Model")
vector = km.map_relation("TGI_Core", "TLM", "INTEGRATES")
assert vector is not None
assert len(vector) == 4
# Check if the relation concept itself was ingested
rel_name = "TGI_Core_to_TLM_INTEGRATES"
assert km._find_coord(rel_name) is not None
def test_save_load_state(km):
km.ingest_concept("DATASET", "Sample", "Data")
km.save_state()
assert os.path.exists(TEST_STATE_PATH)
new_km = KnowledgeMapper(m=256, k=4, state_path=TEST_STATE_PATH)
assert str(km._find_coord("Sample")) in new_km.grid
assert new_km.grid[str(new_km._find_coord("Sample"))]["name"] == "Sample"