Author: kono
Date: 2010-09-17 18:21:04 -0700 (Fri, 17 Sep 2010)
New Revision: 21937
Added:
core3/vizmap-api/branches/vp-tree/src/test/java/org/cytoscape/view/
core3/vizmap-api/branches/vp-tree/src/test/java/org/cytoscape/view/vizmap/
core3/vizmap-api/branches/vp-tree/src/test/java/org/cytoscape/view/vizmap/AbstractVisualStyleTest.java
Removed:
core3/vizmap-api/branches/vp-tree/src/test/java/org/cytoscape/vizmap/
Modified:
core3/vizmap-api/branches/vp-tree/pom.xml
core3/vizmap-api/branches/vp-tree/src/main/java/org/cytoscape/view/vizmap/VisualMappingFunction.java
core3/vizmap-api/branches/vp-tree/src/main/java/org/cytoscape/view/vizmap/VisualMappingManager.java
core3/vizmap-api/branches/vp-tree/src/main/java/org/cytoscape/view/vizmap/VisualStyle.java
core3/vizmap-api/branches/vp-tree/src/main/java/org/cytoscape/view/vizmap/VisualStyleFactory.java
core3/vizmap-api/branches/vp-tree/src/test/java/org/cytoscape/view/vizmap/AbstractVisualMappingFunctionTest.java
Log:
Start adding tests (both unit and integration).
Modified: core3/vizmap-api/branches/vp-tree/pom.xml
===================================================================
--- core3/vizmap-api/branches/vp-tree/pom.xml 2010-09-17 23:45:36 UTC (rev
21936)
+++ core3/vizmap-api/branches/vp-tree/pom.xml 2010-09-18 01:21:04 UTC (rev
21937)
@@ -123,7 +123,7 @@
<!-- Cytoscape modules -->
<dependency>
<groupId>org.cytoscape</groupId>
- <artifactId>presentation-api</artifactId>
+ <artifactId>viewmodel-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
@@ -134,5 +134,11 @@
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.cytoscape</groupId>
+ <artifactId>presentation-api</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
Modified:
core3/vizmap-api/branches/vp-tree/src/main/java/org/cytoscape/view/vizmap/VisualMappingFunction.java
===================================================================
---
core3/vizmap-api/branches/vp-tree/src/main/java/org/cytoscape/view/vizmap/VisualMappingFunction.java
2010-09-17 23:45:36 UTC (rev 21936)
+++
core3/vizmap-api/branches/vp-tree/src/main/java/org/cytoscape/view/vizmap/VisualMappingFunction.java
2010-09-18 01:21:04 UTC (rev 21937)
@@ -34,8 +34,6 @@
*/
package org.cytoscape.view.vizmap;
-import java.util.Collection;
-
import org.cytoscape.model.CyTableEntry;
import org.cytoscape.view.model.View;
import org.cytoscape.view.model.VisualProperty;
@@ -67,37 +65,38 @@
/**
* Returns attribute name used in this mapping.
+ * This field is immutable.
*
* @return DOCUMENT ME!
*/
- public String getMappingAttributeName();
+ String getMappingAttributeName();
/**
+ * Returns data type of mapping attribute.
*
* @return
*/
- public Class<K> getMappingAttributeType();
+ Class<K> getMappingAttributeType();
/**
- * DOCUMENT ME!
+ * Visual Property associated with this function.
+ * This field is immutable.
*
* @return DOCUMENT ME!
*/
- public VisualProperty<V> getVisualProperty();
+ VisualProperty<V> getVisualProperty();
/**
- * Since current MappingCalculators map from Attributes to
+ * Since current MappingFunctions map from Attributes to
* VisualProperties, have to restrict View<?> to those
* generic types that have CyAttributes; currently this is
* CyTableEntry.
- *
- * @param <G> Graph object type.
*
* @param column DOCUMENT ME!
* @param views DOCUMENT ME!
*/
- void apply(final Collection<? extends View<? extends CyTableEntry>>
views);
+ void apply(final View<? extends CyTableEntry> view);
}
Modified:
core3/vizmap-api/branches/vp-tree/src/main/java/org/cytoscape/view/vizmap/VisualMappingManager.java
===================================================================
---
core3/vizmap-api/branches/vp-tree/src/main/java/org/cytoscape/view/vizmap/VisualMappingManager.java
2010-09-17 23:45:36 UTC (rev 21936)
+++
core3/vizmap-api/branches/vp-tree/src/main/java/org/cytoscape/view/vizmap/VisualMappingManager.java
2010-09-18 01:21:04 UTC (rev 21937)
@@ -36,7 +36,6 @@
package org.cytoscape.view.vizmap;
-import java.util.Collection;
import java.util.Set;
import org.cytoscape.view.model.CyNetworkView;
@@ -61,7 +60,7 @@
* @param vs Visual Style to be set.
* @param nv Target network view
*/
- void setVisualStyle(final VisualStyle vs, final CyNetworkView nv);
+ void setVisualStyle(final VisualStyle visualStyle, final CyNetworkView
networkViewModel);
/**
@@ -71,7 +70,7 @@
*
* @return Associated Visual Style for the view.
*/
- VisualStyle getVisualStyle(final CyNetworkView nv);
+ VisualStyle getVisualStyle(final CyNetworkView networkViewModel);
/**
@@ -82,21 +81,21 @@
*/
Set<VisualStyle> getAllVisualStyles();
-
+
/**
- * Remove a Visual Style.
+ * Add a new style to manager
*
- * @param vs Visual Style to be removed.
- *
+ * @param vs
*/
- void removeVisualStyle(final VisualStyle vs);
+ void addVisualStyle(final VisualStyle visualStyle);
/**
- * Add a new style to manager
+ * Remove a Visual Style.
*
- * @param vs
+ * @param vs Visual Style to be removed.
+ *
*/
- void addVisualStyle(final VisualStyle vs);
+ void removeVisualStyle(final VisualStyle visualStyle);
}
Modified:
core3/vizmap-api/branches/vp-tree/src/main/java/org/cytoscape/view/vizmap/VisualStyle.java
===================================================================
---
core3/vizmap-api/branches/vp-tree/src/main/java/org/cytoscape/view/vizmap/VisualStyle.java
2010-09-17 23:45:36 UTC (rev 21936)
+++
core3/vizmap-api/branches/vp-tree/src/main/java/org/cytoscape/view/vizmap/VisualStyle.java
2010-09-18 01:21:04 UTC (rev 21937)
@@ -42,99 +42,108 @@
/**
- * This is simply a collection of MappingCalculators that define how a set of
- * attributes modify the visual properties of a View object.
+ * A VisualStyle is a collection of VisualMappingFunctions and default values
+ * that defines how a set of attributes modify visual properties of a View
object.
*
*/
public interface VisualStyle {
/**
- * Returns name of this visual style. This should NOT be used as ID of
this
- * Visual Style. Just for GUI components.
+ * Returns name of this visual style. This should NOT be used as the ID
of this
+ * Visual Style. Just for GUI components and may not be unique.
+ *
+ * Title of Visual Style is a mutable field.
*
* @return title of this visual style
*/
- public String getTitle();
+ String getTitle();
+
/**
* Set new title of this VS.
* Will be used by rename function.
*
- * @param title
- * New title.
+ * @param title New title.
*/
- public void setTitle(String title);
+ void setTitle(final String title);
+
/**
* Add a new mapping for this Visual Style.
*
- * Note: renamed from "set" to "add" for consistency.
+ * @param mapping new mapping.
+ */
+ void addVisualMappingFunction(final VisualMappingFunction<?, ?>
mapping);
+
+
+ /**
+ * Remove a mapping for Visual Property.
+ * One visual property can be associated with only one mapping
function,
+ * so this always removes correct mapping.
*
- * @param mapping
- * DOCUMENT ME!
+ * @param vp mapping associated with this vp will be removed.
+ *
*/
- public void addVisualMappingFunction(VisualMappingFunction<?, ?>
mapping);
+ void removeVisualMappingFunction(final VisualProperty<?> vp);
+
/**
* get current mapping for the Visual Property vp.
*
- * @param <V> DOCUMENT ME!
- * @param vp DOCUMENT ME!
+ * @param <V> Type of visual property.
+ * @param vp visual property associated with the target mapping.
*
- * @return DOCUMENT ME!
+ * @return mapping function for vp
+ *
*/
- public <V> VisualMappingFunction<?, V>
getVisualMappingFunction(VisualProperty<V> vp);
+ <V> VisualMappingFunction<?, V> getVisualMappingFunction(final
VisualProperty<V> vp);
+
/**
* Returns all available mappings.
*
* @return All visual mappings for this style.
*/
- public Collection<VisualMappingFunction<?, ?>>
getAllVisualMappingFunctions();
+ Collection<VisualMappingFunction<?, ?>> getAllVisualMappingFunctions();
+
/**
- * Remove a mapping for Visual Property.
- *
- * @param <V> DOCUMENT ME!
- * @param vp DOCUMENT ME!
- *
- * @return DOCUMENT ME!
- */
- public <V> VisualMappingFunction<?, V>
removeVisualMappingFunction(VisualProperty<V> vp);
-
- /**
* Returns default value for the Visual Property vp.
+ * This is style's default value. Not same as VP's default.
*
- * @param <V> DOCUMENT ME!
- * @param vp DOCUMENT ME!
+ * @param <V> Type of object associated with vp
+ * @param vp target visual property
*
- * @return DOCUMENT ME!
+ * @return Style's default value for vp
*/
- public <V> V getDefaultValue(VisualProperty<? extends V> vp);
+ <V> V getDefaultValue(final VisualProperty<V> vp);
+
/**
* Setter for the default value of vp.
*
- * @param <V> DOCUMENT ME!
- * @param vp DOCUMENT ME!
- * @param value DOCUMENT ME!
+ * @param <V> Type of object associated with vp
+ * @param vp target visual property
+ * @param value Value to be set as default. This can be child type of
V. For example,
+ * if V is Number, S can be Double,
Integer, etc.
*/
- <V> void setDefaultValue(VisualProperty<? extends V> vp, V value);
+ <V, S extends V> void setDefaultValue(final VisualProperty<V> vp, S
value);
+
/**
* Apply this visual style to the view.
+ * Currently this is only for network view.
*
- * @param v
- * DOCUMENT ME!
+ * @param v Visual Style will be applied to this network view.
*/
- void apply(CyNetworkView v);
+ void apply(final CyNetworkView networkViewModel);
/**
* A Visual Style is always associated with a lexicon tree provided
* by a rendering engine. This method returns its associated lexicon.
*
- * @return
+ * @return VisualLexicon provided by a rendering engine.
*/
VisualLexicon getVisualLexicon();
}
Modified:
core3/vizmap-api/branches/vp-tree/src/main/java/org/cytoscape/view/vizmap/VisualStyleFactory.java
===================================================================
---
core3/vizmap-api/branches/vp-tree/src/main/java/org/cytoscape/view/vizmap/VisualStyleFactory.java
2010-09-17 23:45:36 UTC (rev 21936)
+++
core3/vizmap-api/branches/vp-tree/src/main/java/org/cytoscape/view/vizmap/VisualStyleFactory.java
2010-09-18 01:21:04 UTC (rev 21937)
@@ -1,6 +1,6 @@
package org.cytoscape.view.vizmap;
-import org.cytoscape.view.presentation.RenderingEngine;
+import org.cytoscape.view.model.VisualLexicon;
public interface VisualStyleFactory {
@@ -13,7 +13,7 @@
*
* @return New Visual Style
*/
- VisualStyle createVisualStyle(final String title, final
RenderingEngine<?> engine);
+ VisualStyle createVisualStyle(final String title, final VisualLexicon
lexicon);
/**
Copied:
core3/vizmap-api/branches/vp-tree/src/test/java/org/cytoscape/view/vizmap (from
rev 21882, core3/vizmap-api/branches/vp-tree/src/test/java/org/cytoscape/vizmap)
Modified:
core3/vizmap-api/branches/vp-tree/src/test/java/org/cytoscape/view/vizmap/AbstractVisualMappingFunctionTest.java
===================================================================
---
core3/vizmap-api/branches/vp-tree/src/test/java/org/cytoscape/vizmap/AbstractVisualMappingFunctionTest.java
2010-09-15 23:09:57 UTC (rev 21882)
+++
core3/vizmap-api/branches/vp-tree/src/test/java/org/cytoscape/view/vizmap/AbstractVisualMappingFunctionTest.java
2010-09-18 01:21:04 UTC (rev 21937)
@@ -1,30 +1,24 @@
-package org.cytoscape.vizmap;
+package org.cytoscape.view.vizmap;
import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
-import java.util.Collection;
-
-import org.cytoscape.model.CyTableEntry;
-import org.cytoscape.view.model.View;
import org.cytoscape.view.model.VisualProperty;
import org.cytoscape.view.vizmap.VisualMappingFunction;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-public abstract class AbstractVisualMappingFunctionTest<K, V> {
+public abstract class AbstractVisualMappingFunctionTest {
- protected VisualMappingFunction<K, V> mapping;
+ protected VisualMappingFunction<?, ?> mapping;
// Aname of controlling attr.
protected String attrName;
- protected Class<K> attrType;
- protected VisualProperty<V> vp;
-
-
-
- protected Collection<View<CyTableEntry>> views;
+ protected Class<?> attrType;
+ protected VisualProperty<?> vp;
+
@Before
public void setUp() throws Exception {
@@ -37,16 +31,12 @@
@Test
public void testMappingSettings() throws Exception {
+
+ assertNotNull(mapping);
+
assertEquals(attrName, mapping.getMappingAttributeName());
assertEquals(attrType, mapping.getMappingAttributeType());
assertEquals(vp, mapping.getVisualProperty());
}
-
- @Test
- public void testMappingApply() throws Exception {
- //FIXME need a real test!
- mapping.apply(views);
-
- }
}
Added:
core3/vizmap-api/branches/vp-tree/src/test/java/org/cytoscape/view/vizmap/AbstractVisualStyleTest.java
===================================================================
---
core3/vizmap-api/branches/vp-tree/src/test/java/org/cytoscape/view/vizmap/AbstractVisualStyleTest.java
(rev 0)
+++
core3/vizmap-api/branches/vp-tree/src/test/java/org/cytoscape/view/vizmap/AbstractVisualStyleTest.java
2010-09-18 01:21:04 UTC (rev 21937)
@@ -0,0 +1,70 @@
+package org.cytoscape.view.vizmap;
+
+
+import static org.junit.Assert.*;
+
+import java.awt.Color;
+
+import org.cytoscape.view.model.NullDataType;
+import org.cytoscape.view.model.VisualLexicon;
+import org.cytoscape.view.model.VisualProperty;
+import org.cytoscape.view.presentation.property.NullVisualProperty;
+import org.cytoscape.view.presentation.property.TwoDVisualLexicon;
+import org.cytoscape.view.vizmap.VisualStyle;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public abstract class AbstractVisualStyleTest {
+
+
+ protected VisualStyle style;
+
+ protected String originalTitle;
+ protected String newTitle;
+
+ protected VisualLexicon lexicon;
+
+
+ @Before
+ public void setUp() throws Exception {
+ // Create root node.
+ final VisualProperty<NullDataType> twoDRoot = new
NullVisualProperty(
+ "TWO_D_ROOT", "2D Root Visual Property");
+
+ lexicon = new TwoDVisualLexicon(twoDRoot);
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ }
+
+
+ @Test
+ public void testVisualStyle() {
+ assertNotNull(style);
+ assertNotNull(originalTitle);
+ assertNotNull(newTitle);
+
+ // Test title
+ assertEquals(originalTitle, style.getTitle());
+ style.setTitle(newTitle);
+ assertEquals(newTitle, style.getTitle());
+
+ // Test lexicon
+ assertEquals(lexicon, style.getVisualLexicon());
+
+ // Test default values.
+ assertEquals(Color.white,
style.getDefaultValue(TwoDVisualLexicon.NETWORK_BACKGROUND_COLOR));
+
style.setDefaultValue(TwoDVisualLexicon.NETWORK_BACKGROUND_COLOR, Color.BLACK);
+ assertEquals(Color.BLACK,
style.getDefaultValue(TwoDVisualLexicon.NETWORK_BACKGROUND_COLOR));
+
+ assertEquals(Color.GRAY,
style.getDefaultValue(TwoDVisualLexicon.NODE_PAINT));
+
+
+
+
+
+
+ }
+}
--
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.