예제 #1
0
#!/usr/bin/env python

from ffilib import ffilib

ffi, lib = ffilib('doubly-linked-list')


def test_mklist():
    l = lib.mklist()
    assert l.n == 1
    assert l.dummy.data == 0
    assert l.dummy.prev == l.dummy
    assert l.dummy.next == l.dummy


def test_idx():
    l = lib.mklist()
    assert lib.idx(l, 0) == l.dummy
    lib.insert(l, 1, 1)
    assert lib.idx(l, 1) == l.dummy.next


def test_get():
    l = lib.mklist()
    lib.insert(l, 1, 1)
    lib.insert(l, 1, 2)
    assert lib.get(l, 1) == 2
    assert lib.get(l, 2) == 1


def test_set():
예제 #2
0
from ffilib import ffilib

ffi, lib = ffilib("1_2")


def test_reverse():
    s = "haha"
    sc = ffi.new("char []", s)
    lib.reverse(sc)
    assert ffi.string(sc) == s[::-1]
#!/usr/bin/env python

from ffilib import ffilib

ffi, lib = ffilib('doubly-linked-list')

def test_mklist():
    l = lib.mklist()
    assert l.n == 1
    assert l.dummy.data == 0
    assert l.dummy.prev == l.dummy
    assert l.dummy.next == l.dummy

def test_idx():
    l = lib.mklist()
    assert lib.idx(l, 0) == l.dummy
    lib.insert(l, 1, 1)
    assert lib.idx(l, 1) == l.dummy.next

def test_get():
    l = lib.mklist()
    lib.insert(l, 1, 1)
    lib.insert(l, 1, 2)
    assert lib.get(l, 1) == 2
    assert lib.get(l, 2) == 1

def test_set():
    l = lib.mklist()
    lib.insert(l, 1, 1)
    lib.set(l, 1, 10)
    assert lib.get(l, 1) == 10