Ejemplo n.º 1
0
def test7_white_space_import():
    filename = '7_white_space.data'
    filepath = test_file_path + filename

    # Test File Import
    assert sfcparse.importfile(filepath)
    file_import = sfcparse.importfile(filepath)

    # Test Attributes and Types
    assert (file_import.data_list == [1, 2, 3]) and (type(
        file_import.data_list) == type(list()))
    assert (file_import.data_str == "data") and (type(file_import.data_str)
                                                 == type(str()))
    assert (file_import.data_tuple == (1, 2, 3)) and (type(
        file_import.data_tuple) == type(tuple()))
    assert (file_import.data_none == None) and (type(file_import.data_none)
                                                == type(None))
    assert (file_import.data_bytes == b'data') and (type(
        file_import.data_bytes) == type(bytes()))
    assert (file_import.data_float == 1.0) and (type(file_import.data_float)
                                                == type(float()))
    assert (file_import.data_set == {1, 2, 3}) and (type(file_import.data_set)
                                                    == type(set()))
    assert (file_import.data_bool == True) and (type(file_import.data_bool)
                                                == type(bool()))
Ejemplo n.º 2
0
def test2_single_line_import():
    filename = '2_single_line.data'
    filepath = test_file_path + filename

    # Test File Import
    assert sfcparse.importfile(filepath)
    file_import = sfcparse.importfile(filepath)

    # Test Attributes and Types
    assert (file_import.data_str == "data") and (type(file_import.data_str)
                                                 == type(str()))
    assert (file_import.data_int == 1) and (type(file_import.data_int) == type(
        int()))
    assert (file_import.data_float == 1.0) and (type(file_import.data_float)
                                                == type(float()))
    assert (file_import.data_bool == True) and (type(file_import.data_bool)
                                                == type(bool()))
    assert (file_import.data_list == [1, 2, 3]) and (type(
        file_import.data_list) == type(list()))
    assert (file_import.data_dict == {
        'k1': 1,
        'k2': 2,
        'k3': 3
    }) and (type(file_import.data_dict) == type(dict()))
    assert (file_import.data_tuple == (1, 2, 3)) and (type(
        file_import.data_tuple) == type(tuple()))
    assert (file_import.data_set == {1, 2, 3}) and (type(file_import.data_set)
                                                    == type(set()))
    assert (file_import.data_none == None) and (type(file_import.data_none)
                                                == type(None))
    assert (file_import.data_bytes == b'data') and (type(
        file_import.data_bytes) == type(bytes()))
Ejemplo n.º 3
0
def test6_nested_data_import():
    filename = '6_nested.data'
    filepath = test_file_path + filename

    # Test File Import
    assert sfcparse.importfile(filepath)
    file_import = sfcparse.importfile(filepath)

    # Test Attributes and Types
    assert type(file_import.data_list) == type(list())
    assert (file_import.data_list[0] == [1, 2, 3]) and (type(
        file_import.data_list[0]) == type(list()))
    assert (file_import.data_list[1] == [1, 2, 3, 4, 5]) and (type(
        file_import.data_list[1]) == type(list()))
    assert (file_import.data_list[2] == {
        'k1': 1,
        'k2': 2,
        'k3': 3
    }) and (type(file_import.data_list[2]) == type(dict()))
    assert (file_import.data_list[3] == (1, 2, 3)) and (type(
        file_import.data_list[3]) == type(tuple()))
    assert (file_import.data_list[4] == {1, 2, 3}) and (type(
        file_import.data_list[4]) == type(set()))
    assert (file_import.data_list[5] == [1, 2, 3]) and (type(
        file_import.data_list[5]) == type(list()))
Ejemplo n.º 4
0
def test3_multi_data_file_export():
    filename = '3_multi_data_file.data'
    filepath = test_file_path + filename
    data = {'k1':1, 'k2':2, 'k3':3}
    big_data = f"""\n\n# Comment
data_b1 = {data}
data_b2 = {data}
data_b3 = {data}
"""

    # Remove Any Existing Test File
    try: remove(filepath)
    except: pass
    time.sleep(file_delay_timer)
    # Test Not Exist, Create, Exist, Data and it's Type
    assert not path.exists(filepath)
    sfcparse.exportfile(filepath, f"data1 = {data}", f"\ndata2 = {data}", f"\ndata3 = {data}", big_data)
    assert path.exists(filepath)
    file_import = sfcparse.importfile(filepath)
    assert (file_import.data1 == {'k1':1, 'k2':2, 'k3':3}) and (type(file_import.data1) == type(dict()))
    assert (file_import.data2 == {'k1':1, 'k2':2, 'k3':3}) and (type(file_import.data2) == type(dict()))
    assert (file_import.data3 == {'k1':1, 'k2':2, 'k3':3}) and (type(file_import.data3) == type(dict()))
    assert (file_import.data_b1 == {'k1':1, 'k2':2, 'k3':3}) and (type(file_import.data_b1) == type(dict()))
    assert (file_import.data_b2 == {'k1':1, 'k2':2, 'k3':3}) and (type(file_import.data_b2) == type(dict()))
    assert (file_import.data_b3 == {'k1':1, 'k2':2, 'k3':3}) and (type(file_import.data_b3) == type(dict()))
    # Remove Test File
    time.sleep(file_delay_timer)
    try: remove(filepath)
    except: pass
