def test_vstudio_read_files_at_a_higher_than_second_level_are_added_as_project_items_considering_relative_path_from_project_path():
    actual = ide.vstudio_read(2, "./MySolution/Proj1/Dir1", [], ["sub_file1.py", "sub_file2.txt"])
    expected = [
        (ide.ADD_COMPILE, "Proj1.pyproj", join("Dir1", "sub_file1.py")),
        (ide.ADD_CONTENT, "Proj1.pyproj", join("Dir1", "sub_file2.txt")),
    ]
    assert actual == expected
def test_vstudio_read_dirs_at_a_higher_than_second_level_are_added_as_project_folders_considering_relative_path_from_project_path():
    actual = ide.vstudio_read(2, "C:/Projects/MySolution/Proj1/Dir1", ["sub_dir1", "sub_dir2"], [])
    expected = [
        (ide.ADD_FOLDER, "Proj1.pyproj", join("Dir1", "sub_dir1", "")),
        (ide.ADD_FOLDER, "Proj1.pyproj", join("Dir1", "sub_dir2", "")),
    ]
    assert actual == expected
def test_vstudio_read_dirs_at_the_second_level_are_added_as_project_folders_for_absolute_path():
    actual = ide.vstudio_read(1, "C:/Projects/MySolution/Proj1", ["sub_dir1", "sub_dir2"], [])
    expected = [
        (ide.ADD_FOLDER, "Proj1.pyproj", join("sub_dir1", "")),
        (ide.ADD_FOLDER, "Proj1.pyproj", join("sub_dir2", "")),
    ]
    assert actual == expected
def test_vstudio_read_dirs_at_the_first_level_are_added_as_solution_projects():
    actual = ide.vstudio_read(0, "C:/Projects/MySolution", ["dir1", "dir2"], [])
    expected = [
        (ide.ADD_CONTAINER, None, "MySolution.sln"),
        (ide.ADD_CONTAINER, "MySolution.sln", "dir1.pyproj"),
        (ide.ADD_CONTAINER, "MySolution.sln", "dir2.pyproj"),
    ]
    assert actual == expected
def test_vstudio_read_files_at_the_first_level_are_added_as_solution_files():
    actual = ide.vstudio_read(0, "C:/Projects/MySolution", [], ["file1.py", "file2.txt"])
    expected = [
        (ide.ADD_CONTAINER, None, "MySolution.sln"),
        (ide.ADD_COMPILE, "MySolution.sln", "file1.py"),
        (ide.ADD_CONTENT, "MySolution.sln", "file2.txt"),
    ]
    assert actual == expected
def test_vstudio_read_files_at_the_second_level_distinguises_compilable_from_content_files():
    actual = ide.vstudio_read(1, "./MySolution/Proj1", [], ["sub_file1.py", "sub_file2.txt"])
    expected = [(ide.ADD_COMPILE, "Proj1.pyproj", "sub_file1.py"), (ide.ADD_CONTENT, "Proj1.pyproj", "sub_file2.txt")]
    assert actual == expected
def test_vstudio_read_files_at_the_second_level_are_added_as_project_items_for_relative_path():
    actual = ide.vstudio_read(1, "./MySolution/Proj1", [], ["sub_file1.py", "sub_file2.py"])
    expected = [(ide.ADD_COMPILE, "Proj1.pyproj", "sub_file1.py"), (ide.ADD_COMPILE, "Proj1.pyproj", "sub_file2.py")]
    assert actual == expected
def test_vstudio_read_a_solution_is_created_at_level_zero_for_absolute_paths():
    actual = ide.vstudio_read(0, "C:/Projects/MySolution", [], [])
    assert actual[0] == (ide.ADD_CONTAINER, None, "MySolution.sln")
def test_vstudio_read_a_solution_is_created_at_level_zero_for_relative_paths():
    actual = ide.vstudio_read(0, ".", [], [])
    assert actual[0] == (ide.ADD_CONTAINER, None, "ideskeleton.sln")