def test_validate_positional_arguments(self):
     self.assertIsInstance(
         duplicategenerator.DuplicateGen(num_org_records=10,
                                         num_dup_records=10,
                                         max_num_dups=1,
                                         max_num_field_modifi=1,
                                         max_num_record_modifi=1,
                                         prob_distribution="uniform",
                                         type_modification="all"),
         duplicategenerator.generate.DuplicateGen)
 def test_validate_config_file_exists(self):
     with self.assertRaises(ValueError):
         duplicategenerator.DuplicateGen(
             num_org_records=10,
             num_dup_records=10,
             max_num_dups=1,
             max_num_field_modifi=1,
             max_num_record_modifi=1,
             prob_distribution="uniform",
             type_modification="all",
             verbose_output=False,
             culture="eng",
             attr_file_name=
             './duplicategenerator/config/attr_config_file.example.json',
             field_names_prob={
                 'culture': 0,
                 'sex': 0.1,
                 'given_name': 0.5,
                 'surname': 0.3,
                 'date_of_birth': 0.2,
                 'phone_number': 0.1
             })
 def test_validate_optional_arguments(self):
     self.assertIsInstance(
         duplicategenerator.DuplicateGen(
             num_org_records=10,
             num_dup_records=10,
             max_num_dups=1,
             max_num_field_modifi=1,
             max_num_record_modifi=1,
             prob_distribution="uniform",
             type_modification="all",
             verbose_output=False,
             culture="eng",
             attr_file_name=
             './duplicategenerator/config/attr_config_file.example.json',
             field_names_prob={
                 'culture': 0,
                 'sex': 0.1,
                 'given_name': 0.3,
                 'surname': 0.3,
                 'date_of_birth': 0.2,
                 'phone_number': 0.1
             }), duplicategenerator.generate.DuplicateGen)
 def test_validate_no_arguments(self):
     with self.assertRaises(TypeError):
         duplicategenerator.DuplicateGen()
    def test_validate_generate(self):
        self.assertIsInstance(
            duplicategenerator.DuplicateGen(
                num_org_records=10,
                num_dup_records=10,
                max_num_dups=1,
                max_num_field_modifi=1,
                max_num_record_modifi=1,
                prob_distribution="uniform",
                type_modification="all",
                verbose_output=False,
                culture="eng",
                attr_file_name=
                './duplicategenerator/config/attr_config_file.example.json',
                field_names_prob={
                    'culture': 0,
                    'sex': 0.1,
                    'given_name': 0.3,
                    'surname': 0.3,
                    'date_of_birth': 0.2,
                    'phone_number': 0.1
                }).generate(), dict)

        self.assertIsInstance(
            duplicategenerator.DuplicateGen(
                num_org_records=10,
                num_dup_records=10,
                max_num_dups=1,
                max_num_field_modifi=1,
                max_num_record_modifi=1,
                prob_distribution="uniform",
                type_modification="all",
                verbose_output=False,
                culture="eng",
                attr_file_name=
                './duplicategenerator/config/attr_config_file.example.json',
                field_names_prob={
                    'culture': 0,
                    'sex': 0.1,
                    'given_name': 0.3,
                    'surname': 0.3,
                    'date_of_birth': 0.2,
                    'phone_number': 0.1
                }).generate("dataframe"), pandas.DataFrame)

        self.assertEqual(
            len(
                duplicategenerator.DuplicateGen(
                    num_org_records=10,
                    num_dup_records=10,
                    max_num_dups=1,
                    max_num_field_modifi=1,
                    max_num_record_modifi=1,
                    prob_distribution="uniform",
                    type_modification="all",
                    verbose_output=False,
                    culture="eng",
                    attr_file_name=
                    './duplicategenerator/config/attr_config_file.example.json',
                    field_names_prob={
                        'culture': 0,
                        'sex': 0.1,
                        'given_name': 0.3,
                        'surname': 0.3,
                        'date_of_birth': 0.2,
                        'phone_number': 0.1
                    }).generate("dataframe").index), 20)