def test_get_undershoot(self): """Test get_undershoot""" A = [0, 0, 0, 1, 1, 1, 1, 1] B = [2, 2, 2, 2, 2, 2, 2, 2] trace = trappy.BareTrace() df = pd.DataFrame({"A": A, "B": B}) trace.add_parsed_event("event", df) s = SignalCompare(trace, "event:A", "event:B") expected = (4.0 / 14.0, 1.0) self.assertEqual( s.get_undershoot(method="rect"), expected) A = [3, 3, 3, 3, 3, 3, 3, 3] B = [2, 2, 2, 2, 2, 2, 1, 1] df = pd.DataFrame({"A": A, "B": B}) trace.event.data_frame = df s = SignalCompare(trace, "event:A", "event:B") expected = (float("nan"), 0.0) result = s.get_undershoot(method="rect") self.assertTrue(np.isnan(result[0])) self.assertEqual(result[1], expected[1])
def test_conditional_compare(self): """Test conditional_compare""" # Refer to the example in # bart.common.signal.SignalCompare.conditional_compare # doc-strings which explains the calculation for the # data set below A = [0, 0, 0, 3, 3, 0, 0, 0] B = [0, 0, 2, 2, 2, 2, 1, 1] trace = trappy.BareTrace() df = pd.DataFrame({"A": A, "B": B}) trace.add_parsed_event("event", df) s = SignalCompare(trace, "event:A", "event:B") expected = (1.5, 2.0 / 7) self.assertEqual( s.conditional_compare( "event:A > event:B", method="rect"), expected)
def test_get_overshoot(self): """Test get_overshoot""" A = [0, 0, 0, 3, 3, 0, 0, 0] B = [0, 0, 2, 2, 2, 2, 1, 1] trace = trappy.BareTrace() df = pd.DataFrame({"A": A, "B": B}) trace.add_parsed_event("event", df) s = SignalCompare(trace, "event:A", "event:B") expected = (1.5, 2.0 / 7) self.assertEqual(s.get_overshoot(method="rect"), expected) A = [0, 0, 0, 1, 1, 0, 0, 0] B = [0, 0, 2, 2, 2, 2, 1, 1] df = pd.DataFrame({"A": A, "B": B}) trace.event.data_frame = df s = SignalCompare(trace, "event:A", "event:B") expected = (float("nan"), 0.0) result = s.get_overshoot(method="rect") self.assertTrue(np.isnan(result[0])) self.assertEqual(result[1], expected[1])