mailr23558 - /trunk/test_suite/gui_tests/test_user_functions.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on May 28, 2014 - 18:59:
Author: bugman
Date: Wed May 28 18:59:17 2014
New Revision: 23558

URL: http://svn.gna.org/viewcvs/relax?rev=23558&view=rev
Log:
Created the User_functions.test_structure_add_atom GUI test.

This is used to check the operation of the Sequence GUI element via the 'pos' 
argument of the
structure.add_atom user function.  This is a list fixed to 3 elements.


Modified:
    trunk/test_suite/gui_tests/test_user_functions.py

Modified: trunk/test_suite/gui_tests/test_user_functions.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/test_suite/gui_tests/test_user_functions.py?rev=23558&r1=23557&r2=23558&view=diff
==============================================================================
--- trunk/test_suite/gui_tests/test_user_functions.py   (original)
+++ trunk/test_suite/gui_tests/test_user_functions.py   Wed May 28 18:59:17 
2014
@@ -142,6 +142,70 @@
             self.assertEqual(points[0][0], 1.0)
             self.assertEqual(points[0][1], None)
             self.assertEqual(points[0][2], None)
+
+
+    def test_structure_add_atom(self):
+        """Test the operation of the structure.add_atom user function GUI 
window."""
+
+        # Open the structure.add_atom user function window.
+        uf = uf_store['structure.add_atom']
+        uf._sync = True
+        uf.create_wizard(parent=self.app.gui)
+
+        # Set the y-value of a single pos, and check.
+        uf.page.uf_args['pos'].selection_win_show()
+        uf.page.uf_args['pos'].sel_win.sequence.SetStringItem(index=1, 
col=1, label=int_to_gui(2))
+        uf.page.uf_args['pos'].selection_win_data()
+        pos = uf.page.uf_args['pos'].GetValue()
+        print("Pos:  %s" % pos)
+        self.assertEqual(len(pos), 3)
+        self.assertEqual(pos[0], None)
+        self.assertEqual(pos[1], 2.0)
+        self.assertEqual(pos[2], None)
+
+        # Set the pos to nothing in the wizard, open the Sequence window, 
close the window, and check that None comes back.
+        uf.page.uf_args['pos'].SetValue(str_to_gui(''))
+        uf.page.uf_args['pos'].selection_win_show()
+        uf.page.uf_args['pos'].selection_win_data()
+        pos = uf.page.uf_args['pos'].GetValue()
+        print("Pos:  %s" % pos)
+        self.assertEqual(pos, None)
+
+        # Set a valid pos in the wizard, open and close the Sequence window 
(twice), and check that the pos comes back.
+        uf.page.uf_args['pos'].SetValue(str_to_gui('[1, 2, -3.]'))
+        uf.page.uf_args['pos'].selection_win_show()
+        uf.page.uf_args['pos'].selection_win_data()
+        uf.page.uf_args['pos'].selection_win_show()
+        uf.page.uf_args['pos'].selection_win_data()
+        pos = uf.page.uf_args['pos'].GetValue()
+        print("Pos:  %s" % pos)
+        self.assertEqual(len(pos), 3)
+        self.assertEqual(pos[0], 1.0)
+        self.assertEqual(pos[1], 2.0)
+        self.assertEqual(pos[2], -3.0)
+
+        # Set the pos to a number of invalid values, checking that they are 
ignored.
+        for val in ['2', 'die', '[1, 2, 3', '[1]', '[[1, 2, 3], 1, 2, 3], 
[1, 2, 3]]']:
+            uf.page.uf_args['pos'].SetValue(str_to_gui(val))
+            uf.page.uf_args['pos'].selection_win_show()
+            uf.page.uf_args['pos'].selection_win_data()
+            pos = uf.page.uf_args['pos'].GetValue()
+            print("Invalid pos: %s\nPos:  %s" % (val, pos))
+            self.assertEqual(pos, None)
+
+        # Set the Sequence elements to invalid values.
+        for val in ['x']:
+            uf.page.uf_args['pos'].SetValue(str_to_gui(''))
+            uf.page.uf_args['pos'].selection_win_show()
+            uf.page.uf_args['pos'].sel_win.sequence.SetStringItem(index=0, 
col=1, label=str_to_gui(val))
+            uf.page.uf_args['pos'].sel_win.sequence.SetStringItem(index=1, 
col=1, label=int_to_gui(1))
+            uf.page.uf_args['pos'].selection_win_data()
+            pos = uf.page.uf_args['pos'].GetValue()
+            print("Pos:  %s" % pos)
+            self.assertEqual(len(pos), 3)
+            self.assertEqual(pos[0], 1.0)
+            self.assertEqual(pos[1], None)
+            self.assertEqual(pos[2], None)
 
 
     def test_structure_pdb_read(self):




Related Messages


Powered by MHonArc, Updated Wed May 28 19:20:03 2014