Ejemplo n.º 1
0
    def test_validate_konfiger_entries_with_case_sensitivity(self):
        kon = from_string("""
String=This is a string
Number=215415245
""", False)

        kon.set_case_sensitivity(True)
        self.assertEqual(kon.is_case_sensitive(), True)
        # with self.assertRaises(FileNotFoundError) as context:
        # self.assertEqual(kon.get("STRING"), "This is a string")
        # self.assertTrue('file does not exists' in str(context.exception))
        # with self.assertRaises(FileNotFoundError) as context:
        # self.assertEqual(kon.get("NUMBER"), "215415245")
        # self.assertTrue('file does not exists' in str(context.exception))

        kon.set_case_sensitivity(False)
        self.assertEqual(kon.is_case_sensitive(), False)
        self.assertEqual(kon.get("STRING"), "This is a string")
        self.assertEqual(kon.get("NUMBER"), "215415245")

        self.assertEqual(kon.get("strING"), "This is a string")
        self.assertEqual(kon.get("nuMBer"), "215415245")

        self.assertEqual(kon.get("STRiNg"), "This is a string")
        self.assertEqual(kon.get("nUMbeR"), "215415245")

        self.assertEqual(kon.get("string"), "This is a string")
        self.assertEqual(kon.get("number"), "215415245")
Ejemplo n.º 2
0
    def test_prev_and_current_cache(self):
        kon = from_string('')

        kon.put("Name", "Adewale")
        kon.put("Project", "konfiger")
        kon.put_int("Year", 2020)

        self.assertEqual(kon.get_int("Year"), 2020)
        self.assertEqual(kon.get("Project"), "konfiger")
        self.assertEqual(kon.get("Name"), "Adewale")
        self.assertEqual(kon.get_int("Year"), 2020)
        self.assertEqual(kon.current_cache_object["ckey"], "Name")
        self.assertEqual(kon.prev_cache_object["ckey"], "Year")
        self.assertEqual(kon.current_cache_object["cvalue"], "Adewale")
        self.assertEqual(kon.prev_cache_object["cvalue"], "2020")
        self.assertEqual(kon.get("Name"), "Adewale")
        self.assertEqual(kon.get("Name"), "Adewale")
        self.assertEqual(kon.get("Project"), "konfiger")
        self.assertEqual(kon.get("Name"), "Adewale")
        self.assertEqual(kon.get("Name"), "Adewale")
        self.assertEqual(kon.get("Name"), "Adewale")
        self.assertEqual(kon.current_cache_object["ckey"], "Project")
        self.assertEqual(kon.prev_cache_object["ckey"], "Name")
        self.assertEqual(kon.current_cache_object["cvalue"], "konfiger")
        self.assertEqual(kon.prev_cache_object["cvalue"], "Adewale")
Ejemplo n.º 3
0
    def test_check_put_comment_in_the_konfiger_object(self):
        kon = from_string(
            'Name:Adewale Azeez,//Project:konfiger,Date:April 24 2020', False,
            ':', ',')
        kon.put_comment("A comment at the end")

        self.assertEqual(str(kon).find("//:A comment") > -1, True)
Ejemplo n.º 4
0
    def test_dissolve_an_object_into_konfiger_using_decorator(self):
        kon = from_string("")
        kon.dissolve(DecoratedEntries())

        self.assertEqual(kon.get("Project"), "konfiger")
        self.assertEqual(kon.get("Platform"), "Cross Platform")
        self.assertEqual(kon.get("File"), "test.comment.inf")
        self.assertEqual(kon.get("Author"), "Adewale Azeez")
Ejemplo n.º 5
0
    def test_dissolve_an_object_into_konfiger(self):
        kon = from_string("")
        kon.dissolve(Entries())

        self.assertEqual(kon.get("project"), "konfiger")
        self.assertEqual(kon.get("platform"), "Cross Platform")
        self.assertEqual(kon.get("file"), "test.comment.inf")
        self.assertEqual(kon.get("author"), "Adewale Azeez")
Ejemplo n.º 6
0
    def test_save_content_and_validate_saved_content(self):
        kon = from_string(
            "Name=Adewale Azeez,Date=April 24 2020,One=111,Two=222,Three=333",
            False, '=', ',')

        self.assertEqual(len(kon), 5)
        kon.save('test/konfiger.conf')
        kon2 = from_file('test/konfiger.conf', False, '=', ',')
        self.assertEqual(str(kon), str(kon))
        self.assertEqual(len(kon2), 5)
Ejemplo n.º 7
0
    def test_check_the_update_at_method(self):
        kon = from_string(
            "Name:Adewale Azeez,//Project:konfiger,Date:April 24 2020", False,
            ':', ',')

        self.assertEqual(kon.get("Date"), "April 24 2020")
        self.assertEqual(kon.get("Name"), "Adewale Azeez")
        kon.update_at(1, "12 BC")
        kon.update_at(0, "Thecarisma")
        self.assertEqual(kon.get("Date"), "12 BC")
        self.assertEqual(kon.get("Name"), "Thecarisma")
Ejemplo n.º 8
0
    def test_remove_entry_and_validate_size(self):
        kon = from_string('One=111,Two=222,Three=333', True, '=', ',')
        kon.stream.error_tolerance(True)

        self.assertEqual(len(kon), 3)
        self.assertNotEqual(kon.get("Two"), None)
        self.assertEqual(kon.remove("Two"), "222")
        self.assertEqual(kon.get("Two"), None)
        self.assertEqual(len(kon), 2)
        self.assertEqual(kon.remove(0), "111")
        self.assertEqual(len(kon), 1)
        self.assertEqual(kon.get("Three"), "333")
