79 lines
2.5 KiB
Python
79 lines
2.5 KiB
Python
import os
|
|
|
|
import pyexcel_io.constants as constants
|
|
from pyexcel_io import get_data, save_data
|
|
from pyexcel_io.utils import _index_filter
|
|
|
|
from nose.tools import eq_
|
|
|
|
|
|
def test_index_filter():
|
|
current_index, start, limit, expected = (0, 1, -1, constants.SKIP_DATA)
|
|
eq_(_index_filter(current_index, start, limit), expected)
|
|
current_index, start, limit, expected = (2, 1, -1, constants.TAKE_DATA)
|
|
eq_(_index_filter(current_index, start, limit), expected)
|
|
current_index, start, limit, expected = (2, 1, 10, constants.TAKE_DATA)
|
|
eq_(_index_filter(current_index, start, limit), expected)
|
|
current_index, start, limit, expected = (
|
|
100,
|
|
1,
|
|
10,
|
|
constants.STOP_ITERATION,
|
|
)
|
|
eq_(_index_filter(current_index, start, limit), expected)
|
|
|
|
|
|
class TestFilter:
|
|
def setUp(self):
|
|
self.test_file = "test_filter.csv"
|
|
sample = [
|
|
[1, 21, 31],
|
|
[2, 22, 32],
|
|
[3, 23, 33],
|
|
[4, 24, 34],
|
|
[5, 25, 35],
|
|
[6, 26, 36],
|
|
]
|
|
save_data(self.test_file, sample)
|
|
|
|
def test_filter_row(self):
|
|
filtered_data = get_data(self.test_file, start_row=3)
|
|
expected = [[4, 24, 34], [5, 25, 35], [6, 26, 36]]
|
|
eq_(filtered_data[self.test_file], expected)
|
|
|
|
def test_filter_row_2(self):
|
|
filtered_data = get_data(self.test_file, start_row=3, row_limit=1)
|
|
expected = [[4, 24, 34]]
|
|
eq_(filtered_data[self.test_file], expected)
|
|
|
|
def test_filter_column(self):
|
|
filtered_data = get_data(self.test_file, start_column=1)
|
|
expected = [[21, 31], [22, 32], [23, 33], [24, 34], [25, 35], [26, 36]]
|
|
eq_(filtered_data[self.test_file], expected)
|
|
|
|
def test_filter_column_2(self):
|
|
filtered_data = get_data(
|
|
self.test_file, start_column=1, column_limit=1
|
|
)
|
|
expected = [[21], [22], [23], [24], [25], [26]]
|
|
eq_(filtered_data[self.test_file], expected)
|
|
|
|
def test_filter_both_ways(self):
|
|
filtered_data = get_data(self.test_file, start_column=1, start_row=3)
|
|
expected = [[24, 34], [25, 35], [26, 36]]
|
|
eq_(filtered_data[self.test_file], expected)
|
|
|
|
def test_filter_both_ways_2(self):
|
|
filtered_data = get_data(
|
|
self.test_file,
|
|
start_column=1,
|
|
column_limit=1,
|
|
start_row=3,
|
|
row_limit=1,
|
|
)
|
|
expected = [[24]]
|
|
eq_(filtered_data[self.test_file], expected)
|
|
|
|
def tearDown(self):
|
|
os.unlink(self.test_file)
|