wiki:PromotExplorerTest

ProMoT Visual Explorer Detailed Tests

Setup A:
Model type: 'Logical Model'.
Test to be applied: 1-6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19-23, 24-29, 30-33, 34-36, 37, 38
Start ProMoT server and GUI -> open logical library (Open --> Logical Library); load the logical toymodel from tutorial Promot/trunk/promot/kb/SignalTransd/structure/toymodel_tutorial/LOAD_toymodel.mdl ; open the Visual Explorer for the browser tree node 'struct-model' --> 'toymodel' --> 'whole_model' by right mouse click --> context menu --> Visual Explorer.

Setup B:
Model type: 'Dynamical Model'.
Tests to be applied: 9, 38
Start ProMoT server and GUI -> load Promot/trunk/promot/kb/practical-bio/LOAD.mdl which includes the library (dynamic-library) for dynamic modeling -> Open the Visual Explorer for the browser tree node 'dynamic-model' --> 'mapk_modules' --> 'mapkc' by right mouse click --> context menu --> Visual Explorer.

Setup C:
Model type: 'SBML Model'.
Tests to be applied: 9, 38
Start ProMoT server and GUI -> import a biomodels.org model (e.g. BIOMD0000000001.xml) -> Open the Visual Explorer for the browser tree node 'sbml-model' --> 'name of model' by right mouse click --> context menu --> Visual Explorer.

Setup D:
Model type: 'Unknown Model'.
Tests to be applied: 9, 38
Start ProMoT server and GUI -> load Promot/trunk/promot/kb/practical/LOAD.mdl which loads the 'tank' model -> Open the Visual Explorer for the browser tree node 'tank-plant' --> 'mc-tank-plant' by right mouse click --> context menu --> Visual Explorer.

Setup E:
Model type: 'Logical Model'.
Tests to be applied: 18
Start ProMoT server and GUI -> load Promot/trunk/promot/kb/testsuite/mdl/test-extend-node-width.mdl which loads a test model -> Open the Visual Explorer for the browser tree node 'whole_model'.

JUnit Tests

  1. Parsing of delimited text file
    Promot/trunk/promot/src/gui/org/mpg/dcts/promot/viznav/test/DelimitedTextReaderTest.java
    Check correct parsing of delimited text file, delimiter is <TAB>

  2. Import node and edge attributes
    Promot/trunk/promot/src/gui/org/mpg/dcts/promot/viznav/test/AttributeReaderTest.java
    Check that two external files (edge attributes, node attributes) are loaded properly. The attributes should be mapped to the existing nodes and edges in the graph correctly.

  3. Parsing and calculation of logical parameter 'Multiple Level'
    Promot/trunk/promot/src/gui/org/mpg/dcts/promot/viznav/test/LogicalParameterMultipleLevelTest.java
    Check that the logical parameter 'Multiple Level' is correctly parsed and calculated

  4. Scenarios: Logical Network Parser
    Promot/trunk/promot/src/gui/org/mpg/dcts/promot/viznav/test/LogicalNetworkParserTest.java
    Check that part of the logical network parser, especially parsing of DUMMY element and NOT element.

  5. Load global scenarios
    Promot/trunk/promot/src/gui/org/mpg/dcts/promot/viznav/test/VisualPropertyTest.java
    Check that the global scenario file (.PromotVizScenarios) is at the given location and calculators are loaded properly from the file. Test is independent of the model type.

  6. Calculation of 'Interaction Distance'
    Promot/trunk/promot/src/gui/org/mpg/dcts/promot/viznav/test/InteractionDistanceTest.java
    Check that the interaction distance of elements in the network model based on a focused element is calculated properly

