Author: Christian Lopes
Date: 2010-09-07 09:58:37 -0700 (Tue, 07 Sep 2010)
New Revision: 21721
Modified:
cytoscapeweb/trunk/cytoscapeweb/src-test/org/cytoscapeweb/model/data/ContinuousVizMapperVOTest.as
Log:
Tests for feature #2288: Continuous mapper should allow user-custom scales
Modified:
cytoscapeweb/trunk/cytoscapeweb/src-test/org/cytoscapeweb/model/data/ContinuousVizMapperVOTest.as
===================================================================
---
cytoscapeweb/trunk/cytoscapeweb/src-test/org/cytoscapeweb/model/data/ContinuousVizMapperVOTest.as
2010-09-07 16:31:26 UTC (rev 21720)
+++
cytoscapeweb/trunk/cytoscapeweb/src-test/org/cytoscapeweb/model/data/ContinuousVizMapperVOTest.as
2010-09-07 16:58:37 UTC (rev 21721)
@@ -32,19 +32,18 @@
import flexunit.framework.TestCase;
+ import org.cytoscapeweb.util.VisualProperties;
+
public class ContinuousVizMapperVOTest extends TestCase {
private const _ATTR_NAME:String = "anAttrName";
private const _MIN:Number = 0.2;
- private const _MAX:Number = 10;
- private const _XML:XML = <continuous-mapper attr-name={_ATTR_NAME}
min-value={_MIN} max-value={_MAX}/>;
-
- private const _MIN_VALUE:Number = -2;
- private const _MAX_VALUE:Number = 400;
-
+ private const _MAX:Number = 1;
+ private const _MIN_ATTR_VALUE:Number = -2;
+ private const _MAX_ATTR_VALUE:Number = 400;
+ private var _values:Array = [-1, 0, _MAX_ATTR_VALUE, 30,
_MIN_ATTR_VALUE, _MAX_ATTR_VALUE, 5.5];
private var _dataList:Array;
- private var _values:Array = [-1, 0, _MAX_VALUE, 30, _MIN_VALUE,
_MAX_VALUE, 5.5];
public function ContinuousVizMapperVOTest() {
_dataList = new Array();
@@ -60,30 +59,73 @@
}
public function testFromObject():void {
- // TODO:
-// var mapper:ContinuousVizMapperVO =
ContinuousVizMapperVO.fromXML(_XML);
-//
-// assertEquals(_ATTR_NAME, mapper.attrName);
-// assertEquals(_MIN, mapper.minValue);
-// assertEquals(_MAX, mapper.maxValue);
-//
-// // Test dinamicaly generated values:
-// // -----------------------------------
-// // First, bind the data list to the vizMapper:
-// mapper.dataList = _dataList;
-//
-// for (var i:int = 0; i < _dataList.length; i++) {
-// var v:Number = _values[i];
-// var data:Object = _dataList[i];
-// var f:Number = Maths.invLinearInterp(v, _MIN_VALUE, _MAX_VALUE);
-// var interpValue:Number = Maths.linearInterp(f, _MIN, _MAX);
-//
-// assertEquals(interpValue, mapper.getValue(data));
-// }
-//
-// // Double-check, in case the interpolation done here is
incorrect:
-// assertEquals(_MIN, mapper.getValue(_dataList[4]));
-// assertEquals(_MAX, mapper.getValue(_dataList[2]));
+ var data:Object;
+ var i:int;
+ var v:Number;
+
+ // Test conversion:
+ // -----------------------------------
+ var mapper:ContinuousVizMapperVO =
ContinuousVizMapperVO.fromObject(
+ VisualProperties.EDGE_WIDTH,
+ { attrName: _ATTR_NAME, minValue: _MIN, maxValue: _MAX,
minAttrValue: 0.001, maxAttrValue: 0.88 });
+
+ assertEquals(_ATTR_NAME, mapper.attrName);
+ assertEquals(_MIN, mapper.minValue);
+ assertEquals(_MAX, mapper.maxValue);
+ assertEquals(0.001, mapper.minAttrValue);
+ assertEquals(0.88, mapper.maxAttrValue);
+
+ var obj:Object = mapper.toObject();
+ assertEquals(_ATTR_NAME, obj.attrName);
+ assertEquals(_MIN, obj.minValue);
+ assertEquals(_MAX, obj.maxValue);
+ assertEquals(0.001, obj.minAttrValue);
+ assertEquals(0.88, obj.maxAttrValue);
+
+ // Test dinamicaly generated values:
+ // -----------------------------------
+ mapper = ContinuousVizMapperVO.fromObject(
+ VisualProperties.EDGE_WIDTH, { attrName: _ATTR_NAME, minValue:
_MIN, maxValue: _MAX });
+
+ mapper.dataList = _dataList;
+
+ // Min/Max attr. values from data list:
+ assertEquals(_MIN_ATTR_VALUE, mapper.minAttrValue);
+ assertEquals(_MAX_ATTR_VALUE, mapper.maxAttrValue);
+
+ obj = mapper.toObject();
+ assertUndefined(obj.minAttrValue); // Dynamic range!
+ assertUndefined(obj.maxAttrValue);
+
+ // Test interpolated values:
+ for (i = 0; i < _dataList.length; i++) {
+ v = _values[i];
+ data = _dataList[i];
+ var f:Number = Maths.invLinearInterp(v, _MIN_ATTR_VALUE,
_MAX_ATTR_VALUE);
+ var interpValue:Number = Maths.linearInterp(f, _MIN, _MAX);
+
+ assertEquals(interpValue, mapper.getValue(data));
+ }
+
+ // Double-check, in case the interpolation done here is incorrect:
+ assertEquals(_MIN, mapper.getValue(_dataList[4]));
+ assertEquals(_MAX, mapper.getValue(_dataList[2]));
+
+
+ // Test with specified scale's MIN/MAX values:
+ // -------------------------------------------
+ mapper = ContinuousVizMapperVO.fromObject(
+ VisualProperties.EDGE_WIDTH,
+ { attrName: _ATTR_NAME, minValue: _MIN, maxValue: _MAX,
minAttrValue: 0, maxAttrValue: 10 });
+
+ mapper.dataList = _dataList;
+
+ // Test interpolated values:
+ for (i = 0; i < _dataList.length; i++) {
+ data = _dataList[i];
+ v = mapper.getValue(data);
+ assertTrue(v >= 0 && v <= 10);
+ }
}
}
}
\ No newline at end of file
--
You received this message because you are subscribed to the Google Groups
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/cytoscape-cvs?hl=en.