def test_check_data_reports_multiple_errors(self): obj = create_plot_object(dt.DiceTable()) obj['tuple_list'] = [(10*1000, 2.0)] obj['dice'] = [('a', 2.)] self.assertEqual( fh.check_data(obj), 'error: corrupted "tuple_list" dicelist at (\'a\', 2.0)')
def test_check_data_reports_multiple_errors(self): obj = create_plot_object(dt.DiceTable()) obj['tuple_list'] = [(10 * 1000, 2.0)] obj['dice'] = [('a', 2.)] self.assertEqual( fh.check_data(obj), 'error: corrupted "tuple_list" dicelist at (\'a\', 2.0)')
def test_check_data_incorrect_type_at_key(self): table = dt.DiceTable() table.add_die(3, dt.Die(6)) obj = create_plot_object(table) obj['pts'] = 'a' #for difference in python2 and 3 self.assertIn(fh.check_data(obj), ("error: pts not <type 'list'>", "error: pts not <class 'list'>"))
def test_check_data_incorrect_type_at_key(self): table = dt.DiceTable() table.add_die(3, dt.Die(6)) obj = create_plot_object(table) obj['pts'] = 'a' #for difference in python2 and 3 self.assertIn( fh.check_data(obj), ("error: pts not <type 'list'>", "error: pts not <class 'list'>"))
def test_check_data_all_die_types_pass(self): table = dt.DiceTable() table.add_die(1, dt.Die(4)) table.add_die(1, dt.ModDie(4, 2)) table.add_die(1, dt.WeightedDie({1: 2})) table.add_die(1, dt.ModWeightedDie({1: 2}, 3)) table.add_die(1, dt.StrongDie(dt.Die(3), 3)) obj = create_plot_object(table) self.assertEqual(fh.check_data(obj), 'ok')
def test_check_data_all_die_types_pass(self): table = dt.DiceTable() table.add_die(1, dt.Die(4)) table.add_die(1, dt.ModDie(4, 2)) table.add_die(1, dt.WeightedDie({1:2})) table.add_die(1, dt.ModWeightedDie({1:2}, 3)) table.add_die(1, dt.StrongDie(dt.Die(3), 3)) obj = create_plot_object(table) self.assertEqual(fh.check_data(obj), 'ok')
def test_check_data_incorrect_die_in_dice(self): obj = create_plot_object(dt.DiceTable()) obj['dice'] = [('a', 2.)] self.assertEqual(fh.check_data(obj), 'error: dicelist at (\'a\', 2.0)')
def test_check_data_long_in_freq_in_tuple_list_ok(self): obj = create_plot_object(dt.DiceTable()) obj['tuple_list'] = [(10*1000, 2)] self.assertEqual(fh.check_data(obj), 'ok')
def test_check_data_incorrect_val_in_tuple_list(self): obj = create_plot_object(dt.DiceTable()) obj['tuple_list'] = [(10*1000, 2.0)] self.assertEqual(fh.check_data(obj), 'error: corrupted "tuple_list"')
def test_check_data_missing_key(self): table = dt.DiceTable() table.add_die(3, dt.Die(6)) obj = create_plot_object(table) del obj['pts'] self.assertEqual(fh.check_data(obj), 'error: missing key')
def test_check_data_incorrect_y_range(self): obj = create_plot_object(dt.DiceTable()) obj['y_range'] = (1.0, 2) self.assertEqual(fh.check_data(obj), 'error: incorrect y_range')
def check_data_not_a_dictionary(self): self.assertEqual(fh.check_data('a'), 'error: not a dict')
def test_check_data_missing_key(self): table = dt.DiceTable() table.add_die(3, dt.Die(6)) obj = create_plot_object(table) del obj['pts'] self.assertEqual(fh.check_data(obj), 'error: missing key')
def check_data_not_a_dictionary(self): self.assertEqual(fh.check_data('a'), 'error: not a dict')
def test_check_data_incorrect_y_range(self): obj = create_plot_object(dt.DiceTable()) obj['y_range'] = (1.0, 2) self.assertEqual(fh.check_data(obj), 'error: incorrect y_range')
def test_check_data_long_in_freq_in_tuple_list_ok(self): obj = create_plot_object(dt.DiceTable()) obj['tuple_list'] = [(10 * 1000, 2)] self.assertEqual(fh.check_data(obj), 'ok')
def test_check_data_incorrect_die_in_dice(self): obj = create_plot_object(dt.DiceTable()) obj['dice'] = [('a', 2.)] self.assertEqual(fh.check_data(obj), 'error: dicelist at (\'a\', 2.0)')
def test_check_data_incorrect_val_in_tuple_list(self): obj = create_plot_object(dt.DiceTable()) obj['tuple_list'] = [(10 * 1000, 2.0)] self.assertEqual(fh.check_data(obj), 'error: corrupted "tuple_list"')
def test_check_data_empty_table(self): table = dt.DiceTable() obj = create_plot_object(table) self.assertEqual(fh.check_data(obj), 'ok')
def test_check_data_empty_table(self): table = dt.DiceTable() obj = create_plot_object(table) self.assertEqual(fh.check_data(obj), 'ok')