Example #1
0
    def test_is_unnamedtupe(self):
        x = dict(a=1)
        y = NTuple(a=1, b='x')
        z = (1, 2, '3')

        self.assertFalse(cnest._is_unnamedtuple(x))
        self.assertFalse(cnest._is_unnamedtuple(y))
        self.assertTrue(cnest._is_unnamedtuple(z))
Example #2
0
    def test_assert_same_length(self):
        x = NTuple(a=1, b=2)
        a = [1, 2]
        c = dict(x=3, y=dict(x=1, y=2))

        cnest._assert_same_length(x, a)
        cnest._assert_same_length(a, c)

        self.assertRaises(RuntimeError, cnest._assert_same_length, a, 1)
Example #3
0
    def test_assert_same_type(self):
        x = NTuple(a=1, b=2)
        y = NTuple(a=1, b=1)
        a = [1, 2]
        b = [3]
        c = (1, 2)
        cnest._assert_same_type(x, y)
        cnest._assert_same_type(a, b)
        self.assertRaises(RuntimeError, cnest._assert_same_type, a, c)

        a = dict(x=1)
        b = OrderedDict([('x', 1), ('y', 2)])
        cnest._assert_same_type(a, b)

        self.assertRaises(RuntimeError, cnest._assert_same_type, x, a)

        z = (1, 2)
        self.assertRaises(RuntimeError, cnest._assert_same_type, x, z)
Example #4
0
    def test_extract_fields(self):
        x = NTuple(a=dict(x=1), b=1)
        y = dict(aa=1, bb=2)
        z = (1, 2)
        a = {1: 'x', 2: 'y'}

        self.assertTrue(isinstance(cnest._extract_fields_from_nest(x), list))
        self.assertEqual(cnest._extract_fields_from_nest(y), [('aa', 1),
                                                              ('bb', 2)])
        self.assertRaises(RuntimeError, cnest._extract_fields_from_nest, z)
        # only support string keys
        self.assertRaises(RuntimeError, cnest._extract_fields_from_nest, a)