media-unmasked-api / tests /test_bias_analyzer.py
wozwize's picture
adding test files. updating exception messages
212d694
raw
history blame
1.9 kB
import unittest
from mediaunmasked.analyzers.bias_analyzer import BiasAnalyzer
import logging
class TestBiasAnalyzer(unittest.TestCase):
def setUp(self):
self.analyzer = BiasAnalyzer()
logging.basicConfig(level=logging.INFO)
self.logger = logging.getLogger(__name__)
def test_left_bias(self):
"""Test detection of left-leaning bias"""
text = "Progressive policies have shown success in addressing income inequality and social justice issues. The government's intervention has helped protect workers' rights."
result = self.analyzer.analyze(text)
self.assertIsNotNone(result)
self.assertIn('bias', result)
self.assertLess(result['bias_score'], 0) # Negative score indicates left bias
self.logger.info(f"Left bias result: {result}")
def test_right_bias(self):
"""Test detection of right-leaning bias"""
text = "Free market solutions and deregulation have driven economic growth. Individual responsibility and traditional values remain crucial for society."
result = self.analyzer.analyze(text)
self.assertIsNotNone(result)
self.assertIn('bias', result)
self.assertGreater(result['bias_score'], 0) # Positive score indicates right bias
self.logger.info(f"Right bias result: {result}")
def test_neutral_content(self):
"""Test detection of neutral content"""
text = "The study examined various economic policies and their outcomes. Researchers analyzed data from multiple sources to draw conclusions."
result = self.analyzer.analyze(text)
self.assertIsNotNone(result)
self.assertIn('bias', result)
self.assertAlmostEqual(result['bias_score'], 0, delta=0.2) # Should be close to neutral
self.logger.info(f"Neutral content result: {result}")