16 lines
792 B
Python
16 lines
792 B
Python
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])
|