diff options
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.java | 22 |
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{" + |