import unittest import numpy as np from activation.run import metrics class ActivationTests(unittest.TestCase): def test_known_activity(self): m=metrics(np.array([[0.,1.,-1.,0.],[0.,0.,0.,0.]])) self.assertEqual(m['zero_rate'],.75) self.assertEqual(m['ever_active_001'],.5) self.assertEqual(m['negative_rate'],.125) self.assertEqual(m['channels_for_90pct_energy'],2) def test_zero_and_scale(self): m=metrics(np.zeros((3,4)));self.assertEqual(m['zero_rate'],1);self.assertEqual(m['ever_active_001'],0);self.assertEqual(m['channels_for_90pct_energy'],0) x=np.array([[1.,.001,0.,-2.]]) for key in ['near_001_rms','near_01_rms','energy90_channel_fraction']: self.assertEqual(metrics(x)[key],metrics(100*x)[key])