def test_add_action(self): """Check if it's possible to add actions to an analyzer""" mock_action2 = mock.Mock analyzer = BasicAnalyzer(self.mock_action) self.assertEqual([self.mock_action], analyzer.actions) analyzer.add_action(mock_action2) self.assertTrue(isinstance(analyzer.actions, list)) self.assertEqual([self.mock_action, mock_action2], analyzer.actions)
def test_add_action(self): """Check if it's possible to add actions to an analyzer""" mock_action2 = mock.MagicMock(spec=BasicAction) analyzer = BasicAnalyzer(self.mock_action) self.assertEqual([self.mock_action], analyzer.actions) analyzer.add_action(mock_action2) self.assertIsInstance(analyzer.actions, list) self.assertEqual([self.mock_action, mock_action2], analyzer.actions)
def test_add_action_negative(self): """Check if an exception raises when passing crap as action""" analyzer = BasicAnalyzer(self.mock_action) self.assertEqual([self.mock_action], analyzer.actions) with self.assertRaises(InvalidActionError, msg="BasicAnalyzer accepts objects other than BasicAnalyzers as actions in add_action!"): # The mock_action2 is not a subclass of BasicAction and hence it must throw an error mock_action2 = mock.Mock() analyzer.add_action(mock_action2) with self.assertRaises(InvalidActionError, msg="BasicAnalyzer accepts classes as actions in add_action!"): # The mock_action3 is not even an object (only a class reference) mock_action3 = mock.Mock analyzer.add_action(mock_action3)