def test_invalid_gc_type(self, presenter): """When the user submits an invalid type for GC ratio, they are shown an error. """ presenter._user_submits('ATATGCGC', '3', 'invalid gc', '0.65', 0) assert (presenter.view.mock_calls == [call.show_error('Invalid ratio for GC: invalid gc')]) assert presenter.model.mock_calls == []
def test_invalid_gc_type(self, presenter): """When the user submits an invalid type for GC ratio, they are shown an error. """ presenter._user_submits('ATATGCGC', '3', 'invalid gc', '0.65', 0) assert (presenter.view.mock_calls == [ call.show_error('Invalid ratio for GC: invalid gc') ]) assert presenter.model.mock_calls == []
def test_invalid_island_size_type(self, presenter): """When the user submits an invalid type of island size, they are shown an error.""" presenter._user_submits( 'ATATGCGC', 'invalid size', '0.5', '0.65', 0) assert (presenter.view.mock_calls == [call.show_error( 'Invalid integer for island size: invalid size')]) assert presenter.model.mock_calls == []
def test_invalid_sequence(self, presenter): """When the user submits a sequence that does not contain valid bases, they are shown an error.""" presenter._user_submits('ABCD', '3', '0.5', '0.65', 0) assert (presenter.view.mock_calls == [call.show_error( 'Sequence letters not within alphabet:\n' ' Alphabet: GATC\n' ' Sequence: ABCD')]) assert presenter.model.mock_calls == []
def test_invalid_sequence(self, presenter): presenter.model.load_file.side_effect = ValueError( 'this is a fake message') presenter._file_loaded(sentinel.file_path) assert (presenter.model.mock_calls == [call.load_file(sentinel.file_path)]) assert (presenter.view.mock_calls == [call.show_error( 'Sequence parsing error: this is a fake message')])
def test_invalid_island_size_type(self, presenter): """When the user submits an invalid type of island size, they are shown an error.""" presenter._user_submits('ATATGCGC', 'invalid size', '0.5', '0.65', 0) assert (presenter.view.mock_calls == [ call.show_error( 'Invalid integer for island size: invalid size') ]) assert presenter.model.mock_calls == []
def test_invalid_sequence(self, presenter): """When the user submits a sequence that does not contain valid bases, they are shown an error.""" presenter._user_submits('ABCD', '3', '0.5', '0.65', 0) assert (presenter.view.mock_calls == [ call.show_error('Sequence letters not within alphabet:\n' ' Alphabet: GATC\n' ' Sequence: ABCD') ]) assert presenter.model.mock_calls == []
def test_invalid_min_obs_exp_cpg_type(self, presenter): """When the user submits an invalid type for minimum observed/expected CpG ratio, they are shown an error. """ presenter._user_submits('ATATGCGC', '3', '0.5', 'invalid obsexpcpg', 0) assert (presenter.view.mock_calls == [ call.show_error('Invalid ratio for minimum observed/expected ' 'CpG ratio: invalid obsexpcpg') ]) assert presenter.model.mock_calls == []
def test_invalid_sequence(self, presenter): presenter.model.load_file.side_effect = ValueError( 'this is a fake message') presenter._file_loaded(sentinel.file_path) assert (presenter.model.mock_calls == [ call.load_file(sentinel.file_path) ]) assert (presenter.view.mock_calls == [ call.show_error( 'Sequence parsing error: this is a fake message') ])
def test_invalid_min_obs_exp_cpg_type(self, presenter): """When the user submits an invalid type for minimum observed/expected CpG ratio, they are shown an error. """ presenter._user_submits( 'ATATGCGC', '3', '0.5', 'invalid obsexpcpg', 0) assert (presenter.view.mock_calls == [call.show_error( 'Invalid ratio for minimum observed/expected ' 'CpG ratio: invalid obsexpcpg')]) assert presenter.model.mock_calls == []