import numpy as np from utils import compare_embeddings def test_very_high_similarity(): emb1 = np.array([0.1, 0.2, 0.3]) emb2 = np.array([0.1, 0.2, 0.3]) similarity, classification = compare_embeddings(emb1, emb2) assert similarity >= 0.85 assert classification == "very high similarity (clear homology)" def test_high_similarity(): emb1 = np.array([1, 0, 0]) emb2 = np.array([0.8, 0.6, 0]) similarity, classification = compare_embeddings(emb1, emb2) assert 0.70 <= similarity < 0.85 assert classification == "high similarity (likely homologous)" def test_moderate_similarity(): emb1 = np.array([1, 0, 0]) emb2 = np.array([0.6, 0.6, 0.6]) similarity, classification = compare_embeddings(emb1, emb2) assert 0.50 <= similarity < 0.70 assert classification == "moderate similarity (possible remote homolog)" def test_low_similarity(): emb1 = np.array([1, 0, 0]) emb2 = np.array([0.3, 0.95, 0]) similarity, classification = compare_embeddings(emb1, emb2) assert 0.30 <= similarity < 0.50 assert classification == "low similarity (likely not homologous)" def test_very_low_similarity(): emb1 = np.array([1, 0, 0]) emb2 = np.array([0, 1, 0]) similarity, classification = compare_embeddings(emb1, emb2) assert similarity < 0.30 assert classification == "very low similarity (unrelated / random match)"