def test_no_args(self): options = pecuniacli._parse_options(['list']) self.assertIsNone(options.db_file) self.assertEqual('list', options.command) self.assertIsNone(options.dates) self.assertEquals([], options.include_regexs) self.assertEquals([], options.exclude_regexs) self.assertFalse(options.no_tags) self.assertFalse(options.print_total) self.assertIsNone(options.export_total)
def test_with_file(self): with _captured_stderr(): options = pecuniacli._parse_options(['import', 'foo.csv']) self.assertIsNone(options.db_file) self.assertEqual('import', options.command) self.assertEqual(['foo.csv'], options.input_file_paths)
def test_no_args_raises(self): with self.assertRaises(SystemExit): with _captured_stderr(): pecuniacli._parse_options(['import'])
def test_invalid_command_raises(self): with self.assertRaises(SystemExit): with _captured_stderr(): pecuniacli._parse_options(['not-a-command'])
def test_with_file_raises(self): with self.assertRaises(SystemExit): with _captured_stderr(): pecuniacli._parse_options(['classify', 'foo.csv'])
def test_include_and_exclude_raises(self): with self.assertRaises(SystemExit): with _captured_stderr(): pecuniacli._parse_options( ['list', '--include=foo', '--exclude=foo'])
def test_dates_files_twice(self): options = pecuniacli._parse_options( ['list', '--dates-file=dates.txt', '--dates-file=more-dates.txt']) self.assertEqual('list', options.command) self.assertEqual(['dates.txt', 'more-dates.txt'], options.dates_files)
def test_db_file(self): options = pecuniacli._parse_options(['--db-file=FILE', 'list']) self.assertEqual('FILE', options.db_file)
def test_dates_after_date(self): options = pecuniacli._parse_options(['tags', '--dates=2018-09-14..']) self.assertEqual( datetools.DateSequence([ datetools.DateRange(datetime.date(2018, 9, 14), None), ]), options.dates)
def test_dates_one_date(self): options = pecuniacli._parse_options(['tags', '--dates=2018-09-14']) self.assertEqual(datetools.DateSequence([datetime.date(2018, 9, 14)]), options.dates)
def test_dates_no_arg(self): with self.assertRaises(SystemExit): with _captured_stderr(): pecuniacli._parse_options(['tags', '--dates'])
def test_no_args(self): options = pecuniacli._parse_options(['tags']) self.assertIsNone(options.db_file) self.assertEqual('tags', options.command) self.assertIsNone(options.dates)
def test_export_total(self): options = pecuniacli._parse_options(['list', '--export-total=FILE']) self.assertEqual('list', options.command) self.assertEqual('FILE', options.export_total)
def test_print_total(self): options = pecuniacli._parse_options(['list', '--print-total']) self.assertEqual('list', options.command) self.assertTrue(options.print_total)
def test_no_tags(self): options = pecuniacli._parse_options(['list', '--no-tags']) self.assertEqual('list', options.command) self.assertTrue(options.no_tags)
def test_db_file(self): options = pecuniacli._parse_options( ['--db-file=FILE', 'import', 'foo.csv']) self.assertEqual('FILE', options.db_file)
def test_no_args(self): options = pecuniacli._parse_options(['classify']) self.assertIsNone(options.db_file) self.assertEqual('classify', options.command) self.assertFalse(options.no_tags) self.assertEquals([], options.include_regexs)
def test_dates_files(self): options = pecuniacli._parse_options( ['classify', '--dates-file=dates.txt']) self.assertEqual(['dates.txt'], options.dates_files)
def test_dates(self): options = pecuniacli._parse_options(['list', '--dates=2019-05-03']) self.assertEqual('list', options.command) self.assertEqual( datetools.DateSequence([datetools.parse_date('2019-05-03')]), options.dates)
def test_no_tags(self): options = pecuniacli._parse_options(['classify', '--no-tags']) self.assertEqual('classify', options.command) self.assertTrue(options.no_tags) self.assertEquals([], options.include_regexs)
def test_include(self): options = pecuniacli._parse_options(['list', '--include=foo']) self.assertEqual('list', options.command) self.assertEqual(['foo'], options.include_regexs)
def test_exclude_twice(self): options = pecuniacli._parse_options( ['list', '--exclude=foo', '--exclude=bar']) self.assertEqual('list', options.command) self.assertEqual(['foo', 'bar'], options.exclude_regexs)