[jboss-svn-commits] JBL Code SVN: r23510 - in labs/jbossrules/trunk/drools-solver/drools-solver-core/src: test/java/org/drools/solver/core and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Oct 19 13:43:03 EDT 2008


Author: ge0ffrey
Date: 2008-10-19 13:43:02 -0400 (Sun, 19 Oct 2008)
New Revision: 23510

Added:
   labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/score/AbstractScore.java
   labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/score/HardAndSoftScore.java
   labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/score/Score.java
   labs/jbossrules/trunk/drools-solver/drools-solver-core/src/test/java/org/drools/solver/core/score/
   labs/jbossrules/trunk/drools-solver/drools-solver-core/src/test/java/org/drools/solver/core/score/HardAndSoftScoreTest.java
Log:
score prototypes

Added: labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/score/AbstractScore.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/score/AbstractScore.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/score/AbstractScore.java	2008-10-19 17:43:02 UTC (rev 23510)
@@ -0,0 +1,11 @@
+package org.drools.solver.core.score;
+
+import java.io.Serializable;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public abstract class AbstractScore<S extends AbstractScore<S>>
+        implements Score<S>, Serializable {
+
+}

Added: labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/score/HardAndSoftScore.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/score/HardAndSoftScore.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/score/HardAndSoftScore.java	2008-10-19 17:43:02 UTC (rev 23510)
@@ -0,0 +1,45 @@
+package org.drools.solver.core.score;
+
+/**
+ * This class is immutable.
+ * @author Geoffrey De Smet
+ */
+public class HardAndSoftScore extends AbstractScore<HardAndSoftScore> {
+
+    private int hardScore;
+    private int softScore;
+
+    public HardAndSoftScore(int hardScore) {
+        this.hardScore = hardScore;
+        // Any other softScore is better
+        softScore = Integer.MIN_VALUE;
+    }
+
+    public HardAndSoftScore(int hardScore, int softScore) {
+        this.hardScore = hardScore;
+        this.softScore = softScore;
+    }
+
+    public int compareTo(HardAndSoftScore other) {
+        if (hardScore != other.hardScore) {
+            if (hardScore < other.hardScore) {
+                return -1;
+            } else {
+                return 1;
+            }
+        } else {
+           if (softScore < other.softScore) {
+               return -1;
+           } else if (softScore > other.softScore) {
+               return 1;
+           } else {
+               return 0;
+           }
+        }
+    }
+
+    public String toString() {
+        return hardScore + "hard/" + softScore + "soft";
+    }
+
+}

Added: labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/score/Score.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/score/Score.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/score/Score.java	2008-10-19 17:43:02 UTC (rev 23510)
@@ -0,0 +1,11 @@
+package org.drools.solver.core.score;
+
+/**
+ * Implementations should be immutable.
+ * @author Geoffrey De Smet
+ */
+public interface Score<S extends Score<S>> extends Comparable<S> {
+
+
+
+}

Added: labs/jbossrules/trunk/drools-solver/drools-solver-core/src/test/java/org/drools/solver/core/score/HardAndSoftScoreTest.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-core/src/test/java/org/drools/solver/core/score/HardAndSoftScoreTest.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-core/src/test/java/org/drools/solver/core/score/HardAndSoftScoreTest.java	2008-10-19 17:43:02 UTC (rev 23510)
@@ -0,0 +1,20 @@
+package org.drools.solver.core.score;
+
+import junit.framework.TestCase;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public class HardAndSoftScoreTest extends TestCase {
+
+    public void testCompareTo() {
+        Score a = new HardAndSoftScore(-1, -300);
+        Score b = new HardAndSoftScore(-20, -20);
+        Score c = new HardAndSoftScore(-20);
+        assertTrue(a.compareTo(b) > 0);
+        assertTrue(b.compareTo(a) < 0);
+        assertTrue(b.compareTo(c) > 0);
+        assertTrue(c.compareTo(b) < 0);
+    }
+
+}




More information about the jboss-svn-commits mailing list