from backend.core.cross_universe_analysis import CrossUniverseAnalyzer from backend.core.universe_generator import UniverseGenerator from backend.db.session import SessionLocal def test_shared_axioms_and_theorems(): db = SessionLocal() generator = UniverseGenerator(db) # Create universes with shared and unique axioms/theorems u1 = generator.create_universe("U1", "Universe 1", "generic", ["A1", "A2", "A3"]) u2 = generator.create_universe("U2", "Universe 2", "generic", ["A2", "A3", "A4"]) u3 = generator.create_universe("U3", "Universe 3", "generic", ["A3", "A4", "A5"]) # Add theorems generator.create_theorem(u1.id, "T1", "Proof1") generator.create_theorem(u2.id, "T1", "Proof2") generator.create_theorem(u3.id, "T2", "Proof3") analyzer = CrossUniverseAnalyzer(db) result = analyzer.analyze([u1.id, u2.id, u3.id]) assert "A3" in result["shared_axioms"] assert "T1" in result["shared_theorems"] db.close()