def test_user_gets_prompted_if_no_output_is_given(mock_confirm): mock_confirm.return_value = False sys.argv = ["", "-i", "tests/data"] with pytest.raises(SystemExit) as e: assert mock_confirm.call_count == 0 cli() assert mock_confirm.call_count == 1 assert e.type == SystemExit
def test_user_gets_prompted_if_output_same_as_input(mock_confirm): mock_confirm.return_value = False sys.argv = ['', '-i', 'tests/data'] with pytest.raises(SystemExit) as e: assert mock_confirm.call_count == 0 cli() assert mock_confirm.call_count == 1 assert e.type == SystemExit
def test_main_overwrites_when_same_input_and_output(integration): sys.argv = ["", "--no-confirm", "-i", "tests/test", "-o", "tests/test"] cli() output_files = os.listdir(sys.argv[-1]) from pprint import pprint pprint(output_files) assert len(output_files) == 11
def test_image_files_overwritten_if_no_output_dir(integration): sys.argv = ['', '-i', 'tests/test'] cli() # We have the same number of files output_files = os.listdir(sys.argv[-1]) assert len(output_files) == 10 # Images with a face have been cropped shape = cv2.imread('tests/test/king.jpg').shape assert shape == (500, 500, 3)
def test_nofaces_copied_to_reject_d_if_both_reject_and_output_d(integration): sys.argv = [ '', '-i', 'tests/test', '-o', 'tests/crop', '-r', 'tests/reject' ] cli() output_files = os.listdir('tests/crop') reject_files = os.listdir('tests/reject') assert len(output_files) == 0 assert len(reject_files) == 9
def test_nofaces_copied_to_reject_d_if_both_reject_and_output_d(integration): sys.argv = [ "", "-i", "tests/test", "-o", "tests/crop", "-r", "tests/reject", ] cli() output_files = os.listdir(sys.argv[-3]) reject_files = os.listdir(sys.argv[-1]) assert len(output_files) == 7 assert len(reject_files) == 3
def test_user_does_not_get_prompted_if_no_confirm(mock_confirm): mock_confirm.return_value = False sys.argv = ['', '-i', 'tests/data', '--no-confirm'] assert mock_confirm.call_count == 0 cli() assert mock_confirm.call_count == 0
def test_images_files_copied_over_if_output_dir_specified(integration): sys.argv = ['', '-i', 'tests/test', '-o', 'tests/crop'] cli() output_files = os.listdir(sys.argv[-1]) assert len(output_files) == 9
def test_main_overwrites_when_same_input_and_output(integration): sys.argv = ['', '--no-confirm', '-i', 'tests/test', '-o', 'tests/test'] cli() output_files = os.listdir(sys.argv[-1]) assert len(output_files) == 10
def test_user_does_not_get_prompted_if_output_d_is_given(mock_confirm): mock_confirm.return_value = False sys.argv = ['', '-i', 'tests/data', '-o', 'tests/crop'] assert mock_confirm.call_count == 0 cli() assert mock_confirm.call_count == 0
def test_cli_width_minus_14_not_valid(): sys.argv = ['autocrop', '-w', '-14'] with pytest.raises(SystemExit) as e: cli() assert e.type == SystemExit assert 'SystemExit' in str(e)
def test_cli_width_140_is_valid(mock_main): mock_main.return_value = None sys.argv = ["autocrop", "-w", "140", "--no-confirm"] assert mock_main.call_count == 0 cli() assert mock_main.call_count == 1
def test_cli_invalid_input_path_errors_out(): sys.argv = ['autocrop', '-i', 'asdfasdf'] with pytest.raises(SystemExit) as e: cli() assert e.type == SystemExit assert 'SystemExit' in str(e)
def test_cli_no_images_in_input_path(): sys.argv = ['autocrop', '-i', 'tests'] with pytest.raises(SystemExit) as e: cli() assert e.type == SystemExit assert 'SystemExit' in str(e)
def test_cli_invalid_input_path_errors_out(): sys.argv = ["autocrop", "-i", "asdfasdf"] with pytest.raises(SystemExit) as e: cli() assert e.type == SystemExit assert "SystemExit" in str(e)
def test_cli_width_140_is_valid(mock_main): mock_main.return_value = None sys.argv = ['autocrop', '-w', '140', '--no-confirm'] assert mock_main.call_count == 0 cli() assert mock_main.call_count == 1
def test_cli_no_images_in_input_path(): sys.argv = ["autocrop", "-i", "tests"] with pytest.raises(SystemExit) as e: cli() assert e.type == SystemExit assert "SystemExit" in str(e)
def test_noface_files_copied_over_if_output_d_specified(integration): sys.argv = ["", "-i", "tests/test", "-o", "tests/crop"] cli() output_files = os.listdir(sys.argv[-1]) assert len(output_files) == 10
def test_user_does_not_get_prompted_if_no_confirm(mock_confirm): mock_confirm.return_value = False sys.argv = ["", "-i", "tests/data", "--no-confirm"] assert mock_confirm.call_count == 0 cli() assert mock_confirm.call_count == 0
def test_user_does_not_get_prompted_if_output_d_is_given(mock_confirm): mock_confirm.return_value = False sys.argv = ["", "-i", "tests/data", "-o", "tests/crop"] assert mock_confirm.call_count == 0 cli() assert mock_confirm.call_count == 0
def test_cli_width_minus_14_not_valid(): sys.argv = ["autocrop", "-w", "-14"] with pytest.raises(SystemExit) as e: cli() assert e.type == SystemExit assert "SystemExit" in str(e)
def test_cli_no_args_means_cwd(mock_main): mock_main.return_value = None sys.argv = ['', '--no-confirm'] cli() args, _ = mock_main.call_args assert args == ('.', None, 500, 500)
def test_cli_no_args_means_cwd(mock_main): mock_main.return_value = None sys.argv = ["", "--no-confirm"] cli() args, _ = mock_main.call_args assert args == (".", None, None, 500, 500, 50, False, False, False, False)