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.

Reply via email to