aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/edu/brown/cs/student/term/trade/Trade.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/edu/brown/cs/student/term/trade/Trade.java')
-rw-r--r--src/main/java/edu/brown/cs/student/term/trade/Trade.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/main/java/edu/brown/cs/student/term/trade/Trade.java b/src/main/java/edu/brown/cs/student/term/trade/Trade.java
index 353de8d..df52a4f 100644
--- a/src/main/java/edu/brown/cs/student/term/trade/Trade.java
+++ b/src/main/java/edu/brown/cs/student/term/trade/Trade.java
@@ -2,6 +2,8 @@ package edu.brown.cs.student.term.trade;
import edu.brown.cs.student.term.hub.Holder;
+import java.util.Objects;
+
public class Trade {
private int id;
@@ -54,6 +56,26 @@ public class Trade {
return price;
}
+ /**
+ * This equals method differs from what may be expected,
+ * it considers trades "equal" if they have the same buy value and stock name
+ * because they are the same type of trade of the same stock in that case
+ * @param o - object to compare to
+ * @return true if equal by the considerations above
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ Trade trade = (Trade) o;
+ return isBuy == trade.isBuy && stock.equals(trade.stock);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(stock, isBuy);
+ }
+
@Override
public String toString() {
return "Trade{" +