Ejemplo n.º 5
0
def test1_basic_file_append():
    filename = '1_basic_file_append.data'
    filepath = test_file_path + filename
    data = {'k1': 1, 'k2': 2, 'k3': 3}

    # Remove Any Existing Test File, then Create New One
    try:
        remove(filepath)
    except:
        pass
    time.sleep(file_delay_timer)
    assert not path.exists(filepath)
    sfcparse.exportfile(filepath)
    assert path.exists(filepath)
    # Test Single Line Append and Verify
    sfcparse.appendfile(filepath, f"data = {data}")
    file_import = sfcparse.importfile(filepath)
    assert (file_import.data == {
        'k1': 1,
        'k2': 2,
        'k3': 3
    }) and (type(file_import.data) == type(dict()))
    # Remove Test File
    time.sleep(file_delay_timer)
    try:
        remove(filepath)
    except:
        pass
Ejemplo n.º 6
0
def test2_multi_data_file_append():
    filename = '2_multi_data_file.data'
    filepath = test_file_path + filename
    data = {'k1': 1, 'k2': 2, 'k3': 3}
    big_data = f"""\n\n# Comment
data_b1 = {data}
data_b2 = {data}
data_b3 = {data}
"""

    # Remove Any Existing Test File
    try:
        remove(filepath)
    except:
        pass
    time.sleep(file_delay_timer)
    assert not path.exists(filepath)
    sfcparse.exportfile(filepath)
    assert path.exists(filepath)
    # Test Multi Line Append and Verify
    sfcparse.appendfile(filepath, f"data1 = {data}", f"\ndata2 = {data}",
                        f"\ndata3 = {data}", big_data)
    file_import = sfcparse.importfile(filepath)
    assert (file_import.data1 == {
        'k1': 1,
        'k2': 2,
        'k3': 3
    }) and (type(file_import.data1) == type(dict()))
    assert (file_import.data2 == {
        'k1': 1,
        'k2': 2,
        'k3': 3
    }) and (type(file_import.data2) == type(dict()))
    assert (file_import.data3 == {
        'k1': 1,
        'k2': 2,
        'k3': 3
    }) and (type(file_import.data3) == type(dict()))
    assert (file_import.data_b1 == {
        'k1': 1,
        'k2': 2,
        'k3': 3
    }) and (type(file_import.data_b1) == type(dict()))
    assert (file_import.data_b2 == {
        'k1': 1,
        'k2': 2,
        'k3': 3
    }) and (type(file_import.data_b2) == type(dict()))
    assert (file_import.data_b3 == {
        'k1': 1,
        'k2': 2,
        'k3': 3
    }) and (type(file_import.data_b3) == type(dict()))
    # Remove Test File
    time.sleep(file_delay_timer)
    try:
        remove(filepath)
    except:
        pass
Ejemplo n.º 7
0
def test3_data_tamper_file_append():
    filename = '3_data_tamper_file.data'
    filepath = test_file_path + filename
    data = {'k1': 1, 'k2': 2, 'k3': 3}
    big_data = f"""# Comment
data_b1 = {data}
data_b2 = {data}
data_b3 = {data}"""

    # Remove Any Existing Test File
    try:
        remove(filepath)
    except:
        pass
    time.sleep(file_delay_timer)
    assert not path.exists(filepath)
    # Export File with "Present Data"
    sfcparse.exportfile(filepath, big_data)
    assert path.exists(filepath)
    # Test Append Without Tampering Present Data and Verify. Appending 3x Lines
    sfcparse.appendfile(filepath, f"data1 = {data}", f"data2 = {data}",
                        f"data3 = {data}")
    file_import = sfcparse.importfile(filepath)
    assert (file_import.data1 == {
        'k1': 1,
        'k2': 2,
        'k3': 3
    }) and (type(file_import.data1) == type(dict()))
    assert (file_import.data2 == {
        'k1': 1,
        'k2': 2,
        'k3': 3
    }) and (type(file_import.data2) == type(dict()))
    assert (file_import.data3 == {
        'k1': 1,
        'k2': 2,
        'k3': 3
    }) and (type(file_import.data3) == type(dict()))
    assert (file_import.data_b1 == {
        'k1': 1,
        'k2': 2,
        'k3': 3
    }) and (type(file_import.data_b1) == type(dict()))
    assert (file_import.data_b2 == {
        'k1': 1,
        'k2': 2,
        'k3': 3
    }) and (type(file_import.data_b2) == type(dict()))
    assert (file_import.data_b3 == {
        'k1': 1,
        'k2': 2,
        'k3': 3
    }) and (type(file_import.data_b3) == type(dict()))
    # Remove Test File
    time.sleep(file_delay_timer)
    try:
        remove(filepath)
    except:
        pass
