# tests/test_rag_embeddings.py from genesis.rag.embeddings import FakeEmbedder, get_embedder def test_fake_embedder_deterministic(): e = FakeEmbedder() a = e.embed(["OrderController 创建订单"])[0] b = e.embed(["OrderController 创建订单"])[0] assert a == b def test_fake_embedder_similar_closer_than_unrelated(): e = FakeEmbedder() base = e.embed(["OrderController 处理创建订单请求"])[0] sim = e.embed(["OrderController 保存订单到数据库"])[0] dif = e.embed(["用户登录认证模块"])[0] import math def cos(x, y): dot = sum(p * q for p, q in zip(x, y)) nx = math.sqrt(sum(p * p for p in x)) ny = math.sqrt(sum(q * q for q in y)) return dot / (nx * ny or 1.0) assert cos(base, sim) > cos(base, dif) def test_get_embedder_fake_engine_returns_fake(): e = get_embedder("fake") assert e.__class__.__name__ == "FakeEmbedder"