From 2ec5fddb6c078c1b50f31cf4f210c99226d14725 Mon Sep 17 00:00:00 2001 From: zblanco Date: Fri, 1 Jul 2016 10:38:25 -0700 Subject: [PATCH] Adding tests against abstract datum --- scripts/generator.py | 4 ++-- tests/test_generator.py | 25 ++++++++++++++++++++++++- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/scripts/generator.py b/scripts/generator.py index 0a047dc..6885fad 100644 --- a/scripts/generator.py +++ b/scripts/generator.py @@ -65,11 +65,11 @@ def check_for_key(self, key_name): # A method to determine whether or not the schema object has the necessary fields. @abstractmethod def check(self): - pass + raise NotImplementedError('AbstractDatum: This method should have been implemented by a sublcass') @abstractmethod def generate(self, rand): - pass + raise NotImplementedError('AbstractDatum: This method should have been implemented by a sublcass') class StringDatum(AbstractDatum): values = [] diff --git a/tests/test_generator.py b/tests/test_generator.py index a237d3f..d0faba5 100644 --- a/tests/test_generator.py +++ b/tests/test_generator.py @@ -1,7 +1,8 @@ -import unittest, json, mock +import unittest, json, mock, random from env import scripts from mock import Mock from scripts.generator import DataGenerator +from scripts.generator import AbstractDatum class TestDataGenerator(unittest.TestCase): @@ -85,6 +86,28 @@ def test_gen_check_values(self, mock1): except KeyError as e: assert('Missing key: values in field3' in str(e)) + @mock.patch('scripts.config.get_conf_dir', return_value='res/') + def test_gen_abstract_datum(self, mock1): + try: + field = {} + field['fieldName'] = "ABC123" + field['type'] = "ABC123" + dat = AbstractDatum(field) + dat.check() + self.fail('Should raise not implemented error') + except NotImplementedError as e: + assert('AbstractDatum: This method should have been implemented by a sublcass' in str(e)) + + try: + field = {} + field['fieldName'] = "ABC123" + field['type'] = "ABC123" + dat = AbstractDatum(field) + dat.generate(random) + self.fail('Should raise not implemented error') + except NotImplementedError as e: + assert('AbstractDatum: This method should have been implemented by a sublcass' in str(e)) +