def test_get_owner_workbook(self): """Test getOwnerWorkbook method""" obj = WorkbookMixinElement("test", self._ownerWorkbook) self.assertEqual(obj.getOwnerWorkbook(), self._ownerWorkbook) self._assert_init_with_object(obj, "test")
def test_set_owner_workbook(self): """Test setOwnerWorkbook method with None owner_workbook""" obj = WorkbookMixinElement("test", self._ownerWorkbook) obj._owner_workbook = None self.assertIsNone(obj._owner_workbook) obj.setOwnerWorkbook('newOwner') self.assertEqual('newOwner', obj._owner_workbook) self._assert_init_with_object(obj, "test")
def test_set_modified_time(self): """Test setModifiedTime method, input parameter is number""" self._setAttribute__method = self._init_patch_with_name( '_setAttribute', 'xmind.core.Element.setAttribute', autospec=True) obj = WorkbookMixinElement("test", self._ownerWorkbook) obj.setModifiedTime(1234) self._setAttribute__method.assert_called_once_with( obj, "timestamp", 1234) self._assert_init_with_object(obj, "test")
def test_get_ID(self): """Test getID method""" self._getAttribute__method = self._init_patch_with_name( '_getAttribute', 'xmind.core.Element.getAttribute', return_value="value", autospec=True) obj = WorkbookMixinElement("test", self._ownerWorkbook) self.assertEqual(obj.getID(), "value") self._getAttribute__method.assert_called_once_with(obj, ATTR_ID) self._assert_init_with_object(obj, 'test')
def test_regist_owner_workbook(self): """Test registOwnerWorkbook method with NOT empty ownerWorkbook object""" self._setOwnerDocument_method = self._init_patch_with_name( '_setOwnerDocument', 'xmind.core.Element.setOwnerDocument', autospec=True) self._ownerWorkbook.getOwnerDocument.return_value = "owner" obj = WorkbookMixinElement("test", self._ownerWorkbook) self._assert_init_with_object(obj, "test") self._remove_patched_function('_registOwnerWorkbook') obj.registOwnerWorkbook() self._setOwnerDocument_method.assert_called_once_with(obj, "owner")
def test_update_modified_time(self): """Test updateModifiedTime method""" self._get_current_time_method = self._init_patch_with_name( '_get_current_time', 'xmind.utils.get_current_time', return_value=12345, autospec=True) obj = WorkbookMixinElement("test", self._ownerWorkbook) with patch.object(obj, 'setModifiedTime') as _mock: self.assertIsNone(obj.updateModifiedTime()) self._get_current_time_method.assert_called_once_with() _mock.assert_called_once_with(12345) self._assert_init_with_object(obj, "test")
def test_get_modified_time(self): """Test getModifiedTime method when getAttribute returns number""" self._getAttribute_method = self._init_patch_with_name( '_getAttribute', 'xmind.core.Element.getAttribute', return_value=1, autospec=True) self._readable_time_method = self._init_patch_with_name( '_readable_time', 'xmind.utils.readable_time', return_value="time", autospec=True) obj = WorkbookMixinElement("test", self._ownerWorkbook) self.assertEqual(obj.getModifiedTime(), "time") self._getAttribute_method.assert_called_once_with(obj, ATTR_TIMESTAMP) self._readable_time_method.assert_called_once_with(1) self._assert_init_with_object(obj, "test")
def test_get_modified_time_with_none_timestamp(self): """Test getModifiedTime method when getAttribute returns None obj""" self._getAttribute_method = self._init_patch_with_name( '_getAttribute', 'xmind.core.Element.getAttribute', return_value=None, autospec=True ) obj = WorkbookMixinElement("test", self._ownerWorkbook) self.assertIsNone(obj.getModifiedTime()) self._getAttribute_method.assert_called_once_with(obj, ATTR_TIMESTAMP) self._assert_init_with_object(obj, "test")
def test_set_modified_time_throws(self): """Test setModifiedTime method, input parameter is NOT number""" self._setAttribute__method = self._init_patch_with_name( '_setAttribute', 'xmind.core.Element.setAttribute', thrown_exception=Exception("super error"), autospec=True) obj = WorkbookMixinElement("test", self._ownerWorkbook) with self.assertRaises(Exception) as ex: obj.setModifiedTime(0) self.assertTrue(ex.exception.args[0].find( "super error") == 0) self._setAttribute__method.assert_called_once_with( obj, ATTR_TIMESTAMP, 0) self._assert_init_with_object(obj, "test")
def test_excessive_parameters(self): _element = WorkbookMixinElement() self._assert_init_with_object(_element) self._remove_patched_function('_registOwnerWorkbook') _parameters = [ ('registOwnerWorkbook', 0), ('getOwnerWorkbook', 0), ('setOwnerWorkbook', 1), ('getModifiedTime', 0), ('setModifiedTime', 1), ('updateModifiedTime', 0), ('getID', 0) ] for pair in _parameters: with self.subTest(pair=pair): self._test_method_by_excessive_parameters(pair, _element)
def test_init_with_parameters(self): """Test __init__ method with parameters""" obj = WorkbookMixinElement("test", self._ownerWorkbook) self.assertEqual(obj._owner_workbook, self._ownerWorkbook) self._assert_init_with_object(obj, "test")
def test_set_already_set_owner_workbook(self): """Test setOwnerWorkbook method when owner_workbook is set""" obj = WorkbookMixinElement("test", self._ownerWorkbook) obj.setOwnerWorkbook("bbb") self.assertEqual(obj.getOwnerWorkbook(), self._ownerWorkbook) self._assert_init_with_object(obj, "test")