def test_add_new_language_json_C_check_real_code(self):
        """
        Test add new language function, add new language c and run parser on it
        """
        ndb.get_context().clear_cache()
        data = dict()
        ce = ContributionEngine("C")
        data['keywords'] = ["auto", "else", "long", "switch", "break", "enum", "register", "typedef", "case", "extern",
                            "char", "float", "short", "unsigned", "const", "for", "signed", "continue", "goto", 'void',
                            "volatile", "default", "if", "static", "while", "do", "int", "struct", "_Packed", "double",
                            "return", "union",  "sizeof"]
        data['str_symbol1'] = [str_symbol1]
        data['str_symbol2'] = [str_symbol2]
        data['operations'] = ['+', '-', '*', '/', '%', '++', '--',  '==', '!=', '<', '<=', '>', '>=', '=', '&', '|', '^',
                              '<<', '>>', '&&', '||', '!', '+=', '-=', '*=', '/=', '%=', '<<=', '>>=', '&=', '^=',
                              '?', ':', '~', '|=']
        data['add_library'] = ["include"]
        data['literals'] = []
        data['start_comment_symb'] = ['//']
        data['comment_start1'] = ['/*']
        data['comment_end1'] = ['*/']
        data['comment_start2'] = []
        data['comment_end2'] = []
        data['func_def'] = []
        data['class_keyword'] = []
        data['escape_character'] = ['\\']
        data['func_start'] = ['(']
        data['function_call_char'] = ['(']
        data['function_call_must_char'] = "True"
        data['other'] = {}
        json_data = json.dumps(data)
        ce.add_new_language_json(json_data)
        dal = DAL()
        res = dal.get_all_data_for_language("C")
        print res
        self.filename = "parser_tests/c_real_code.txt"
        self.run_parser()

        expected_lib = ['HashTable.h']
        expected_keywords = ['include', 'void', 'int', 'char', 'if', 'return', 'for']
        expected_functions_calls = ['freeTable', 'freeList', 'free', 'free']
        self.assertEqual(expected_keywords, self.p.keywords)
        self.assertEqual(expected_functions_calls, self.p.scanner.functions_calls)
        self.assertEqual(expected_lib, self.p.scanner.libraries)