예제 #1
0
    def test_LoadTable(self):
        self.assertEqual(ht.size(self.book_map), 0)
        self.assertTrue(ht.isEmpty(self.book_map))

        input_file = csv.DictReader(open(self.booksfile))
        for book in input_file:
            ht.put(self.book_map, book['book_id'], book, self.compare_book_id)

        self.assertEqual(ht.size(self.book_map), 149)
        self.assertTrue(ht.contains(self.book_map, '100',
                                    self.compare_book_id))

        entry = ht.get(self.book_map, '100', self.compare_book_id)
        self.assertIsNotNone(entry)
        self.assertEqual(entry['value']['book_id'], '100')

        ht.remove(self.book_map, '100', self.compare_book_id)
        self.assertEqual(ht.size(self.book_map), 148)
        self.assertFalse(
            ht.contains(self.book_map, '100', self.compare_book_id))

        lst_keys = ht.keySet(self.book_map)
        self.assertFalse(lt.isEmpty(lst_keys))
        self.assertEqual(lt.size(lst_keys), 148)

        lst_values = ht.valueSet(self.book_map)
        self.assertFalse(lt.isEmpty(lst_values))
        self.assertEqual(lt.size(lst_values), 148)
예제 #2
0
    def test_LoadTable(self):
        table_capacity = 171
        book_map = ht.newMap(capacity=table_capacity,
                             maptype='CHAINING',
                             comparefunction=self.compare_book_id)
        booksfile = cf.data_dir + 'GoodReads/books-small.csv'

        self.assertEqual(ht.size(book_map), 0)
        self.assertTrue(ht.isEmpty(book_map))

        input_file = csv.DictReader(open(booksfile))
        for book in input_file:
            ht.put(book_map, book['book_id'], book)

        self.assertEqual(ht.size(book_map), 149)
        self.assertTrue(ht.contains(book_map, '100'))

        entry = ht.get(book_map, '100')
        self.assertIsNotNone(entry)
        self.assertEqual(entry['value']['book_id'], '100')

        ht.remove(book_map, '100')
        self.assertEqual(ht.size(book_map), 148)
        self.assertFalse(ht.contains(book_map, '100'))

        lst_keys = ht.keySet(book_map)
        self.assertFalse(lt.isEmpty(lst_keys))
        self.assertEqual(lt.size(lst_keys), 148)

        lst_values = ht.valueSet(book_map)
        self.assertFalse(lt.isEmpty(lst_values))
        self.assertEqual(lt.size(lst_values), 148)
예제 #3
0
def test_loading_CSV_y_ordenamiento():
    """
    Prueba que se pueda leer el archivo y que despues de relizar el sort, el orden este correcto
    """
    setUp()
    sort.selectionSort(lst_books, less)
    while not (lt.isEmpty(lst_books)):
        x = int(lt.removeLast(lst_books)['goodreads_book_id'])
        if not (lt.isEmpty(lst_books)):
            y = int(lt.lastElement(lst_books)['goodreads_book_id'])
        else:
            break
        assert x > y
def test_loading_CSV_y_ordenamiento_inv():
    """
    Prueba que se pueda leer el archivo y que despues de relizar el sort, el orden este correcto
    """
    setUp()
    sort.insertionSort(lst_movies,greater)
    while not (lt.isEmpty(lst_movies)):
        x = int(lt.removeLast(lst_movies)['id'])
        if not (lt.isEmpty(lst_movies)):
            y = int(lt.lastElement(lst_movies)['id'])
        else:
            break
        assert x < y
예제 #5
0
def test_loading_CSV_y_ordenamiento():
    """
    Prueba que se pueda leer el archivo y que despues de relizar el sort, el orden este correcto
    """
    setUp()
    sort.insertionSort(lst_movies, less)
    while not (lt.isEmpty(lst_movies)):
        x = float(lt.removeLast(lst_movies)['vote_average'])
        if not (lt.isEmpty(lst_movies)):
            y = float(lt.removeLast(lst_movies)['vote_average'])
        else:
            break
        print(x, y)
        assert x > y or x == y
