wiki:PromotEditorTest

Version 19 (modified by kolczyk, 16 years ago) (diff)

--

ProMoT Visual Editor

This page describes a detailed !testplan for the visual editor of ProMoT . Test results are reported on a separate page.

The Functionality needed for the setups, described in the following should be tested in browser tests, see: testplan)

Setup A: applied to tests 1, 2, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
Start ProMoT server and GUI -> load the logical library Promot/trunk/promot/kb/SignalTransd/structure/struct-ana-library.mdl -> load the logical toymodel from tutorial Promot/trunk/promot/kb/SignalTransd/structure/toymodel_tutorial/LOAD_toymodel.mdl -> Open the Visual Editor for the browser tree node "cell" by double click.

Setup B: applied to tests 11, 13
Start ProMoT server and GUI -> load Promot/trunk/promot/kb/practical-bio/LOAD.mdl which includes the library (reduced-library) for dynamic modeling -> Open the browser tree for "dynamic-model", for "mapk_modules" and double click to "raf-ras_modu" to open the Visual Editor for this class.

Setup C: applied to test 21
Start ProMoT server and GUI -> load the logical library Promot/trunk/promot/kb/SignalTransd/structure/struct-ana-library.mdl -> load the test file Promot/trunk/promot/kb/testsuite/mdl/shortcut-test.mdl -> Open the Visual Editor for "new-subclass".

