Skip to content
Snippets Groups Projects
Commit 34c83259 authored by giovanni.novati@studenti.unimi.it's avatar giovanni.novati@studenti.unimi.it
Browse files

ROSSO: non passa il test defaultStrategy

parent 756febac
Branches
Tags
No related merge requests found
......@@ -8,6 +8,8 @@ public interface Strategy {
// E' possibile che alcune siano condivise (cioè indipendenti da turno):
// ad esempio una eventuale strategia che gioca una carta qualsiasi
public static Strategy NULL = (me,other,briscola) -> { return null; };
@NotNull
Card chooseCard(@NotNull Player me, @NotNull Player other, @NotNull Suit briscola);
}
package it.unimi.di.sweng.briscola;
import org.mockito.stubbing.Answer;
import java.util.Iterator;
import java.util.List;
import static org.mockito.Mockito.when;
public class MockUtils {
@SafeVarargs
public static <T> void whenIterated(Iterable<T> p, T... d) {
when(p.iterator()).thenAnswer((Answer<Iterator<T>>) invocation -> List.of(d).iterator());
}
}
\ No newline at end of file
package it.unimi.di.sweng.briscola;
import org.junit.jupiter.api.Test;
import org.mockito.stubbing.Answer;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
public class StrategiaTest {
@Test
void defaultStrategy(){
Strategy SUT = Strategy.NULL;
Player p1 = mock(Player.class);
Player p2 = mock(Player.class);
Suit b = mock(Suit.class);
List<Card> cards = List.of(Card.get(Rank.DUE, Suit.COPPE), Card.get(Rank.TRE, Suit.BASTONI));
MockUtils.whenIterated(p1,Card.get(Rank.DUE, Suit.COPPE), Card.get(Rank.TRE, Suit.BASTONI));
assertThat(cards).contains(SUT.chooseCard(p1,p2,b));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment