# encoding: utf-8

"""
.. codeauthor:: Tsuyoshi Hombashi <gogogo.vm@gmail.com>
"""

from __future__ import absolute_import

import pytest

import dataproperty._type_checker_creator as tcc
import dataproperty._type_checker as tc


class Test_TypeCheckerCreator(object):

    @pytest.mark.parametrize(["value", "is_convert", "expected"], [
        [tcc.NoneTypeCheckerCreator, True, tc.NoneTypeChecker],
        [tcc.NoneTypeCheckerCreator, False, tc.NoneTypeChecker],
        [tcc.IntegerTypeCheckerCreator, True, tc.IntegerTypeChecker],
        [tcc.IntegerTypeCheckerCreator, False, tc.IntegerTypeChecker],
        [tcc.FloatTypeCheckerCreator, True, tc.FloatTypeChecker],
        [tcc.FloatTypeCheckerCreator, False, tc.FloatTypeChecker],
        [tcc.DateTimeTypeCheckerCreator, True, tc.DateTimeTypeChecker],
        [tcc.DateTimeTypeCheckerCreator, False, tc.DateTimeTypeChecker],
    ])
    def test_normal(self, value, is_convert, expected):
        creator = value()
        type_checker = creator.create(None, is_convert)
        assert isinstance(type_checker, expected)

# encoding: utf-8

"""
.. codeauthor:: Tsuyoshi Hombashi <gogogo.vm@gmail.com>
"""

from __future__ import absolute_import

import pytest

from dataproperty._type_checker_creator import IntegerTypeCheckerCreator
from dataproperty._type_checker_creator import FloatTypeCheckerCreator
from dataproperty._type_checker_creator import DateTimeTypeCheckerCreator
from dataproperty._type_checker import IntegerTypeChecker
from dataproperty._type_checker import FloatTypeChecker
from dataproperty._type_checker import DateTimeTypeChecker


class Test_TypeCheckerCreator(object):

    @pytest.mark.parametrize(["value", "is_convert", "expected"], [
        [IntegerTypeCheckerCreator, True, IntegerTypeChecker],
        [IntegerTypeCheckerCreator, False, IntegerTypeChecker],
        [FloatTypeCheckerCreator, True, FloatTypeChecker],
        [FloatTypeCheckerCreator, False, FloatTypeChecker],
        [DateTimeTypeCheckerCreator, True, DateTimeTypeChecker],
        [DateTimeTypeCheckerCreator, False, DateTimeTypeChecker],
    ])
    def test_normal(self, value, is_convert, expected):
        creator = value()
        type_checker = creator.create(None, is_convert)
        assert isinstance(type_checker, expected)

--- 
+++ 
@@ -8,23 +8,21 @@
 
 import pytest
 
-from dataproperty._type_checker_creator import IntegerTypeCheckerCreator
-from dataproperty._type_checker_creator import FloatTypeCheckerCreator
-from dataproperty._type_checker_creator import DateTimeTypeCheckerCreator
-from dataproperty._type_checker import IntegerTypeChecker
-from dataproperty._type_checker import FloatTypeChecker
-from dataproperty._type_checker import DateTimeTypeChecker
+import dataproperty._type_checker_creator as tcc
+import dataproperty._type_checker as tc
 
 
 class Test_TypeCheckerCreator(object):
 
     @pytest.mark.parametrize(["value", "is_convert", "expected"], [
-        [IntegerTypeCheckerCreator, True, IntegerTypeChecker],
-        [IntegerTypeCheckerCreator, False, IntegerTypeChecker],
-        [FloatTypeCheckerCreator, True, FloatTypeChecker],
-        [FloatTypeCheckerCreator, False, FloatTypeChecker],
-        [DateTimeTypeCheckerCreator, True, DateTimeTypeChecker],
-        [DateTimeTypeCheckerCreator, False, DateTimeTypeChecker],
+        [tcc.NoneTypeCheckerCreator, True, tc.NoneTypeChecker],
+        [tcc.NoneTypeCheckerCreator, False, tc.NoneTypeChecker],
+        [tcc.IntegerTypeCheckerCreator, True, tc.IntegerTypeChecker],
+        [tcc.IntegerTypeCheckerCreator, False, tc.IntegerTypeChecker],
+        [tcc.FloatTypeCheckerCreator, True, tc.FloatTypeChecker],
+        [tcc.FloatTypeCheckerCreator, False, tc.FloatTypeChecker],
+        [tcc.DateTimeTypeCheckerCreator, True, tc.DateTimeTypeChecker],
+        [tcc.DateTimeTypeCheckerCreator, False, tc.DateTimeTypeChecker],
     ])
     def test_normal(self, value, is_convert, expected):
         creator = value()
Add tests for NoneTypeCheckerCreator class
