def test_excute_type_checker(self):
        """test for excute"""
        
        task_name = "test1"
        checker = "col_checker_type.ColTypeChecker"
        args = [u"int"]
        field_args = [["0", None, None]]
        fields = FieldList(assemble_field_list(field_args))
        table_checker = TableCheckerSubTask(task_name, checker, args, fields) 
        # 1. check for empty pm
        p_manager = ProcesserManager()
        self.assertRaises(ProcesserManagerLocateError, table_checker.excute, p_manager, [])
        
        cols = ["13"]
        self.assertTrue(table_checker.excute(self._p_m, cols))
        cols = ["dsj13"]
        self.assertFalse(table_checker.excute(self._p_m, cols))
        
        field_args = [["0", "preprocess_trim.PreprocessTrim", None]]
        fields = FieldList(assemble_field_list(field_args))
        table_checker = TableCheckerSubTask(task_name, checker, args, fields) 
        cols = ["13"]
        self.assertTrue(table_checker.excute(self._p_m, cols))
        cols = ['  13  "']
        self.assertTrue(table_checker.excute(self._p_m, cols))
        cols = ['"13df"']
        self.assertFalse(table_checker.excute(self._p_m, cols))

        args = [u"int", u"float"]
        table_checker = TableCheckerSubTask(task_name, checker, args, fields) 
        cols = ['"13.3"']
        self.assertTrue(table_checker.excute(self._p_m, cols))
 def test_get_process_name(self):
     """ test for get process name """
     task_name = "test1"
     checker = "test1_checker"
     args = ["1", "2"]
     field_args = [ \
                   ["1", None, ["C1"]],\
                   ["2", None, None],\
                   ["3", "P3", None],\
                   ["4", "P4", ["C4"]],\
                   ["5", "P5", ["C5.1", "C5.2"]]\
                   ]
     
     fields = FieldList(assemble_field_list(field_args))
     table_checker = TableCheckerSubTask(task_name, checker, args, fields)
     names = table_checker.get_process_name() 
     real_names = [["preprocesser", p[1], p[2]] for p in field_args if p[1] is not None]
     real_names.append(["col_checker", checker, args])
     # check process name              
     for name in names:
         self.assertIn(name, real_names)
    def test_excute_time_checker(self):
        """ test for excute time checker """

        task_name = "test2"
        checker = "col_checker_time.ColTimeChecker"
        
        args = [u"%Y%m%d"]
        field_args = [["0", None, None]]
        fields = FieldList(assemble_field_list(field_args))
        table_checker = TableCheckerSubTask(task_name, checker, args, fields) 
        cols = ["20150302"]
        self.assertTrue(table_checker.excute(self._p_m, cols))
        cols = ["dsj13"]
        self.assertFalse(table_checker.excute(self._p_m, cols))
        
        args = [u"%Y-%m-%d %H:%M:%S"]
        field_args = [["0", "preprocess_time.PreprocessTime", [u"%Y-%m-%d"]]]
        fields = FieldList(assemble_field_list(field_args))
        table_checker = TableCheckerSubTask(task_name, checker, args, fields) 
        cols = ["2015-03-02"]
        self.assertTrue(table_checker.excute(self._p_m, cols))
        cols = ["20150302"]
        self.assertFalse(table_checker.excute(self._p_m, cols))