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))
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)
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)
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)