def test_path_manipulation(self): env = EnvironmentModifications() env.append_path('PATH_LIST', '/path/last') env.prepend_path('PATH_LIST', '/path/first') env.append_path('EMPTY_PATH_LIST', '/path/middle') env.append_path('EMPTY_PATH_LIST', '/path/last') env.prepend_path('EMPTY_PATH_LIST', '/path/first') env.append_path('NEWLY_CREATED_PATH_LIST', '/path/middle') env.append_path('NEWLY_CREATED_PATH_LIST', '/path/last') env.prepend_path('NEWLY_CREATED_PATH_LIST', '/path/first') env.remove_path('REMOVE_PATH_LIST', '/remove/this') env.remove_path('REMOVE_PATH_LIST', '/duplicate/') env.apply_modifications() self.assertEqual( '/path/first:/path/second:/path/third:/path/last', os.environ['PATH_LIST'] ) self.assertEqual( '/path/first:/path/middle:/path/last', os.environ['EMPTY_PATH_LIST'] ) self.assertEqual( '/path/first:/path/middle:/path/last', os.environ['NEWLY_CREATED_PATH_LIST'] ) self.assertEqual('/a/b:/a/c:/a/d:/f/g', os.environ['REMOVE_PATH_LIST'])