Skip to content
This repository has been archived by the owner on Jan 18, 2025. It is now read-only.

Commit

Permalink
Add Response unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
powersagitar committed Jan 8, 2025
1 parent ca5de2c commit 7db24db
Show file tree
Hide file tree
Showing 2 changed files with 95 additions and 14 deletions.
14 changes: 0 additions & 14 deletions culminating-mastermind/app/src/test/java/mastermind/AppTest.java

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
package mastermind;

import mastermind.core.Code;
import mastermind.core.Response;
import org.junit.jupiter.api.Test;

import java.util.List;

import static org.junit.jupiter.api.Assertions.assertEquals;

class ResponseTest {
@Test
void guessAllCorrect() {
final Code code = new Code(List.of(0, 0, 0, 0));
final Code guess = new Code(List.of(0, 0, 0, 0));
final Response response = new Response(code, guess);
final int expectedCorrectCount = 4;
final int expectedMisplacementCount = 0;

assertEquals(expectedCorrectCount, response.getResponse().first);
assertEquals(expectedMisplacementCount, response.getResponse().second);
}

@Test
void guessPartialCorrectNoMisplacement() {
final Code code = new Code(List.of(0, 1, 2, 3));
final Code guess = new Code(List.of(0, 1, 4, 5));
final Response response = new Response(code, guess);
final int expectedCorrectCount = 2;
final int expectedMisplacementCount = 0;

assertEquals(expectedCorrectCount, response.getResponse().first);
assertEquals(expectedMisplacementCount, response.getResponse().second);
}

@Test
void guessNoCorrectNoMisplacement() {
final Code code = new Code(List.of(0, 0, 0, 0));
final Code guess = new Code(List.of(1, 1, 1, 1));
final Response response = new Response(code, guess);
final int expectedCorrectCount = 0;
final int expectedMisplacementCount = 0;

assertEquals(expectedCorrectCount, response.getResponse().first);
assertEquals(expectedMisplacementCount, response.getResponse().second);
}

@Test
void guessPartialCorrectWithMisplacement() {
final Code code = new Code(List.of(0, 1, 2, 3));
final Code guess = new Code(List.of(0, 1, 3, 2));
final Response response = new Response(code, guess);
final int expectedCorrectCount = 2;
final int expectedMisplacementCount = 2;

assertEquals(expectedCorrectCount, response.getResponse().first);
assertEquals(expectedMisplacementCount, response.getResponse().second);
}

@Test
void guessAllMisplacement() {
final Code code = new Code(List.of(0, 1, 2, 3));
final Code guess = new Code(List.of(3, 2, 1, 0));
final Response response = new Response(code, guess);
final int expectedCorrectCount = 0;
final int expectedMisplacementCount = 4;

assertEquals(expectedCorrectCount, response.getResponse().first);
assertEquals(expectedMisplacementCount, response.getResponse().second);
}

@Test
void guessAllMisplacementWithDuplicates() {
final Code code = new Code(List.of(0, 1, 2, 3));
final Code guess = new Code(List.of(3, 3, 3, 4));
final Response response = new Response(code, guess);
final int expectedCorrectCount = 0;
final int expectedMisplacementCount = 1;

assertEquals(expectedCorrectCount, response.getResponse().first);
assertEquals(expectedMisplacementCount, response.getResponse().second);
}

@Test
void guessMisplacementIsCorrect() {
final Code code = new Code(List.of(0, 1, 2, 3));
final Code guess = new Code(List.of(0, 0, 0, 0));
final Response response = new Response(code, guess);
final int expectedCorrectCount = 1;
final int expectedMisplacementCount = 0;

assertEquals(expectedCorrectCount, response.getResponse().first);
assertEquals(expectedMisplacementCount, response.getResponse().second);
}
}

0 comments on commit 7db24db

Please sign in to comment.