コード例 #1
0
ファイル: test_identifier.py プロジェクト: pedromj/pymdht
    def test_order_closest(self):
        id0 = Id(BIN_ID0)
        ordered_list = [
            Id('\x00' * ID_SIZE_BYTES),
            Id(BIN_ID0[:-1] + '\x06'),
            Id(BIN_ID0[:9] + '\x01' * (ID_SIZE_BYTES - 9)),
            Id(BIN_ID0[:7] + '\xff' * (ID_SIZE_BYTES - 7)),
            Id(BIN_ID0[:7] + '\xff' * (ID_SIZE_BYTES - 7)),
            Id('\x00' + '\xff' * (ID_SIZE_BYTES - 1)),
            Id('\x53' * ID_SIZE_BYTES),
            Id('\xff' * ID_SIZE_BYTES),
            ]
        random_list = random.sample(ordered_list, len(ordered_list))

        random_list_copy = random_list[:]

        logger.debug('ordered list')
        for e in ordered_list: logger.debug('%s' % e)
        logger.debug('random order')
        for e in random_list: logger.debug('%s' % e)

        result_list = id0.order_closest(random_list)
        logger.debug('order_closest result')
        for e in result_list: logger.debug('%s' % e)
        logger.debug('random order (it should not change)')
        for e in random_list: logger.debug('%s' % e)

        # make sure order_closest does not modify random_list
        assert random_list == random_list_copy
        
        for i, ordered_id in enumerate(ordered_list):
            logger.debug('%d, %s, %s' % (i, ordered_id, result_list[i]))
            assert ordered_id.bin_id == result_list[i].bin_id
コード例 #2
0
ファイル: test_identifier.py プロジェクト: justinzane/pymdht
    def _test_order_closest(self):
        id0 = Id(BIN_ID0)
        ordered_list = [
            Id('\x00' * ID_SIZE_BYTES),
            Id(BIN_ID0[:-1] + '\x06'),
            Id(BIN_ID0[:9] + '\x01' * (ID_SIZE_BYTES - 9)),
            Id(BIN_ID0[:7] + '\xff' * (ID_SIZE_BYTES - 7)),
            Id(BIN_ID0[:7] + '\xff' * (ID_SIZE_BYTES - 7)),
            Id('\x00' + '\xff' * (ID_SIZE_BYTES - 1)),
            Id('\x53' * ID_SIZE_BYTES),
            Id('\xff' * ID_SIZE_BYTES),
            ]
        random_list = random.sample(ordered_list, len(ordered_list))

        random_list_copy = random_list[:]

        logger.debug('ordered list')
        for e in ordered_list: logger.debug('%s' % e)
        logger.debug('random order')
        for e in random_list: logger.debug('%s' % e)

        result_list = id0.order_closest(random_list)
        logger.debug('order_closest result')
        for e in result_list: logger.debug('%s' % e)
        logger.debug('random order (it should not change)')
        for e in random_list: logger.debug('%s' % e)

        # make sure order_closest does not modify random_list
        assert random_list == random_list_copy
        
        for i, ordered_id in enumerate(ordered_list):
            logger.debug('%d, %s, %s' % (i, ordered_id, result_list[i]))
            assert ordered_id.bin_id == result_list[i].bin_id