== Attribute Functions Feature Test ==
||'''Preconditions'''||'''Test Case ID'''||'''Instructions'''||'''Expected Results'''||'''Date Executed'''||'''Results'''||
||<|12> 1. Start Cytoscape <
>2. Import the galFiltered.sif network file<
>3. Select some nodes<
>4. Create 2 floating point attributes, e.g. f1 and f2||
||AF1||1. Click on a browser cell<
>2. Enter some simple expressions, e.g. ''=ABS(SIN(-12.3)+22)''<
>3. Press Return/Enter|| The cell should display the result of the evaluated expression ||7/12/12 ||FAIL: cell shows text of equation, not result (this was for a floating point column)||
||AF2||1. Enter a numeric value in the column for ''f1''<
>2. Create an equation on the same row/node for ''f2'' referencing f1, e.g. ''=$f1 + 10.5''<
>3. Press Return/Enter|| The cell should display the result of the evaluated expression ||7/12/12 ||FAIL: cell shows equation, not result ||
||AF3||1. Create a new floating point attribute called ''size''<
>2. Enter the equation ''=SQRT(INDEGREE($ID)+OUTDEGREE($ID)+0.5)*40'' into it<
>3. Go to the !VisMapper and map the ''size'' attribute to the node size using a pass-through mapping || The node should now display a size approximately proportional to their degree ||7/12/12 ||FAIL: "unknown function INDEGREE()!" But note that other equations map via vizmapper fine, even though they display as equations||
||AF4||1. Click on a browser cell<
>2. Enter an invalid expression like ''=SIN(4))''<
>3. Press Return/Enter|| An error message dailog should pop up and after clicking ''Ok'' on the dialog, the cell should display the message ''#PARSE''||7/12/12 ||FAIL: no error messages or stdout for invalid equations or typos ||
||AF5||1. Click on a browser cell<
>2. Enter a well-formed expression but with invalid values, like ''=LOG(-1)'' or ''=1/0''<
>3. Press Return/Enter || A detailed error message starting with ''#ERROR('' should appear in the cell.||7/12/12 ||FAIL: shows equation, not an error ||
||AF6.1||1. Create a new Integer List attribute called "il"<
>2. Click on a cell<
>3. Enter "=ILIST($f1,$f2,13)<
>4. Press Return/Enter || An error message complaining about a missing value for "f1" should appear.||7/12/12 ||FAIL: shows equation, not an error ||
||AF6.2|| 1. Continue from AF6.1<
>2. Fill in valid numbers in for "f1" and "f2" on the same row where the error message is. || After filling in a number for "f1" the error message should be updated to now complain about a missing value for "f2". After also filling in "f2", the error message should disappear and the "il" cell should now display a list, the first two elements of which should be truncated values from the "f1" and "f2" columns.||7/12/12 ||FAIL: shows equation, no errors, no results ||
||AF6.3|| 1. Continue from AF6.2<
>2. Save the current session as "IListTest".<
>3. Exit Cytoscape<
>4. Restart Cytoscape and load the saved session. || You should see the same display in the attribute browser as before.||7/12/12 ||FAIL: could not save with equations. Got NPE: org.cytoscape.model.internal.EqnSupport.convertEqnResultToColumnType(EqnSupport.java:95) ||
||AF7|| 1. Install the !GoogleChartFunctions plugin.<
>2. Load or create a network with at least one node.<
>3. Create a string attribute called "URL" and enter a call to one of the Google chart functions, e.g. "=GBARCHART(-1,1,$fl,"title")" if you have defined a Floating Point List attribute called "fl"<
>4. Save your session and exit Cytoscape.<
>5. Remove the !GoogleChartFunctions plugin and restart Cytoscape.<
>6. Load your previously saved session file. || You should see an error message in the browser complaining about an unknown function.||7/12/12 ||N/A Awaiting GoogleChartFunction port to 3.0 (needs custom graphics api) ||