def test_sub_class_matching(self):
        class Test():
            def name(self):
                return 'Test'

        class SubTest(Test):
            var = 'Me'

        self.assertEqual(class_functions_diff_dic(Test, SubTest), {})
    def test_sub_class_different_but_allow_ignore(self):
        class Test():
            def name(self):
                return 'Test'

        class SubTest(Test):
            def name(self):
                return 'Test'

        self.assertEqual(class_functions_diff_dic(Test, SubTest, ignore=['name']), {})
    def test_different_class_not_matching(self):
        class Test():
            def name(self):
                return 'Test'

        class Test2():
            def name(self):
                return 'Test'

        self.assertNotEqual(class_functions_diff_dic(Test, Test2), {})
    def test_same_class_matching(self):
        class Test():
            def name(self):
                return 'Test'

        self.assertEqual(class_functions_diff_dic(Test, Test), {})
def test_django_filter_no_overwritten_functions(filter_class, compare_class):
    assert class_functions_diff_dic(
        filter_class,
        compare_class,
        ignore=['field_class', 'get_max_validator']) == {}
def test_django_filter_multi_inheritance_classes(filter_class, compare_class,
                                                 ignore_list):
    assert class_functions_diff_dic(filter_class,
                                    compare_class,
                                    ignore=ignore_list +
                                    ['field_class']) == {}
def test_django_filter_overwritten_functions(filter_class, compare_class,
                                             ignore_list):
    assert class_functions_diff_dic(filter_class,
                                    compare_class,
                                    ignore=ignore_list +
                                    ['field_class']) == {}