Ejemplo n.º 9
0
    def test_lazy_size(self):
        kon = from_string('One=111,Two=222,Three=333', True, '=', ',')

        self.assertEqual(kon.lazy_size(), 0)
        self.assertNotEqual(kon.lazy_size(), 3)
        self.assertEqual(kon.get("One"), "111")
        self.assertEqual(kon.lazy_size(), 1)
        self.assertEqual(kon.get("Two"), "222")
        self.assertEqual(kon.lazy_size(), 2)
        self.assertEqual(kon.get("Three"), "333")
        self.assertEqual(kon.lazy_size(), 3)
        self.assertEqual(kon.lazy_size(), len(kon))
Ejemplo n.º 10
0
    def test_append_new_unparsed_entries_from_string_and_file(self):
        kon = from_string('')

        self.assertEqual(len(kon), 0)
        kon.append_string('Language=English')
        self.assertEqual(len(kon), 1)
        self.assertEqual(kon.get("Name"), None)
        self.assertNotEqual(kon.get("Name"), "Adewale Azeez")
        self.assertEqual(kon.get("Language"), "English")

        kon.append_file('test/test.config.ini')
        self.assertNotEqual(kon.get("Name"), None)
        self.assertEqual(kon.get("Name"), "Adewale Azeez")
Ejemplo n.º 11
0
    def test_validate_konfiger_default_value_for_non_existing_key(self):
        kon = from_string('')

        self.assertEqual(kon.get("Name"), None)
        self.assertNotEqual(kon.get_string("Name"), None)
        self.assertEqual(kon.get_string("Name"), "")
        self.assertNotEqual(kon.get("Name", "Adewale Azeez"), None)
        self.assertEqual(kon.get("Name", "Adewale Azeez"), "Adewale Azeez")
        self.assertEqual(kon.get_boolean("CleanupOnClose"), False)
        self.assertNotEqual(kon.get_boolean("CleanupOnClose", True), False)
        self.assertEqual(kon.get_long("TheNumber"), 0)
        self.assertEqual(kon.get_long("TheNumber", 123), 123)
        self.assertEqual(kon.get_float("TheNumber"), 0.0)
        self.assertNotEqual(kon.get_float("TheNumber"), 0.1)
Ejemplo n.º 12
0
    def test_complex_and_confusing_separator(self):
        kon = from_string(
            'Occupation=Software En^gineergLocation=Ni^geriagState=La^gos',
            False, '=', 'g')

        self.assertEqual(len(kon), 3)
        self.assertEqual(str(kon).find("^g") > -1, True)
        for key, value in kon.entries():
            self.assertEqual(value.find("^g") > -1, False)
        kon.set_separator('f')
        self.assertEqual(kon.get("Occupation"), "Software Engineer")
        kon.set_separator('\n')
        self.assertEqual(str(kon).find("^g") > -1, False)
        self.assertEqual(len(kon), 3)
        for key, value in kon.entries():
            self.assertEqual(value.find("\\g") > -1, False)
Ejemplo n.º 13
0
    def test_remove_entry_and_lazy_size(self):
        kon = from_string('One=111,Two=222,Three=333', True, '=', ',')

        self.assertEqual(kon.lazy_size(), 0)
        self.assertNotEqual(kon.lazy_size(), 3)
        self.assertNotEqual(kon.get("Two"), None)
        self.assertEqual(kon.lazy_size(), 2)
        self.assertEqual(kon.remove("Two"), "222")
        self.assertNotEqual(kon.lazy_size(), 2)
        self.assertEqual(kon.lazy_size(), 1)
        self.assertEqual(kon.get("Two"), None)
        self.assertEqual(kon.lazy_size(), 2)
        self.assertEqual(kon.remove(0), "111")
        self.assertEqual(kon.lazy_size(), 1)
        self.assertEqual(kon.get("Three"), "333")
        self.assertEqual(kon.lazy_size(), 1)
Ejemplo n.º 14
0
    def test_validate_kon_string_stream_entries(self):
        kon = from_string(
            """
String=This is a string
Number=215415245
Float=56556.436746
Boolean=True
""", False)

        self.assertEqual(kon.get("String"), "This is a string")
        self.assertEqual(kon.get("Number"), "215415245")
        self.assertEqual(kon.get("Float"), "56556.436746")
        self.assertNotEqual(kon.get("Number"), "True")
        self.assertEqual(kon.get("Boolean"), "True")
        kon.put("String", "This is an updated string")
        self.assertEqual(kon.get("String"), "This is an updated string")
Ejemplo n.º 15
0
    def test_validate_kon_get_returned_types(self):
        kon = from_string('')
        kon.put("One", kon)
        kon.put_long("Two", 123456789)
        kon.put_boolean("Bool", True)
        kon.put_float("Float", 123.56)
        kon.put_string("Dummy", "Noooooo 1")
        kon.put_string("Dummy2", "Noooooo 2")

        self.assertEqual(kon.get("Two"), "123456789")
        self.assertEqual(kon.get_long("Two"), 123456789)
        self.assertNotEqual(kon.get_long("Two"), "123456789")

        self.assertEqual(kon.get("Bool"), "True")
        self.assertEqual(kon.get_boolean("Two"), False)
        self.assertNotEqual(kon.get_boolean("Two"), True)
        self.assertNotEqual(kon.get_boolean("Two"), "True")

        self.assertEqual(kon.get("Float"), "123.56")
        self.assertEqual(kon.get_float("Float"), 123.56)
        self.assertNotEqual(kon.get_float("Float"), "123.56")