def test_addFirst(lst, books):
    assert lt.isEmpty(lst) == True
    assert lt.size(lst) == 0
    lt.addFirst(lst, books[1])
    assert lt.size(lst) == 1
    lt.addFirst(lst, books[2])
    assert lt.size(lst) == 2
    book = lt.firstElement(lst)
    assert book == books[2]
def test_loading_CSV_y_ordenamiento():
    """
    Prueba que se pueda leer el archivo y que despues de relizar el sort, el orden este correcto
    """
    setUp()
    sort.mergesort(lst_books,less)
    while not (lt.isEmpty(lst_books)):
        x = int(lt.removeLast(lst_books)['goodreads_book_id'])
        if not (lt.isEmpty(lst_books)):
            y = int(lt.lastElement(lst_books)['goodreads_book_id'])
        else:
            break
        assert x > y
    counter=1
    iterador=it.newIterator(lst_books)
    while it.hasNext(iterador) and counter<=10:
        elemento=it.next(iterador)
        print(elemento)
        counter+=1
예제 #8
0
def test_addLast(slt, movies):
    assert lst.isEmpty(slt) == True
    assert lst.size(slt) == 0
    lst.addLast(slt, movies[0])
    assert lst.size(slt) == 1
    lst.addLast(slt, movies[1])
    assert lst.size(slt) == 2
    movie = lst.firstElement(slt)
    assert movie == movies[0]
    movie = lst.lastElement(slt)
    assert movie == movies[1]
예제 #9
0
def leastCapacity(catalog, city, ncapacities):
    rawMap = catalog['capacityMap']
    statcapList = map.get(rawMap, city)['value']
    response = "Least capacity stations: "
    LessN = lt.subList(statcapList, 1, ncapacities)
    if not lt.isEmpty(LessN):
        iteraless=it.newIterator(LessN)
        while it.hasNext(iteraless):
            station = it.next(iteraless)
            response += str(station) + ':' + " "
        return response
    return None
def test_insertElement(lst, books):
    assert lt.isEmpty(lst) is True
    assert lt.size(lst) == 0
    lt.insertElement(lst, books[0], 1)
    assert lt.size(lst) == 1
    lt.insertElement(lst, books[1], 2)
    assert lt.size(lst) == 2
    lt.insertElement(lst, books[2], 1)
    assert lt.size(lst) == 3
    book = lt.getElement(lst, 1)
    assert book == books[2]
    book = lt.getElement(lst, 2)
    assert book == books[0]
예제 #11
0
def test_insertElement(slt, movies):
    assert lst.isEmpty(slt) is True
    assert lst.size(slt) == 0
    lst.insertElement(slt, movies[0], 1)
    assert lst.size(slt) == 1
    lst.insertElement(slt, movies[1], 2)
    assert lst.size(slt) == 2
    lst.insertElement(slt, movies[2], 1)
    assert lst.size(slt) == 3
    movie = lst.getElement(slt, 1)
    assert movie == movies[2]
    movie = lst.getElement(slt, 2)
    assert movie == movies[0]
예제 #12
0
def mostCapacity(catalog, city, ncapacities):
    rawMap = catalog['capacityMap']
    statcapList = map.get(rawMap, city)['value']
    response= "Top capacity stations: "
    size = lt.size(statcapList)
    TopN = lt.subList(statcapList, size-ncapacities+1, ncapacities)
    if not lt.isEmpty(TopN):
        iteratop=it.newIterator(TopN)
        while it.hasNext(iteratop):
            station = it.next(iteratop)
            response += str(station) + ':' + " "
        return response
    return None
예제 #13
0
def countCC (graph):
    counter = 0
    listVert = gs.vertices(graph)
    if not lt.isEmpty(listVert):
        counter = 1
        source = lt.firstElement(listVert)
        search = newDFS(graph, source)
        vert_iter = it.newIterator(listVert)
        while (it.hasNext(vert_iter)):
            v = it.next (vert_iter)
            if not map.get(search['visitedMap'], v):
                map.put(search['visitedMap'], v, {'marked':True,'edgeTo':None})
                dfs(search, v)
                counter+=1
    return counter
def test_empty(lst):
    assert lt.isEmpty(lst) == True
    assert lt.size(lst) == 0
예제 #15
0
def test_empty(slt):
    assert lst.isEmpty(slt) == True
    assert lst.size(slt) == 0