def test_inv_price_power(self): """ Test for the successful execution of 'inv_price_sigmoid'. """ f_i_pow, w_pow, m_pow = 35.19, 3.32, 0.72 inv_p_pow = f_i_pow - np.sign(m_pow) * abs(m_pow)**(1 / w_pow) self.assertAlmostEqual(inv_p_pow, inv_price_power(f_i_pow, w_pow, m_pow), 7) self.assertEqual(f_i_pow, inv_price_power(f_i_pow, w_pow, 0.0))
def test_limit_price_power(self): """ Test successful execution of 'limit_price_power' function. """ t_pos_pow, pos_pow, f_pow, w_pow, max_pos_pow = 101, 95, 195.70, 3.44, 130 sum_inv_price_pow = sum([ inv_price_power(f_pow, w_pow, j / float(max_pos_pow)) for j in range(abs(pos_pow + np.sign(t_pos_pow - pos_pow)), abs(t_pos_pow + 1)) ]) limit_p_pow = (1 / abs(t_pos_pow - pos_pow)) * sum_inv_price_pow self.assertAlmostEqual( limit_p_pow, limit_price_power(t_pos_pow, pos_pow, f_pow, w_pow, max_pos_pow), 7)