Ejemplo n.º 8
0
def test3_multi_line_import():
    filename = '3_multi_line.data'
    filepath = test_file_path + filename

    # Test File Import
    assert sfcparse.importfile(filepath)
    file_import = sfcparse.importfile(filepath)

    # Test Attributes and Types
    assert (file_import.data_list == [1, 2, 3]) and (type(
        file_import.data_list) == type(list()))
    assert (file_import.data_dict == {
        'k1': 1,
        'k2': 2,
        'k3': 3
    }) and (type(file_import.data_dict) == type(dict()))
    assert (file_import.data_tuple == (1, 2, 3)) and (type(
        file_import.data_tuple) == type(tuple()))
    assert (file_import.data_set == {1, 2, 3}) and (type(file_import.data_set)
                                                    == type(set()))
Ejemplo n.º 9
0
def test10_misc_data_import():
    filename = '10_misc.data'
    filepath = test_file_path + filename

    # Test File Import
    assert sfcparse.importfile(filepath)
    file_import = sfcparse.importfile(filepath)

    # Test Attributes and Types
    assert (file_import.data_single_tuple_1 == (1, )) and (type(
        file_import.data_single_tuple_1) == type(tuple()))
    assert (file_import.data_single_tuple_2 == (1, )) and (type(
        file_import.data_single_tuple_2) == type(tuple()))
    assert (file_import.data_tuple_int_1 == 1) and (type(
        file_import.data_tuple_int_1) == type(int()))
    assert (file_import.data_tuple_int_2 == 1) and (type(
        file_import.data_tuple_int_2) == type(int()))
    assert (file_import.data_str_1 == "data with internal spaces") and (type(
        file_import.data_str_1) == type(str()))
    assert (file_import.data_str_2
            == " data with internal and end spaces ") and (type(
                file_import.data_str_2) == type(str()))
    assert (file_import.data_list == [1, 2, 3]) and (type(
        file_import.data_list) == type(list()))
    assert (file_import.data_dict == {
        'k1': 1,
        'k2': 2,
        'k3': 3
    }) and (type(file_import.data_dict) == type(dict()))
    assert (file_import.data_tuple == (1, 2, 3)) and (type(
        file_import.data_tuple) == type(tuple()))
    assert (file_import.data_set == {1, 2, 3}) and (type(file_import.data_set)
                                                    == type(set()))
    assert (file_import.data_token1 == [
        'normal value', "var = 'value'", 'normal value'
    ]) and (type(file_import.data_token1) == type(list()))
    assert (file_import.data_end_token1 == [
        'normal value', "var = 'value'", 'normal value'
    ]) and (type(file_import.data_end_token1) == type(list()))
Ejemplo n.º 10
0
def test9_big_data_import():
    filename = '9_big_data_with_singles.data'
    filepath = test_file_path + filename
    big_data_len = 100_000

    # Test File Import
    assert sfcparse.importfile(filepath)
    file_import = sfcparse.importfile(filepath)

    # Test Attributes and Types
    assert (len(file_import.data_single) == big_data_len) and (type(
        file_import.data_single) == type(list()))
    assert (file_import.data_float == 1.0) and (type(file_import.data_float)
                                                == type(float()))
    assert (file_import.data_bool == True) and (type(file_import.data_bool)
                                                == type(bool()))
    assert (len(file_import.data_multi) == big_data_len) and (type(
        file_import.data_multi) == type(dict()))
    assert (file_import.data_none == None) and (type(file_import.data_none)
                                                == type(None))
    assert (file_import.data_bytes == b'data') and (type(
        file_import.data_bytes) == type(bytes()))
