bkimminich/kata-tcg

View on GitHub
tcg-java/src/main/java/de/kimminich/kata/tcg/Move.java

Summary

Maintainability
A
1 hr
Test Coverage
package de.kimminich.kata.tcg;

import java.util.Optional;

public class Move {

    private final Optional<Card> card;
    private final Action action;

    public Move(Optional<Card> card, Action action) {
        this.card = card;
        this.action = action;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Move move = (Move) o;

        if (action != move.action) return false;
        if (card != null ? !card.equals(move.card) : move.card != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = card != null ? card.hashCode() : 0;
        result = 31 * result + (action != null ? action.hashCode() : 0);
        return result;
    }

    public Optional<Card> getCard() {
        return card;
    }

    @Override
    public String toString() {
        return "Move{" +
                "card=" + card +
                ", action=" + action +
                '}';
    }

    public Action getAction() {
        return action;
    }
}