Tests

  1. Import/export layout
    Save layout (Model --> Export --> Export Layout) in a file (e.g. cell.graphml) in your home directory, change editing mode to 'Editing', move the compounds 'lig1' and 'ph2' slightly, move the edge handle of inhibition edge 'r1-->not_r1_r2_a2' slightly, import layout (Model --> Import --> Import Layout) from a file (e.g. cell.graphml). The positions of the compounds 'lig1' and 'ph2' and edge handle of inhibition edge 'r1-->not_r1_r2_a2' should be the same as before.
    --> TODO: use JUnit test.

  2. Import/export attributes
    Save node attribute 'Map Number' (Model --> Export --> Export Attributes) in a file (e.g. node_attrs.txt) in your home directory, edit file node_attrs.txt by changing in the first line 'Map Number' to 'Test' and in the line for k1 from '1' to '5', import attribute file (Model --> Import --> Import Attributes). Copy the 'Logical Network Scenario' and for 'Node Fill Color' set the map attribute to 'Test'. Two rows should are listed showing the values '1' and '5'. Now set for value '1' a blue color, for value '5' a red color. The node 'k1' in the module 'cell' should be colored red, all other nodes should colored blue
    --> TODO: use JUnit test.

  3. Export graphics
    Open export dialog (Model --> Export --> Export Graphics), a dialog should appear with six options for formats (eps, ps, svg, emf, png, gif), export the view with each of the formats using default options. The results should look like the view in the Visual Explorer but without any layers (status, overview or grid).

  4. Export logical model
    Output logical model with default options, click button 'Generate Model', export should perform without errors, check resulting files, click button 'Close' should exit the dialog.
    --> TODO: use JUnit test.

  5. Edit scenarios, new/copy/rename/remove mappings.

  6. Load user-defined (local) scenarios
    User-defined scenarios should be loaded from USER_HOME; check console output when starting Visual Explorer; two cases:
    1. No file '.PromotVizScenarios' in USER_HOME. When open the Visual Explorer a default scenario 'Default (Editable)' is created. Check 'Edit Scenarios'-dialog (Edit --> Edit Scenario...).
    2. File '.PromotVizScenarios' in USER_HOME exists. Check 'Edit Scenarios'-dialog (Edit --> Edit Scenario...). In the dialog local scenarios (indicated in the name by the prefix [L]) have to be present.

  7. Save user-defined (local) scenarios (to USER_HOME)
    Save user-defined scenarios to USER_HOME. Check console output. Check file '.PromotVizScenarios' in the USER_HOME of existence and correct time stamp.

  8. Exit with/without dialog
    Closing the visual explorer requires to check the local scenarios. If the initial local scenarios are equal to the current local scenarios (no changes) the Visual Explorer exit promptly. If the initial local scenarios are not equal to the current local scenarios (changes are made during exploration) a dialog is opened in order to make sure the user really wants to save the local scenarios (options: Save, Discard, Close). Button 'Save' saves the scenarios as described in (13), button 'Discard' just close the dialog, button 'Close' exits the Visual Explorer with no saving.

Visual inspection

  1. Export GraphML (yEd style)
    Select export option (Model --> Export --> Export GraphML (yEd style). Save the network in a file. Open yEd and load file. Compare both networks in Visual Explorer and yEd. They should have nearly the same visual appearance.

  2. Orthogonal layout
    Apply an orthogonal layout to the network (Edit --> Layout --> Orthogonal Layout), all edges represented by polylines (not straight lines) must be drawn in an orthogonal style.

  3. Flat layout
    Apply a flat layout to the network (Edit --> Layout --> Flat Layout), all basic compounds are scaled to the same size (compare compounds in different modules, e.g. 'k1' in cell and 'tf1' in nucleus).

  4. Adjust node width
    Call action (Edit --> Layout --> Extend Node Width To Label), all nodes with really loooong labels should adjust their width to the label length.

  5. Grid layer on/off
    A grid overlaying the entire canvas should appear/disappear by switching option on/off.

  6. Squiggle layer on/off
    With option on and pressed left mouse button, a line is drawn, release mouse button should stop drawing, drawings can be switched on/off.

  7. Status layer on/off
    With option on, a text box appears in the right lower corner showing the name of the current scenario (default: Logical Scenario) and the current navigation mode (default: Hierarchy Zoom), display can be switched on/off.

  8. Overview layer on/off
    With option on, an overview window of the entire canvas appears in the right lower corner, can be switched on/off.

  9. Legend for visual scenarios on/off/correct mappings
    Select legend in the menu (View --> Legend). A window should appear showing the mappings used in the current visual scenario. Press the button 'Close' to exit the dialog, can be switched on/off.

  10. Navigation mode: Interactive Zoom
    Select navigation mode 'InteractiveZoom', in the status layer the current mode should be entitled 'InteractiveZoom':
    • hold down left button + drag right should zoom into the network
    • hold down left button + drag left should zoom out of the network
    • hold down left button + ctrl + drag should move (pan) the entire network.

  11. Navigation mode: Hierarchical Zoom
    Select navigation mode 'HierarchicalZoom', in the status layer the current mode should be entitled 'HierarchicalZoom':
    • click left button on node/edge should zoom to focused node/edge in hierarchical steps
    • click left button + shift should zoom out the whole network to fit on screen
    • hold down left button + ctrl + drag should move (pan) the entire network.

  12. Navigation mode: Contextual Zoom
    Select navigation mode 'ContextualZoom', in the status layer the current mode should be entitled 'ContextualZoom':
    • click left button on node should enlarge node and shrink all other visible nodes
    • click left button on entity + shift should shrink node and enlarge all other visible nodes
    • if in the tab 'Navigation' under options the box 'Consider Edges' is checked, also edges should be considered during Contextual Zoom (edges move according nodes)
    • hold down left button + ctrl + drag should move (pan) the entire network.

  13. Navigation mode: Focus Zoom
    Select navigation mode 'FocusZoom', in the status layer the current mode should be entitled 'FocusZoom':
    • click left button on entity should perform a minimal zoom to focused entity
    • hold down left button + ctrl + drag should move (pan) the entire network.

  14. Editing mode: Editing (move/resize all/resize border/edit edge handles)
    Select navigation mode 'Editing', in the status layer the current mode should be entitled 'Editing':
    • click left button on node + drag should move the node inside bounds of parent node
    • click left button on node handle + drag should resize all components of node
    • click left button on node handle + shift + drag should resize only border/boundary of node
    • click left button on edge handle + drag should move edge handle
    • click right button on edge for context menu --> Add Point should add a edge handle
    • click right button on edge for context menu --> Remove Point should delete edge handle
    • click right button on edge for context menu --> Remove All Points should delete all edge handles on the link
    • hold down left button + ctrl + drag should move (pan) the entire network.

  15. Legend for navigation and editing modes
    Select legend in the menu (Mode --> Legend). A window should appear showing detailed information about the supported modes and their functionality. Press the button 'Close' to exit the dialog.

  16. Show (all) icons on/off
    With option on, all icons are shown also for complex modules, can be toggled on/off.

  17. Show (all) details on/off
    With option off, the content (nodes, edges, icons, labels) disappears, can be toggled on/off.

  18. Show (all) labels on/off
    With option off, labels of all nodes (also in hierarchy) disappear, can be toggled on/off.

  19. Show (all) label boxes on/off
    With option on, all label boxes of nodes (also in hierarchy) are drawn, option is disabled if (24) is off, can be toggled on/off.

  20. Edge: Zoom to Source
    Choose navigation mode 'Hierarchy Zoom', click on compound 'cell' (automatic zoom to compound 'cell'), right click on reaction edge between compound 'k3p1' and compound 'ph1', choose 'Zoom To Source' from context menu (automatic zoom to compound 'k3p1'), compound 'k3p1' should be enlarged.

  21. Edge: Zoom to Target
    Choose navigation mode 'Hierarchy Zoom', click on compound 'cell' (automatic zoom to compound 'cell'), right click on reaction edge between compound 'k3p1' and compound 'ph1', choose 'Zoom To Target' from context menu (automatic zoom to compound 'ph1'), compound 'ph1' should be enlarged.

  22. Edge: Zoom along Edge
    Choose navigation mode 'Hierarchy Zoom', click on compound 'cell' (automatic zoom to compound 'cell'), right click on reaction edge between compound 'a1' and compound 'ph2', choose 'Zoom along Edge' from context menu (automatic zoom to compound 'a1' followed by moving the view along the path in the edge direction until compound 'ph2' is reached), compound 'ph2' should be enlarged.

  23. Search for node/edge in network
    Search for the compound 'r2' (attribute == PromotName, Case sensitive == on, Display options == Highlight, Navigation Options == Hierarchy Zoom), click button 'Search', compound 'r2' is emphasized by 'Global Highlight Node Color' (default red color) applied on the node border, display should zoom to compound 'r2', click button 'Clear' should remove the string input in the dialog and the highlight border color.
    Search for the edges with interaction type 'inhibition' (attribute == InteractionType, Case sensitive == off, Display options == Highlight, Navigation Options == None), click button 'Search', edges 'ph1-->a1_not_ph1_k1' and 'r1-->not_r1_r2_a2' are emphasized by 'Global Highlight Edge Color' (default red color) applied on the edge color, no zoom should be applied, click button 'Clear' should remove the string input in the dialog and the highlight border color.

  24. Check model type
    Check the correct interpretation of the loaded model. Four cases:
    1. Using Setup A, a logical model should be loaded, in the 'Statistics' dialog the model type should be 'Logical Model', default scenario should be 'Logical Network'.
    2. Using Setup B, a dynamical model should be loaded, in the 'Statistics' dialog the model type should be 'Dynamical Model', default scenario should be 'Visual Editor'.
    3. Using Setup C, a SBML model should be loaded, in the 'Statistics' dialog the model type should be 'SBML Model', default scenario should be 'SBML Model'.
    4. Using Setup D, a unknown model type should be loaded, in the 'Statistics' dialog the model type should be 'Unknown Model', default scenario should be 'Visual Editor'.

Not tested / not critical / trivial

  1. Statistics dialog

  2. Options (General, Rendering, Navigation, Scenarios)

  3. LOD of nodes, edges and text labels

  4. Visualization of submodule with/without terminals (logical modeling)

Last modified 13 years ago Last modified on Aug 27, 2012, 5:29:55 PM