|
from dlib import array |
|
try: |
|
import cPickle as pickle |
|
except ImportError: |
|
import pickle |
|
|
|
try: |
|
from types import FloatType |
|
except ImportError: |
|
FloatType = float |
|
|
|
from pytest import raises |
|
|
|
|
|
def test_array_init_with_number(): |
|
a = array(5) |
|
assert len(a) == 5 |
|
for i in range(5): |
|
assert a[i] == 0 |
|
assert type(a[i]) == FloatType |
|
|
|
|
|
def test_array_init_with_negative_number(): |
|
with raises(Exception): |
|
array(-5) |
|
|
|
|
|
def test_array_init_with_zero(): |
|
a = array(0) |
|
assert len(a) == 0 |
|
|
|
|
|
def test_array_init_with_list(): |
|
a = array([0, 1, 2, 3, 4]) |
|
assert len(a) == 5 |
|
for idx, val in enumerate(a): |
|
assert idx == val |
|
assert type(val) == FloatType |
|
|
|
|
|
def test_array_init_with_empty_list(): |
|
a = array([]) |
|
assert len(a) == 0 |
|
|
|
|
|
def test_array_init_without_argument(): |
|
a = array() |
|
assert len(a) == 0 |
|
|
|
|
|
def test_array_init_with_tuple(): |
|
a = array((0, 1, 2, 3, 4)) |
|
for idx, val in enumerate(a): |
|
assert idx == val |
|
assert type(val) == FloatType |
|
|
|
|
|
def test_array_serialization_empty(): |
|
a = array() |
|
|
|
|
|
ser = pickle.dumps(a, 2) |
|
deser = pickle.loads(ser) |
|
assert a == deser |
|
|
|
|
|
def test_array_serialization(): |
|
a = array([0, 1, 2, 3, 4]) |
|
ser = pickle.dumps(a, 2) |
|
deser = pickle.loads(ser) |
|
assert a == deser |
|
|
|
|
|
def test_array_extend(): |
|
a = array() |
|
a.extend([0, 1, 2, 3, 4]) |
|
assert len(a) == 5 |
|
for idx, val in enumerate(a): |
|
assert idx == val |
|
assert type(val) == FloatType |
|
|
|
|
|
def test_array_string_representations_empty(): |
|
a = array() |
|
assert str(a) == "" |
|
assert repr(a) == "array[]" |
|
|
|
|
|
def test_array_string_representations(): |
|
a = array([1, 2, 3]) |
|
assert str(a) == "1\n2\n3" |
|
assert repr(a) == "array[1, 2, 3]" |
|
|
|
|
|
def test_array_clear(): |
|
a = array(10) |
|
a.clear() |
|
assert len(a) == 0 |
|
|
|
|
|
def test_array_resize(): |
|
a = array(10) |
|
a.resize(100) |
|
assert len(a) == 100 |
|
|
|
for i in range(100): |
|
assert a[i] == 0 |
|
|