def test_globals(self):
        global x_shape
        x_shape = [1, 2, 3]
        self.assertEqual(eval_if_exist_else_none('x_shape', locals()), None)
        self.assertEqual(eval_if_exist_else_none('x_shape', globals()),
                         x_shape)

        del x_shape
        def foo():
            global y_shape
            y_shape = [2, 3, 4]

            self.assertEqual(eval_if_exist_else_none('y_shape', globals()),
                             [2, 3, 4])
            self.assertEqual(eval_if_exist_else_none('x_shape', locals()),
                             None)
            self.assertEqual(eval_if_exist_else_none('x_shape', globals()),
                             None)

            del y_shape
    def test_none(self):
        def foo():
            x_shape = [2, 3, 4]
            return x_shape

        self.assertEqual(eval_if_exist_else_none('x_shape', locals()), None)
 def foo():
     y_shape = [2, 3, 4]
     self.assertEqual(eval_if_exist_else_none('x_shape', globals()),
                      [1, 2, 3])
     self.assertEqual(eval_if_exist_else_none('y_shape', locals()),
                      [2, 3, 4])