Ejemplo n.º 11
0
def test5_multi_single_comments_import():
    filename = '5_multi-single_comments.data'
    filepath = test_file_path + filename

    # Test File Import
    assert sfcparse.importfile(filepath)
    file_import = sfcparse.importfile(filepath)

    # Test Attributes and Types
    assert (file_import.data_bool == True) and (type(file_import.data_bool)
                                                == type(bool()))
    assert (file_import.data_list == [1, 2, 3]) and (type(
        file_import.data_list) == type(list()))
    assert (file_import.data_str == "data") and (type(file_import.data_str)
                                                 == type(str()))
    assert (file_import.data_tuple == (1, 2, 3)) and (type(
        file_import.data_tuple) == type(tuple()))
    assert (file_import.data_none == None) and (type(file_import.data_none)
                                                == type(None))
    assert (file_import.data_bytes == b'data') and (type(
        file_import.data_bytes) == type(bytes()))
    assert (file_import.data_set == {1, 2, 3}) and (type(file_import.data_set)
                                                    == type(set()))
Ejemplo n.º 12
0
def test2_data_file_export():
    filename = '2_data_file.data'
    filepath = test_file_path + filename
    data = {'k1':1, 'k2':2, 'k3':3}

    # Remove Any Existing Test File
    try: remove(filepath)
    except: pass
    time.sleep(file_delay_timer)
    # Test Not Exist, Create, Exist, Data and it's Type
    assert not path.exists(filepath)
    sfcparse.exportfile(filepath, f"data = {data}")
    assert path.exists(filepath)
    file_import = sfcparse.importfile(filepath)
    assert (file_import.data == {'k1':1, 'k2':2, 'k3':3}) and (type(file_import.data) == type(dict()))
    # Remove Test File
    time.sleep(file_delay_timer)
    try: remove(filepath)
    except: pass
Ejemplo n.º 13
0
def test1_default_format_export():
    filename = '1_data_format.data'
    filepath = test_file_path + filename
    data = {'k1':1, 'k2':2, 'k3':3, 'k4':4, 'k5':5}

    # Remove Any Existing Test File
    try: remove(filepath)
    except: pass
    time.sleep(file_delay_timer)
    # Test Formatted Data then Export it and Read it
    data_formatted = sfcparse.cleanformat(data)
    assert not path.exists(filepath)
    sfcparse.exportfile(filepath, f"data = {data_formatted}")
    assert path.exists(filepath)
    file_import = sfcparse.importfile(filepath)
    assert (file_import.data == {'k1':1, 'k2':2, 'k3':3, 'k4':4, 'k5':5}) and (type(file_import.data) == type(dict()))
    # Remove Test File
    time.sleep(file_delay_timer)
    try: remove(filepath)
    except: pass
Ejemplo n.º 14
0
def test2_indent_format_export():
    filename = '2_indent_format.data'
    filepath = test_file_path + filename
    data = {'k1':1, 'k2':2, 'k3':3, 'k4':4, 'k5':5}

    # Remove Any Existing Test File
    try: remove(filepath)
    except: pass
    time.sleep(file_delay_timer)
    # Test Formatted Data with Indent Change then Export it and Read it
    data_formatted1 = sfcparse.cleanformat(data, 0)
    data_formatted2 = sfcparse.cleanformat(data, 7)
    assert not path.exists(filepath)
    sfcparse.exportfile(filepath, f"data1 = {data_formatted1}")
    assert path.exists(filepath)
    sfcparse.appendfile(filepath, f"data2 = {data_formatted2}")
    file_import = sfcparse.importfile(filepath)
    assert (file_import.data1 == {'k1':1, 'k2':2, 'k3':3, 'k4':4, 'k5':5}) and (type(file_import.data1) == type(dict()))
    assert (file_import.data2 == {'k1':1, 'k2':2, 'k3':3, 'k4':4, 'k5':5}) and (type(file_import.data2) == type(dict()))
    # Remove Test File
    time.sleep(file_delay_timer)
    try: remove(filepath)
    except: pass
Ejemplo n.º 15
0
def test1_basic_file_import():
    filename = '1_empty.data'
    filepath = test_file_path + filename
    assert path.getsize(filepath) == 0, f"File Not Empty: {filename}"
    assert sfcparse.importfile(filepath), f"Cannot Import File {filename}"
Ejemplo n.º 16
0
 def test2_code_notexec_import(self):
     filename = '2_code_notexec.data'
     filepath = test_file_path + filename
     with self.assertRaises(SyntaxError):
         sfcparse.importfile(filepath)