Blame tests/run/cpp_stl_cpp11.pyx

Packit Service 99d393
# mode: run
Packit Service 99d393
# tag: cpp, werror, cpp11
Packit Service 99d393
# distutils: extra_compile_args=-std=c++0x
Packit Service 99d393
Packit Service 99d393
import sys
Packit Service 99d393
from libcpp.unordered_map cimport unordered_map
Packit Service 99d393
from libcpp.pair cimport pair
Packit Service 99d393
Packit Service 99d393
def test_unordered_map_functionality():
Packit Service 99d393
    """
Packit Service 99d393
    >>> test_unordered_map_functionality()
Packit Service 99d393
    'pass'
Packit Service 99d393
    """
Packit Service 99d393
    cdef:
Packit Service 99d393
        unordered_map[int, int] int_map = unordered_map[int,int]()
Packit Service 99d393
        pair[int, int] pair_insert = pair[int, int](1, 2)
Packit Service 99d393
        unordered_map[int,int].iterator iterator = int_map.begin()
Packit Service 99d393
        pair[unordered_map[int,int].iterator, bint] pair_iter  = int_map.insert(pair_insert)
Packit Service 99d393
    assert int_map[1] == 2
Packit Service 99d393
    assert int_map.size() == 1
Packit Service 99d393
    assert int_map.erase(1) == 1 # returns number of elements erased
Packit Service 99d393
    assert int_map.size() == 0
Packit Service 99d393
    int_map[1] = 2
Packit Service 99d393
    assert int_map.size() == 1
Packit Service 99d393
    assert int_map[1] == 2
Packit Service 99d393
    iterator = int_map.find(1)
Packit Service 99d393
    assert int_map.erase(iterator) == int_map.end()
Packit Service 99d393
    return "pass"
Packit Service 99d393
Packit Service 99d393