913 self.execute("INSERT Personne X, Societe Y: X nom N, Y nom 'toto', X travaille Y WHERE U login 'admin', U login N") |
913 self.execute("INSERT Personne X, Societe Y: X nom N, Y nom 'toto', X travaille Y WHERE U login 'admin', U login N") |
914 rset = self.execute('Any X, Y WHERE X nom "admin", Y nom "toto", X travaille Y') |
914 rset = self.execute('Any X, Y WHERE X nom "admin", Y nom "toto", X travaille Y') |
915 self.assert_(rset.rows) |
915 self.assert_(rset.rows) |
916 self.assertEquals(rset.description, [('Personne', 'Societe',)]) |
916 self.assertEquals(rset.description, [('Personne', 'Societe',)]) |
917 |
917 |
|
918 def test_insert_7_2(self): |
|
919 self.execute("INSERT Personne X, Societe Y: X nom N, Y nom 'toto', X travaille Y WHERE U login N") |
|
920 rset = self.execute('Any X, Y WHERE Y nom "toto", X travaille Y') |
|
921 self.assertEquals(len(rset), 2) |
|
922 self.assertEquals(rset.description, [('Personne', 'Societe',), |
|
923 ('Personne', 'Societe',)]) |
|
924 |
918 def test_insert_8(self): |
925 def test_insert_8(self): |
919 self.execute("INSERT Societe Y, Personne X: Y nom N, X nom 'toto', X travaille Y WHERE U login 'admin', U login N") |
926 self.execute("INSERT Societe Y, Personne X: Y nom N, X nom 'toto', X travaille Y WHERE U login 'admin', U login N") |
920 rset = self.execute('Any X, Y WHERE X nom "toto", Y nom "admin", X travaille Y') |
927 rset = self.execute('Any X, Y WHERE X nom "toto", Y nom "admin", X travaille Y') |
921 self.assert_(rset.rows) |
928 self.assert_(rset.rows) |
922 self.assertEquals(rset.description, [('Personne', 'Societe',)]) |
929 self.assertEquals(rset.description, [('Personne', 'Societe',)]) |
|
930 |
|
931 def test_insert_9(self): |
|
932 self.execute("INSERT Societe X: X nom 'Lo'") |
|
933 self.execute("INSERT Societe X: X nom 'Gi'") |
|
934 self.execute("INSERT SubDivision X: X nom 'Lab'") |
|
935 rset = self.execute("INSERT Personne X: X nom N, X travaille Y, X travaille_subdivision Z WHERE Y is Societe, Z is SubDivision, Y nom N") |
|
936 self.assertEquals(len(rset), 2) |
|
937 self.assertEquals(rset.description, [('Personne',), ('Personne',)]) |
|
938 # self.assertSetEquals(set(x.nom for x in rset.entities()), |
|
939 # ['Lo', 'Gi']) |
|
940 # self.assertSetEquals(set(y.nom for x in rset.entities() for y in x.travaille), |
|
941 # ['Lo', 'Gi']) |
|
942 # self.assertEquals([y.nom for x in rset.entities() for y in x.travaille_subdivision], |
|
943 # ['Lab', 'Lab']) |
923 |
944 |
924 def test_insert_query_error(self): |
945 def test_insert_query_error(self): |
925 self.assertRaises(Exception, |
946 self.assertRaises(Exception, |
926 self.execute, |
947 self.execute, |
927 "INSERT Personne X: X nom 'toto', X is Personne") |
948 "INSERT Personne X: X nom 'toto', X is Personne") |