예제 #1
0
def test_trainset():
    """Test TrainSet"""
    uid_map = OrderedDict([('a', 0), ('b', 1)])
    iid_map = OrderedDict([('x', 0), ('y', 1), ('z', 2)])

    train_set = TrainSet(uid_map, iid_map)

    assert train_set.num_users == 2
    assert train_set.num_items == 3

    assert train_set.is_unk_user(1) == False
    assert train_set.is_unk_user(2) == True

    assert train_set.is_unk_item(2) == False
    assert train_set.is_unk_item(4) == True

    assert train_set.get_uid('b') == 1
    assert train_set.get_iid('y') == 1

    assert all([a == b for a, b in zip(train_set.get_uid_list(), [0, 1])])
    assert all(
        [a == b for a, b in zip(train_set.get_raw_uid_list(), ['a', 'b'])])

    assert all([a == b for a, b in zip(train_set.get_iid_list(), [0, 1, 2])])
    assert all([
        a == b for a, b in zip(train_set.get_raw_iid_list(), ['x', 'y', 'z'])
    ])
예제 #2
0
    def test_init(self):
        uid_map = OrderedDict([('a', 0), ('b', 1)])
        iid_map = OrderedDict([('x', 0), ('y', 1), ('z', 2)])

        train_set = TrainSet(uid_map, iid_map)

        self.assertEqual(train_set.num_users, 2)
        self.assertEqual(train_set.num_items, 3)

        self.assertTrue(train_set.is_unk_user(2))
        self.assertFalse(train_set.is_unk_user(1))

        self.assertTrue(train_set.is_unk_item(4))
        self.assertFalse(train_set.is_unk_item(2))

        self.assertEqual(train_set.get_uid('b'), 1)
        self.assertEqual(train_set.get_iid('y'), 1)

        self.assertListEqual(train_set.uid_list, list(uid_map.values()))
        self.assertListEqual(train_set.raw_uid_list, list(uid_map.keys()))

        self.assertListEqual(train_set.iid_list, list(iid_map.values()))
        self.assertListEqual(train_set.raw_iid_list, list(iid_map.keys()))