[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