def test_normpath_many_double_dots_no_root():
    assert file.normpath('A/../../../../../B/') == 'B/'
def test_normpath_all_fixes():
    assert file.normpath('/A/./B//C/../../D') == '/A/D'
def test_normpath_double_dots_empty_slash():
    assert file.normpath('/A/../B/../') == '/'
def test_normpath_many_double_dots():
    assert file.normpath('/A/../../../../../B/') == '/B/'
def test_normpath_double_dots_end():
    assert file.normpath('/C/A/../B/..') == '/C'
def test_normpath_double_dots_end_slash():
    assert file.normpath('/C/A/../B/../') == '/C/'
def test_normpath_empty_dir():
    assert file.normpath('/A//B') == '/A/B'
def test_normpath_single_dots():
    assert file.normpath('/A/./B/') == '/A/B/'
def test_normpath_neither_slash():
    assert file.normpath('A/B/C') == 'A/B/C'
def test_normpath_no_trailing_slash():
    assert file.normpath('/A/B/C') == '/A/B/C'
def test_normpath_no_leading_slash():
    assert file.normpath('A/B/C/') == 'A/B/C/'
def test_normpath_empty_path():
    assert file.normpath('') == ''
def test_normpath():
    assert file.normpath('/A/B/C/') == '/A/B/C/'