Created
July 20, 2015 04:36
-
-
Save codenamejason/8e0f868ffdcbff1dd338 to your computer and use it in GitHub Desktop.
xlsTest
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import pytest | |
from sow_web_codegen.reader.xlsx import XlsxReader | |
from sow_web_codegen.reader.xlsx import XlsxReaderInvalidFileFormatException | |
from tests import EXAMPLE_WORKSHEET_XLSX as example_worksheet | |
def gen_get_value_func(columns, row): | |
def get_column(column): | |
return row[columns.index(column)] | |
return get_column | |
def test__get_column_index_map(): | |
reader = XlsxReader() | |
col_idx_map = reader._get_column_index_map(example_worksheet["columns"]) | |
columns = reader._get_columns(col_idx_map) | |
def test_can_read(): | |
reader = XlsxReader() | |
assert False == reader.can_read('nonexisting.file') | |
assert True == reader.can_read('nonexisting.xlsx') | |
def test_read_invalid_file(): | |
reader = XlsxReader() | |
with pytest.raises(XlsxReaderInvalidFileFormatException): | |
reader.read('nonexisting.file') | |
def test_read(): | |
reader = XlsxReader() | |
data = reader.read(example_worksheet["file"]) | |
col_idx_map = reader._get_column_index_map(example_worksheet["columns"]) | |
expect_columns = reader._get_columns(col_idx_map) | |
assert list == type(data['columns']) | |
assert list == type(data['rows']) | |
assert expect_columns == data['columns'] | |
# row 1 | |
get_col = gen_get_value_func(data['columns'], data['rows'][0]) | |
assert get_col('section') == 'Section1' | |
assert get_col('worksheet') == 'Worksheet1' | |
assert get_col('qtext') == 'Question1' | |
assert get_col('qname') == 'question_1' | |
assert get_col('livestock') == True | |
assert get_col('crop') == True | |
assert get_col('trader') == True | |
assert get_col('greenhouse') == True | |
assert get_col('apiary') == True | |
assert get_col('handler') == True | |
assert get_col('wild_crop') == True | |
assert get_col('notes') == 'Nada' | |
assert get_col('field_type') == 'bool' | |
assert get_col('matrix') == False | |
assert get_col('answers') == [] | |
assert get_col('answers_name') == '' | |
assert get_col('help_text') == '' | |
assert get_col('inline_attach') == False | |
# row 2 | |
get_col = gen_get_value_func(data['columns'], data['rows'][1]) | |
assert get_col('section') == 'Section1' | |
assert get_col('worksheet') == 'Worksheet1' | |
assert get_col('qtext') == 'Question2' | |
assert get_col('qname') == 'question_2' | |
assert get_col('livestock') == True | |
assert get_col('crop') == True | |
assert get_col('trader') == True | |
assert get_col('greenhouse') == False | |
assert get_col('apiary') == False | |
assert get_col('handler') == False | |
assert get_col('wild_crop') == False | |
assert get_col('notes') == '' | |
assert get_col('field_type') == 'checkbox' | |
assert get_col('matrix') == True | |
assert get_col('answers') == [] | |
assert get_col('answers_name') == '' | |
assert get_col('help_text') == 'Help Me!' | |
assert get_col('inline_attach') == True | |
# row 3 | |
get_col = gen_get_value_func(data['columns'], data['rows'][2]) | |
assert get_col('section') == 'Section1' | |
assert get_col('worksheet') == 'Worksheet1' | |
assert get_col('qtext') == 'Question3' | |
assert get_col('qname') == 'question_3' | |
assert get_col('livestock') == True | |
assert get_col('crop') == True | |
assert get_col('trader') == True | |
assert get_col('greenhouse') == False | |
assert get_col('apiary') == False | |
assert get_col('handler') == False | |
assert get_col('wild_crop') == False | |
assert get_col('notes') == '' | |
assert get_col('field_type') == 'checkbox_list' | |
assert get_col('matrix') == True | |
assert get_col('answers') == ['one', 'two', 'three', 'four'] | |
assert get_col('answers_name') == 'numbers' | |
assert get_col('help_text') == '' | |
assert get_col('inline_attach') == False | |
# row 4 | |
get_col = gen_get_value_func(data['columns'], data['rows'][3]) | |
assert get_col('section') == 'Section1' | |
assert get_col('worksheet') == 'Worksheet2' | |
assert get_col('qtext') == 'Question4' | |
assert get_col('qname') == 'question_4' | |
assert get_col('livestock') == True | |
assert get_col('crop') == True | |
assert get_col('trader') == True | |
assert get_col('greenhouse') == True | |
assert get_col('apiary') == False | |
assert get_col('handler') == False | |
assert get_col('wild_crop') == False | |
assert get_col('notes') == '' | |
assert get_col('field_type') == 'bool' | |
assert get_col('matrix') == False | |
assert get_col('answers') == [] | |
assert get_col('answers_name') == '' | |
assert get_col('help_text') == '' | |
assert get_col('inline_attach') == False | |
# row 5 | |
get_col = gen_get_value_func(data['columns'], data['rows'][4]) | |
assert get_col('section') == 'Section1' | |
assert get_col('worksheet') == 'Worksheet2' | |
assert get_col('qtext') == 'Question5' | |
assert get_col('qname') == 'question_5' | |
assert get_col('livestock') == True | |
assert get_col('crop') == True | |
assert get_col('trader') == True | |
assert get_col('greenhouse') == True | |
assert get_col('apiary') == False | |
assert get_col('handler') == False | |
assert get_col('wild_crop') == False | |
assert get_col('notes') == '' | |
assert get_col('field_type') == 'text' | |
assert get_col('matrix') == False | |
assert get_col('answers') == [] | |
assert get_col('answers_name') == '' | |
assert get_col('help_text') == '' | |
assert get_col('inline_attach') == False | |
# row 6 | |
get_col = gen_get_value_func(data['columns'], data['rows'][5]) | |
assert get_col('section') == 'Section1' | |
assert get_col('worksheet') == 'Worksheet2' | |
assert get_col('qtext') == 'Question6' | |
assert get_col('qname') == 'question_6' | |
assert get_col('livestock') == True | |
assert get_col('crop') == True | |
assert get_col('trader') == True | |
assert get_col('greenhouse') == True | |
assert get_col('apiary') == False | |
assert get_col('handler') == False | |
assert get_col('wild_crop') == False | |
assert get_col('notes') == '' | |
assert get_col('field_type') == 'select' | |
assert get_col('matrix') == False | |
assert get_col('answers') == ['a', 'b', 'c', 'd'] | |
assert get_col('answers_name') == 'letters' | |
assert get_col('help_text') == '' | |
assert get_col('inline_attach') == False | |
# row 7 | |
get_col = gen_get_value_func(data['columns'], data['rows'][6]) | |
assert get_col('section') == 'Section2' | |
assert get_col('worksheet') == 'Worksheet3' | |
assert get_col('qtext') == 'Question7' | |
assert get_col('qname') == 'question_7' | |
assert get_col('livestock') == False | |
assert get_col('crop') == False | |
assert get_col('trader') == True | |
assert get_col('greenhouse') == True | |
assert get_col('apiary') == False | |
assert get_col('handler') == False | |
assert get_col('wild_crop') == False | |
assert get_col('notes') == 'Nada' | |
assert get_col('field_type') == 'bool' | |
assert get_col('matrix') == True | |
assert get_col('answers') == [] | |
assert get_col('answers_name') == '' | |
assert get_col('help_text') == '' | |
assert get_col('inline_attach') == False | |
# row 8 | |
get_col = gen_get_value_func(data['columns'], data['rows'][7]) | |
assert get_col('section') == 'Section2' | |
assert get_col('worksheet') == 'Worksheet3' | |
assert get_col('qtext') == 'Question8' | |
assert get_col('qname') == 'question_8' | |
assert get_col('livestock') == False | |
assert get_col('crop') == False | |
assert get_col('trader') == True | |
assert get_col('greenhouse') == True | |
assert get_col('apiary') == False | |
assert get_col('handler') == False | |
assert get_col('wild_crop') == False | |
assert get_col('notes') == '' | |
assert get_col('field_type') == 'checkbox' | |
assert get_col('matrix') == True | |
assert get_col('answers') == [] | |
assert get_col('answers_name') == '' | |
assert get_col('help_text') == '' | |
assert get_col('inline_attach') == False | |
# row 9 | |
get_col = gen_get_value_func(data['columns'], data['rows'][8]) | |
assert get_col('section') == 'Section2' | |
assert get_col('worksheet') == 'Worksheet3' | |
assert get_col('qtext') == 'Question9' | |
assert get_col('qname') == 'question_9' | |
assert get_col('livestock') == False | |
assert get_col('crop') == False | |
assert get_col('trader') == True | |
assert get_col('greenhouse') == True | |
assert get_col('apiary') == True | |
assert get_col('handler') == True | |
assert get_col('wild_crop') == True | |
assert get_col('notes') == '' | |
assert get_col('field_type') == 'checkbox_list' | |
assert get_col('matrix') == True | |
assert get_col('answers') == ['one', 'two', 'three', 'four'] | |
assert get_col('answers_name') == 'numbers' | |
assert get_col('help_text') == '' | |
assert get_col('inline_attach') == True | |
# row 10 | |
get_col = gen_get_value_func(data['columns'], data['rows'][9]) | |
assert get_col('section') == 'Section2' | |
assert get_col('worksheet') == 'Worksheet4' | |
assert get_col('qtext') == 'Question10' | |
assert get_col('qname') == 'question_10' | |
assert get_col('livestock') == True | |
assert get_col('crop') == False | |
assert get_col('trader') == True | |
assert get_col('greenhouse') == False | |
assert get_col('apiary') == False | |
assert get_col('handler') == True | |
assert get_col('wild_crop') == True | |
assert get_col('notes') == '' | |
assert get_col('field_type') == 'bool' | |
assert get_col('matrix') == False | |
assert get_col('answers') == [] | |
assert get_col('answers_name') == '' | |
assert get_col('help_text') == '' | |
assert get_col('inline_attach') == True | |
# row 11 | |
get_col = gen_get_value_func(data['columns'], data['rows'][10]) | |
assert get_col('section') == 'Section2' | |
assert get_col('worksheet') == 'Worksheet4' | |
assert get_col('qtext') == 'Question11' | |
assert get_col('qname') == 'question_11' | |
assert get_col('livestock') == True | |
assert get_col('crop') == False | |
assert get_col('trader') == True | |
assert get_col('greenhouse') == False | |
assert get_col('apiary') == False | |
assert get_col('handler') == True | |
assert get_col('wild_crop') == True | |
assert get_col('notes') == '' | |
assert get_col('field_type') == 'text' | |
assert get_col('matrix') == False | |
assert get_col('answers') == [] | |
assert get_col('answers_name') == '' | |
assert get_col('help_text') == '' | |
assert get_col('inline_attach') == False | |
# row 12 | |
get_col = gen_get_value_func(data['columns'], data['rows'][11]) | |
assert get_col('section') == 'Section2' | |
assert get_col('worksheet') == 'Worksheet4' | |
assert get_col('qtext') == 'Question12' | |
assert get_col('qname') == 'question_12' | |
assert get_col('livestock') == True | |
assert get_col('crop') == False | |
assert get_col('trader') == True | |
assert get_col('greenhouse') == False | |
assert get_col('apiary') == False | |
assert get_col('handler') == True | |
assert get_col('wild_crop') == True | |
assert get_col('notes') == '' | |
assert get_col('field_type') == 'select' | |
assert get_col('matrix') == False | |
assert get_col('answers') == ['a', 'b', 'c', 'd'] | |
assert get_col('answers_name') == 'letters' | |
assert get_col('help_text') == '' | |
assert get_col('inline_attach') == False |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment