Пример #1
0
    def test_proc_dict_to_schema_vals(self):
        dd = test_instantiate_dialect_detector()
        se = test_instantiate_schema_engine()

        headers = dd.sniff_for_headers(INV_TEST_REG)
        csv_reader = SchemaEngine.build_csv_reader(INV_TEST_REG)

        processed = se._proc_rows_to_dict(headers, csv_reader)

        schema_values = se._proc_dict_to_schema_vals(processed, processed)

        assert isinstance(schema_values, list)
        for pair in schema_values:
            assert isinstance(pair, tuple)
            for part in pair:
                assert isinstance(part, str)

        assert ('Cost', 'Double') in schema_values
        assert ('Description', 'LongChar Width 5000') in schema_values
        assert ('Year', 'Double') not in schema_values
Пример #2
0
    def test_proc_rows_to_dict(self):
        dd = test_instantiate_dialect_detector()

        headers = dd.sniff_for_headers(INV_TEST_REG)
        csv_reader = SchemaEngine.build_csv_reader(INV_TEST_REG)

        processed = SchemaEngine()._proc_rows_to_dict(headers, csv_reader)

        assert isinstance(processed, defaultdict)
        assert isinstance(processed["FileType"], list)
        assert isinstance(processed["FileType"][0], tuple)

        for _, det_type in processed["Cost"]:
            assert det_type is float

        for _, det_type in processed["Year"]:
            assert det_type is int

        for _, det_type in processed["Description"]:
            assert det_type is str or not det_type

        for _, det_type in processed["SoldDate"]:
            assert not det_type