mvm2-math-verification / tests /test_ensemble_neural_checker.py
Varshith dharmaj
Robust MVM2 System Sync: Fixed Imports and Restored Services
b25b8f2 verified
"""
Unit tests for EnsembleNeuralChecker
"""
import pytest
from models.ensemble_neural_checker import EnsembleNeuralChecker
def test_unanimous_agreement():
"""Test when all models agree on ERROR"""
checker = EnsembleNeuralChecker()
steps = ["5 - 1 = 6"] # Clear error
result = checker.verify(steps)
assert "verdict" in result
assert "confidence" in result
assert "sub_models" in result
assert "agreement" in result
def test_majority_vote():
"""Test majority voting (2/3 agree)"""
checker = EnsembleNeuralChecker(["GPT-4", "Llama 2", "Gemini"])
steps = ["3 + 2 = 5"] # Valid
result = checker.verify(steps)
assert result["confidence"] >= 0.60
assert "agreement" in result
def test_custom_model_list():
"""Test with custom model list"""
checker = EnsembleNeuralChecker(["Model A", "Model B"])
steps = ["3 + 2 = 5"]
result = checker.verify(steps)
assert len(result["sub_models"]) == 2
assert "Model A" in result["sub_models"]
assert "Model B" in result["sub_models"]