Beispiel #1
0
 def test_as_updated_by(self):
     # Case: update with OrderedDict object:
     test_ordered_dict = OrderedDict([('key1', 'value1'),
                                      ('keytwo', 'valuetwo')])
     test_prefset = pr.Prefset(test_ordered_dict,
                               ini_section_name='Original Section Name')
     updates_ordered_dict = OrderedDict([('keytwo', 'muahaha'),
                                         ('cle_trois', 'donnee_3')])
     new_prefset = test_prefset.as_updated_by(updates_ordered_dict)
     expected_prefset = pr.Prefset(
         OrderedDict([('key1', 'value1'), ('keytwo', 'muahaha'),
                      ('cle_trois', 'donnee_3')]), 'Original Section Name')
     assert new_prefset.ordered_dict == expected_prefset.ordered_dict
     assert new_prefset.ordered_dict is not expected_prefset.ordered_dict
     assert new_prefset.ini_section_name == expected_prefset.ini_section_name
     # Case: update with Prefset object:
     test_ordered_dict = OrderedDict([('key1', 'value1'),
                                      ('keytwo', 'valuetwo')])
     test_prefset = pr.Prefset(test_ordered_dict,
                               ini_section_name='Original Section Name')
     updates_prefset = pr.Prefset(
         OrderedDict([('keytwo', 'muahaha'), ('cle_trois', 'donnee_3')]),
         'Updates Section Name')
     new_prefset = test_prefset.as_updated_by(updates_prefset)
     expected_prefset = pr.Prefset(
         OrderedDict([('key1', 'value1'), ('keytwo', 'muahaha'),
                      ('cle_trois', 'donnee_3')]), 'Original Section Name')
     assert new_prefset.ordered_dict == expected_prefset.ordered_dict
     assert new_prefset.ordered_dict is not expected_prefset.ordered_dict
     assert new_prefset.ini_section_name == expected_prefset.ini_section_name
Beispiel #2
0
 def test_set(self):
     test_prefset = pr.Prefset(
         OrderedDict([('key1', 'value1'), ('keytwowww', 'valuetwoXXX')]),
         'Test Section Name SET')
     # Normal Case: item to set already exists (change item):
     changed_prefset = test_prefset.copy()
     successful = changed_prefset.set('keytwowww',
                                      'new value WWW')  # changes in place
     expected_prefset = pr.Prefset(
         OrderedDict([('key1', 'value1'), ('keytwowww', 'new value WWW')]),
         'Test Section Name SET')
     assert successful is True
     assert changed_prefset.ordered_dict == expected_prefset.ordered_dict
     assert changed_prefset.ordered_dict is not expected_prefset.ordered_dict
     assert changed_prefset.ini_section_name == expected_prefset.ini_section_name
     # Other Case: item to set does not previously exist (NO CHANGE):
     changed_prefset = test_prefset.copy()
     successful = changed_prefset.set('new key G',
                                      'new value V')  # changes in place
     expected_prefset = test_prefset.copy(
     )  # NO CHANGE when new key not in existing keys.
     assert successful is False
     assert changed_prefset.ordered_dict == expected_prefset.ordered_dict
     assert changed_prefset.ordered_dict is not expected_prefset.ordered_dict
     assert changed_prefset.ini_section_name == expected_prefset.ini_section_name
Beispiel #3
0
 def test_init(self):
     # Test native .__init__():
     # Case: return None for absent argument:
     prefset = pr.Prefset()
     assert prefset.ordered_dict is None
     # Case: return new Prefset for proper argument, and must contain a *copy* of argument:
     test_ordered_dict = OrderedDict([('key1', 'value1'),
                                      ('keytwo', 'valuetwo')])
     prefset = pr.Prefset(test_ordered_dict)
     assert isinstance(prefset, pr.Prefset)
     assert prefset.ordered_dict == test_ordered_dict
     assert prefset.ordered_dict is not test_ordered_dict
Beispiel #4
0
    def test_from_ini_file(self):
        # Case 1a: fullpath is missing from call:
        prefset = pr.Prefset.from_ini_file()
        assert prefset is None

        # Case 1b: no such .ini file available:
        test_ini_fullpath = os.path.join(TEST_DATA_DIRECTORY,
                                         'not_existXXX.ini')
        prefset = pr.Prefset.from_ini_file(test_ini_fullpath)
        assert prefset is None

        # Case 1c: .ini file cannot be parsed (is not really an .ini file):
        test_ini_fullpath = os.path.join(TEST_DATA_DIRECTORY,
                                         'not_an_ini_file.ini')
        prefset = pr.Prefset.from_ini_file(test_ini_fullpath)
        assert prefset is None

        # Case 2: full .ini file is available:
        # Ensure target file is absent:
        test_ini_fullpath = os.path.join(TEST_DATA_DIRECTORY, 'test_from.ini')
        try:
            os.remove(test_ini_fullpath)
        except OSError:
            pass
        # Make Prefset and write to file:
        test_prefset = pr.Prefset(
            OrderedDict([('key1', 'value1'), ('keytwo', 'valuetwo')]),
            'Test Section Name')
        write_prefset_to_ini_file_for_testing_only(test_prefset,
                                                   test_ini_fullpath)
        # Read .ini file back in & test it:
        prefset_read_in = pr.Prefset.from_ini_file(test_ini_fullpath)
        assert prefset_read_in.ordered_dict == test_prefset.ordered_dict
        assert prefset_read_in.ordered_dict is not test_prefset.ordered_dict
        assert prefset_read_in.ini_section_name == test_prefset.ini_section_name
Beispiel #5
0
 def test_copy(self):
     test_ordered_dict = OrderedDict([('key1', 'value1'),
                                      ('keytwo', 'valuetwo')])
     prefset = pr.Prefset(test_ordered_dict)
     prefset_copy = prefset.copy()
     assert prefset.ordered_dict == prefset_copy.ordered_dict
     assert prefset.ordered_dict is not prefset_copy.ordered_dict
Beispiel #6
0
 def test_get(self):
     test_prefset = pr.Prefset(
         OrderedDict([('key1', 'value1 A'), ('keytwohaha', 'valuetwo B')]),
         'Test Section Name GET')
     # Case: key is in existing keys:
     assert test_prefset.get('key1') == 'value1 A'
     assert test_prefset.get('keytwohaha') == 'valuetwo B'
     # Case: key is absent from existing keys:
     assert test_prefset.get('this key is absent') is None
     assert test_prefset.get('') is None
     assert test_prefset.get(None) is None
Beispiel #7
0
 def test_write_to_ini_file(self):
     test_ini_fullpath = os.path.join(TEST_DATA_DIRECTORY,
                                      'test_write_to.ini')
     # Ensure target file is absent:
     try:
         os.remove(test_ini_fullpath)
     except OSError:
         pass
     # Make Prefset and write to file:
     test_prefset = pr.Prefset(
         OrderedDict([('key1', 'value1'), ('keytwowww', 'valuetwoXXX')]),
         'Test Section Name ZZZ')
     test_prefset.write_to_ini_file(test_ini_fullpath)
     # Read .ini file back in & test it:
     prefset_read_in = pr.Prefset.from_ini_file(test_ini_fullpath)
     assert prefset_read_in.ordered_dict == test_prefset.ordered_dict
     assert prefset_read_in.ordered_dict is not test_prefset.ordered_dict
     assert prefset_read_in.ini_section_name == test_prefset.ini_section_name