# HG changeset patch
# User Sylvain Thénault <sylvain.thenault@logilab.fr>
# Date 1378896979 -7200
#      Wed Sep 11 12:56:19 2013 +0200
# Branch stable
# Node ID 91c4cbe2eeb39e1075fefd7266d94f08c83d8527
# Parent  a3ddccf19ded09c1614124c94536c55d612143f8
[test] extend a bit add_type_restriction tests

diff --git a/test/unittest_nodes.py b/test/unittest_nodes.py
--- a/test/unittest_nodes.py
+++ b/test/unittest_nodes.py
@@ -62,27 +62,34 @@
         self.simplify = helper.simplify
 
     def test_add_is_type_restriction(self):
-        tree = self.parse('Any X WHERE X is Person')
+        tree = self.parse("Any X WHERE X is Person, X name ILIKE 'A%'")
         select = tree.children[0]
         x = select.get_selected_variables().next()
         self.assertRaises(RQLException, select.add_type_restriction, x.variable, 'Babar')
         select.add_type_restriction(x.variable, 'Person')
-        self.assertEqual(tree.as_string(), 'Any X WHERE X is Person')
+        self.assertEqual(tree.as_string(), "Any X WHERE X is Person, X name ILIKE 'A%'")
 
     def test_add_new_is_type_restriction_in(self):
+        tree = self.parse("Any X WHERE X is IN(Person, Company), X name ILIKE 'A%'")
+        select = tree.children[0]
+        x = select.get_selected_variables().next()
+        select.add_type_restriction(x.variable, 'Company')
+        # implementation is KISS (the IN remains)
+        self.assertEqual(tree.as_string(), "Any X WHERE X is IN(Company), X name ILIKE 'A%'")
+
+    def test_add_new_is_type_restriction_in_nonregr(self):
         tree = self.parse('Any X WHERE X is IN(Person, Company, Student)')
         select = tree.children[0]
         x = select.get_selected_variables().next()
         select.add_type_restriction(x.variable, 'Person')
-        # implementation is KISS (the IN remains)
         self.assertEqual(tree.as_string(), 'Any X WHERE X is IN(Person)')
 
     def test_add_is_in_type_restriction(self):
-        tree = self.parse('Any X WHERE X is IN(Person, Company)')
+        tree = self.parse("Any X WHERE X is IN(Person, Company), X name ILIKE 'A%'")
         select = tree.children[0]
         x = select.get_selected_variables().next()
         self.assertRaises(RQLException, select.add_type_restriction, x.variable, 'Babar')
-        self.assertEqual(tree.as_string(), 'Any X WHERE X is IN(Person, Company)')
+        self.assertEqual(tree.as_string(), "Any X WHERE X is IN(Person, Company), X name ILIKE 'A%'")
 
     # XXX a full schema is needed, see test in cw/server/test/unittest_security
     # def test_add_is_against_isintance_type_restriction(self):