Exemple #1
0
    def reload_from_file(self):
        """reads from 'save_data.npy' and checks for errors.

        :return: msg = 'ok', 'ok: no saved data', or 'error: ...'
        """
        msg, self._saved_tables = fh.read_saved_tables_array()
        return msg
Exemple #2
0
 def test_read_write_saved_tables_array_work_ok_for_normal_case(self):
     table = dt.DiceTable()
     table.add_die(1, dt.Die(3))
     obj1 = create_saved_dice_table(table)
     table.add_die(2, dt.Die(5))
     obj2 = create_saved_dice_table(table)
     save_data = np.array([obj1, obj2])
     fh.write_saved_tables_array(save_data)
     msg, new_save_data = fh.read_saved_tables_array()
     self.assertEqual(msg, 'ok')
     self.assertArrayEqual(save_data, new_save_data)
Exemple #3
0
 def test_read_saved_tables_array_returns_error_and_empty_if_corrupted_file(
         self):
     table = dt.DiceTable()
     table.add_die(1, dt.Die(3))
     obj1 = create_saved_dice_table(table)
     table.add_die(2, dt.Die(5))
     obj2 = create_saved_dice_table(table)
     save_data_array = np.array([obj1, obj2])
     fh.write_saved_tables_array(save_data_array)
     # for differences between python2 and 3
     try:
         with open('save_data.npy', 'r') as f:
             to_write = f.read()[:-1]
     except UnicodeDecodeError:
         with open('save_data.npy', 'r', errors='ignore') as f:
             to_write = f.read()[:-1]
     with open('save_data.npy', 'w') as f:
         f.write(to_write)
     msg, new_data = fh.read_saved_tables_array()
     self.assertEqual(msg, 'error: file corrupted')
     self.assertArrayEqual(new_data, np.array([], dtype=object))
Exemple #4
0
 def test_read_saved_tables_array_returns_error_and_empty_if_no_file(self):
     os.remove('save_data.npy')
     msg, save_data = fh.read_saved_tables_array()
     self.assertEqual(msg, 'error: no file')
     self.assertArrayEqual(save_data, np.array([], dtype=object))
Exemple #5
0
 def test_read_saved_tables_array_returns_ok_and_empty_if_hist_empty_and_correct_type(
         self):
     fh.write_saved_tables_array(np.array([], dtype=object))
     msg, save_data = fh.read_saved_tables_array()
     self.assertEqual(msg, 'ok: no saved data')
     self.assertArrayEqual(save_data, np.array([], dtype=object))
Exemple #6
0
 def test_read_saved_tables_array_returns_error_and_empty_if_check_hist_has_error(
         self):
     fh.write_saved_tables_array(np.array([1, 2, 3]))
     msg, save_data = fh.read_saved_tables_array()
     self.assertEqual(msg, 'error: wrong array type')
     self.assertArrayEqual(save_data, np.array([], dtype=object))