Setup D: applied to test 22
Start ProMoT server and GUI -> load the logical library Promot/trunk/promot/kb/SignalTransd/structure/struct-ana-library.mdl -> load the test file Promot/trunk/promot/kb/testsuite/mdl/checker-test.mdl -> Open the Visual Editor for "cell".

  1. Open the menu "Model" -> "Save as", type in the dialog "cell2" and click to the button "OK". A new class appears in the browser tree with name "cell2" with the same mdl-code like cell. !!! Save changes has to be tested. !!!

  2. Click to "X" in the upper right corner or choose the menu action "Model" -> "Close" and the editor disappears.

  3. Open the browser tree for "struct-library" and "compound"
    • Drag from the ProMoTTreeNode "drug" to the Modules-palette and release. The class is now available in the Palette.
    • Drag from the ProMoTTreeNode "nucleus" to the ConstructionArea and release. A new Slot with name "nucleus0" is created at the coordinates where released.

  4. Drag from the class "source" in the Modules-palette to the ConstructionArea, a new instance is created with name "source0" at the coordinates where released.

  5. Setup A and test 3 -> then click with right mouse button to the class "drug" in the Modules-palette and choose delete. The class disappears.

  6. Disposing a slot in the ConstructionArea of the PaletteWindow is tested in the junit test Promot/trunk/promot/src/gui/org/mpg/dcts/promot/vizedit/cmds/CmdDisposeTest.java

  7. Double click to the class nucleus and a new visual editor with the corresponding class opens.

  8. Rename connected and unconnected slots is tested in junit test Promot/trunk/promot/src/gui/org/mpg/dcts/promot/test/CmdRenameTest.java, tests are still enhanceable.

  9. Insert a "kinase" and an "and-2" slot by drag and drop from the Modules-palette, then drag an edge from the port of "kinase" to the "input1" port of "and-2". A new link with a linknode placed at the "kinase" port will be created.

  10. Press the mouse over the slot named "nucleus" and move the mouse around, mouse release will place the "nucleus" slot at another place. Now press the cursor-key and the selected slot will also move.

  11. Propagate a terminal from a slots port
    • logical gate terminal & logical compound terminal:
      Use Setup A, insert a new slot "and-2" by Drag and Drop from the modules palette, right click on the new node and choose 'Connect Terminals' -> 'Propagate input 1' from the context menu, a new 'term-struct-input' named 'input1' is created and connected to the input1-terminal of the 'and_2';
      Now insert a new slot "kinase" by Drag and Drop from the modules palette, right click on the new node and choose 'Connect Terminals' -> 'Propagate input' from the context menu, a 'struct-adapter-compound' is inserted and its input-terminal is propagated. There is also a LinkNode created for the link between the compound and the adapter and placed on the compound terminal.
    • dynamic terminals:
      Use Setup B, insert a new slot "storage-intra" by Drag and Drop from the modules palette, right click on the new node and choose 'Connect Terminals' -> 'Propagate cf' from the context menu, an 'adapter-flux' is inserted and its term-reaction-flux is propagated to the modules border. There is also a LinkNode created for the link between the storage and the adapter and placed on the storage terminal.

  12. EditDetailsDialog (see detailed tests)

  13. Open the EditDetailsDialog for the slot "not_r1_r2_a2", add a documentation string and set the 'ignore_in_export' variable to the value '1', save and close (see test 12). Then select the slots "r1", "r2", "not_r1_r2_a2", "not_lr" and "a2" and press 'Ctrl + C' and 'Ctrl + V'. The slots "r10", "r20", "not_lr0" "not_r1_r2_a20" and "a20" are created and connected like the original. Check via the EditDetailsDialog or in the mdl that "not_r1_r2_a20" has the value '1' for the variable 'ignore_in_export' and the same documentation string like "not_r1_r2_a2". Open the visual editor for the class "nucleus" and also press 'Ctrl + V', the slots are created, check again the names variables and documentation.

  14. Open the visual editor for the class "nucleus", open the EditDetailsDialog for the slot "k3p1_k3p2_tf1" and change the variable "ignore_in_export" to the value "1", the variable "output.a" to the value "2" and add a documentation String. Save and close the dialog and the editor for "nucleus". Select the slot "nucleus" and choose from the menu 'Tools'->'Elevate Module Content'. Three slots named "k3p1_k3p2_tf1" "tf1" and "drain" are created and the ports of the gate are connected to the gates "k3p1" and "k3p2". The class nucleus is deleted. Now open the EditDetailsDialog and check if the docu and variables are transfered.

  15. Edit the variables and docu of "not_r1_r2_a2" like in test 13. Select the slots "r1", "r2", "not_r1_r2_a2", "not_lr" and "a2" and choose from the menu 'Tools'->'Create Class From Selection', press OK in the class name dialog. The new class with the name "new_submodule_of_cell" is created and contains the selected slots, check via EditDetailsDialog or in the mdl that the variables and docu for "not_r1_r2_a2" is transfered and the previously selected slots are deleted from the class cell.

  16. Choose from the menu 'Model'->'Export Graphics'->'Save Graphics to EPS', choose a target directory for the export, type a name and click to 'Save'. Repeat for the formats gif and gif-icon. Check the created files.

  17. Drag a rectangle around the nodes "r1_a1", "r1", "r2", "not_lr" "not_r1_r2_a2" to select them, then choose 'Edit'->'Set Map Number' from the menu. Type '2' in the dialog and click to OK. Check the mdl code in the browser, if parameters are written for the slots.

  18. Setting the model size is tested in Promot/trunk/promot/src/gui/org/mpg/dcts/promot/vizedit/cmds/CmdSetModelSizeTest.java

  19. Fitting the model size to module content is also tested in Promot/trunk/promot/src/gui/org/mpg/dcts/promot/vizedit/cmds/CmdSetModelSizeTest.java

  20. Choose from the menu 'Tools'->'Layout'->'Spring Layout', keep all standard options in dialog, click the button 'Layout'. Repeat the operation for all other layouts (Radial, Grid, Random, Simple Compound, Compound). Check layout results in editor.

  21. Setup C:
    • Activate the ShortCut Activation from the !toolbar
    • Drag an edge from "adapter0" to "adapter1", an "active" is inserted and connected with the two compounds, and two LinkNodes are inserted and placed on the compounds; undo and redo this action
    • Drag an edge from "adapter0" to "adapter", a further "active" is inserted and connected to the compounds, the connection to adapter gets also a LinkNode; undo and redo this action
    • drag from "adapter" to "adapter1", an "activ" is inserted between the two LinkNodes; now drag from "adapter2" to "new_subclass1", an "activ" and a LinkNode? on "adapter2" are inserted; undo and redo this action
    • Close the Editor without save and repeat the steps after choosing the "Inhibition" shortcut

  22. test checker for logical and dynamic models