예제 #1
0
    def test_make_field_categorical(self):
        data = ['a', 'b', 'c']
        ordereds = [True, False]

        for ordered in ordereds:
            arr = pd.Series(pd.Categorical(data, ordered=ordered), name='cats')
            result = make_field(arr)
            expected = {
                "name": "cats",
                "type": "any",
                "constraints": {
                    "enum": data
                },
                "ordered": ordered
            }
            self.assertEqual(result, expected)

            arr = pd.CategoricalIndex(data, ordered=ordered, name='cats')
            result = make_field(arr)
            expected = {
                "name": "cats",
                "type": "any",
                "constraints": {
                    "enum": data
                },
                "ordered": ordered
            }
            self.assertEqual(result, expected)
예제 #2
0
 def test_make_field_float(self):
     data = [1., 2., 3.]
     kinds = [pd.Series(data, name='name'), pd.Index(data, name='name')]
     for kind in kinds:
         result = make_field(kind)
         expected = {"name": "name", "type": 'number'}
         self.assertEqual(result, expected)
예제 #3
0
 def test_make_field_int(self):
     data = [1, 2, 3]
     kinds = [pd.Series(data, name='name'), pd.Index(data, name='name')]
     for kind in kinds:
         result = make_field(kind)
         expected = {"name": "name", "type": 'integer'}
         self.assertEqual(result, expected)
예제 #4
0
 def test_make_field_float(self):
     data = [1., 2., 3.]
     kinds = [pd.Series(data, name='name'), pd.Index(data, name='name')]
     for kind in kinds:
         result = make_field(kind)
         expected = {"name": "name", "type": 'number'}
         self.assertEqual(result, expected)
예제 #5
0
 def test_make_field_int(self):
     data = [1, 2, 3]
     kinds = [pd.Series(data, name='name'), pd.Index(data, name='name')]
     for kind in kinds:
         result = make_field(kind)
         expected = {"name": "name", "type": 'integer'}
         self.assertEqual(result, expected)
예제 #6
0
    def test_make_field_categorical(self):
        data = ['a', 'b', 'c']
        ordereds = [True, False]

        for ordered in ordereds:
            arr = pd.Series(pd.Categorical(data, ordered=ordered), name='cats')
            result = make_field(arr)
            expected = {"name": "cats", "type": "any",
                        "constraints": {"enum": data},
                        "ordered": ordered}
            self.assertEqual(result, expected)

            arr = pd.CategoricalIndex(data, ordered=ordered, name='cats')
            result = make_field(arr)
            expected = {"name": "cats", "type": "any",
                        "constraints": {"enum": data},
                        "ordered": ordered}
            self.assertEqual(result, expected)
예제 #7
0
    def test_make_field_datetime(self):
        data = [1., 2., 3.]
        kinds = [pd.Series(pd.to_datetime(data), name='values'),
                 pd.to_datetime(data)]
        for kind in kinds:
            result = make_field(kind)
            expected = {"name": "values", "type": 'datetime'}
            self.assertEqual(result, expected)

        kinds = [pd.Series(pd.to_datetime(data, utc=True), name='values'),
                 pd.to_datetime(data, utc=True)]
        for kind in kinds:
            result = make_field(kind)
            expected = {"name": "values", "type": 'datetime', "tz": "UTC"}
            self.assertEqual(result, expected)

        arr = pd.period_range('2016', freq='A-DEC', periods=4)
        result = make_field(arr)
        expected = {"name": "values", "type": 'datetime', "freq": "A-DEC"}
        self.assertEqual(result, expected)
예제 #8
0
    def test_make_field_datetime(self):
        data = [1., 2., 3.]
        kinds = [pd.Series(pd.to_datetime(data), name='values'),
                 pd.to_datetime(data)]
        for kind in kinds:
            result = make_field(kind)
            expected = {"name": "values", "type": 'datetime'}
            self.assertEqual(result, expected)

        kinds = [pd.Series(pd.to_datetime(data, utc=True), name='values'),
                 pd.to_datetime(data, utc=True)]
        for kind in kinds:
            result = make_field(kind)
            expected = {"name": "values", "type": 'datetime', "tz": "UTC"}
            self.assertEqual(result, expected)

        arr = pd.period_range('2016', freq='A-DEC', periods=4)
        result = make_field(arr)
        expected = {"name": "values", "type": 'datetime', "freq": "A-DEC"}
        self.assertEqual(result, expected)