def test_param_stomping(self): testval_init = np.asarray([3, 2, 3, 0]) testval = np.asarray([3, 2, 3, 0]) x = ndcg.ndcg(testval, 4, False) self.assertEqual(testval_init.tolist(), testval.tolist()) x = ndcg.idcg(testval, False) self.assertEqual(testval_init.tolist(), testval.tolist()) x = ndcg.dcg(testval, False) self.assertEqual(testval_init.tolist(), testval.tolist()) x = ndcg.cum_gain(testval) self.assertEqual(testval_init.tolist(), testval.tolist())
def test_idcg(self): # from wikipedia self.assertAlmostEqual(8.6925361, ndcg.idcg([3, 2, 3, 0, 1, 2], False)) # order is irrelevant self.assertAlmostEqual(8.6925361, ndcg.idcg([3, 2, 3, 0, 1, 2], False))
def test_idcg_zeros(self): self.assertAlmostEqual(0.0, ndcg.idcg([0, 0, 0, 0], False))
def test_idcg_none(self): # from wikipedia self.assertAlmostEqual(0.0, ndcg.idcg([], False)) self.assertAlmostEqual(0.0, ndcg.idcg(np.asarray([]), False)) self.assertAlmostEqual(0.0, ndcg.idcg(None, False))