コード例 #1
0
 def test_result_set_add_row_works_and_increments_rowcount(self, value4, headers4, order_map4):
     rs = resultset.ResultSet(value4, headers4, order_map4)
     assert rs.row_count == 2
     #r = resultset.Row([6, 7, 8], rs.rowdef)
     rs.addrow([6, 7, 8])
     assert rs.row_count == 3
     assert list(rs.rows[2].data) == [6, 7, 8] # also tests that list() preserves ordering of tuple by prop name
コード例 #2
0
 def test_row_creation_succeeds(self, it, it_type, it_headers, order_map, eqcheck):
     rs = resultset.ResultSet(it, it_headers, order_map)
     r = resultset.Row(it[0], rs.rowdef)
     assert list(r.data) == eqcheck # test data correct 
     assert r.data.a == 1 # test we can access data fields with dot notation
     #assert r.data.get('a', None) == 1 # test we can access data fields with get notation
     #assert r.rowdef is rs.rowdef # test standalone row roweef is reference to result set rowdef
     assert r.rowdef() == rs.rowdef._fields
コード例 #3
0
 def test_result_set_add_row_onfail_tracks_errors_and_increments_errorcount(self, value5, headers5, order_map5):
     rs = resultset.ResultSet(value5, headers5, order_map5)
     assert rs.row_count == 0
     assert rs.error_count == 1
     rs.addrow([6, 7, 8])
     rs.addrow([9, 10])
     assert rs.row_count == 1
     assert rs.error_count == 2
     assert list(rs.rows[0].data) == [6, 7, 8]
     assert type(rs.errors) is list
     assert rs.errors == [[1,2],[9,10]]
コード例 #4
0
class TestResults(object):
    @pytest.mark.parametrize("value1,headers1,order_map1", [
       ([[1, 2, 3]], ['a', 'b', 'c'], None), # list
    ], scope="class")
    def test_can_create_result_set(self, value1, headers1, order_map1):
        rs = resultset.ResultSet(value1, headers1, order_map1)
        results = resultset.Results([rs])
        assert isinstance(results, resultset.Results)

    @pytest.mark.parametrize("rs,config", [
        (resultset.ResultSet([[1, 2, 3]], ['a', 'b', 'c'], None), -1),
        (resultset.ResultSet([[1, 2, 3]], ['a', 'b', 'c'], None), []),
        (resultset.ResultSet([[1, 2, 3]], ['a', 'b', 'c'], None), "failstring"),
    ], scope="class")
    def test_manage_config_raises_type_error_when_opts_not_dict(self, rs, config):
        with pytest.raises(TypeError):
            resultset.Results([rs], config)

    @pytest.mark.parametrize("rs1,config1", [
        (resultset.ResultSet([[1, 2, 3]], ['a', 'b', 'c'], None), {"test": True}),
    ], scope="class")
    def test_manage_config_sets_self_config(self, rs1, config1):
        result = resultset.Results([rs1], config1)
        assert result.config == {"test": True}
コード例 #5
0
 def test_result_set_add_row_sets_rowcount_on_intilization_w_mutlirow_set(self, value3, headers3, order_map3):
     rs = resultset.ResultSet(value3, headers3, order_map3)
     assert rs.row_count == 2
コード例 #6
0
 def test_result_set_add_row_sets_rowcount_on_intilization(self, value2, headers2, order_map2):
     rs = resultset.ResultSet(value2, headers2, order_map2)
     assert rs.row_count == 1
コード例 #7
0
 def test_result_set_can_take_a_generator_on_initialization(self, gen, genheaders, order_map_gen):
     assert type(gen) is types.GeneratorType
     rs = resultset.ResultSet(gen, genheaders, order_map_gen)
     assert type(rs.generate_rows) is types.GeneratorType
コード例 #8
0
 def test_result_set_generate_rows_is_a_generator_after_init(self):
     rs = resultset.ResultSet([[1, 2, 3]], ['a', 'b', 'c'], None)
     assert type(rs.generate_rows) is types.GeneratorType
コード例 #9
0
 def test_can_create_result_set(self, value1, headers1, order_map1):
     rs = resultset.ResultSet(value1, headers1, order_map1)
     assert isinstance(rs, resultset.ResultSet)
コード例 #10
0
 def test_normalize_row_returns_named_tuple(self, value, headers, order_map):
     rs = resultset.ResultSet(value, headers, order_map)
     r = resultset.Row._normalize_row(value[0], rs.rowdef)
     assert r.a == 1
     assert r.b == 2
     assert r.c == 3
コード例 #11
0
 def test_normalize_row_raises_type_error_for_incorrect_value_types(self, values):
     rs = resultset.ResultSet(values, ['a', 'b', 'c'])
     with pytest.raises(TypeError):
         resultset.Row._normalize_row(values[0], rs.rowdef)