Created
February 24, 2011 18:01
-
-
Save jeantil/842569 to your computer and use it in GitHub Desktop.
softeam dojo 6
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.Arrays; | |
import java.util.HashSet; | |
import java.util.Set; | |
public class Mastermind { | |
public int[] solve(String[] guess, String[] secret) { | |
int bonBienplace = 0; | |
int bonMalplace = 0; | |
Set<String> setSecret = new HashSet<String>(Arrays.asList(secret)); | |
for (int i = 0; i < secret.length; i++) { | |
String currentGuess = guess[i]; | |
String currentSecret = secret[i]; | |
boolean isContains = setSecret.contains(currentGuess); | |
Set<String> remind = new HashSet<String>(); | |
if (isContains && !remind.contains(currentGuess)) { | |
bonMalplace++; | |
remind.add(currentGuess); | |
} | |
if (currentGuess.equals(currentSecret)) { | |
bonBienplace++; | |
} | |
} | |
return new int[] { bonBienplace, bonMalplace - bonBienplace }; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import junit.framework.TestCase; | |
public class TestMastermind extends TestCase { | |
public void testtoutfaux() { | |
Mastermind m = new Mastermind(); | |
String[] guess = new String[] { "B", "C", "D", "E" }; | |
String[] secret = new String[] { "A", "A", "A", "A" }; | |
assertEquals(0, m.solve(guess, secret)[0]); | |
assertEquals(0, m.solve(guess, secret)[1]); | |
} | |
public void testunbonbienplace() { | |
Mastermind m = new Mastermind(); | |
String[] guess = new String[] { "A", "C", "D", "E" }; | |
String[] secret = new String[] { "A", "A", "A", "A" }; | |
assertEquals(1, m.solve(guess, secret)[0]); | |
assertEquals(0, m.solve(guess, secret)[1]); | |
} | |
public void testunAutrebonbienplace() { | |
Mastermind m = new Mastermind(); | |
String[] guess = new String[] { "B", "A", "D", "E" }; | |
String[] secret = new String[] { "A", "A", "A", "A" }; | |
assertEquals(1, m.solve(guess, secret)[0]); | |
assertEquals(0, m.solve(guess, secret)[1]); | |
} | |
public void testdeuxbonbienplace() { | |
Mastermind m = new Mastermind(); | |
String[] guess = new String[] { "A", "A", "D", "E" }; | |
String[] secret = new String[] { "A", "A", "A", "A" }; | |
assertEquals(2, m.solve(guess, secret)[0]); | |
assertEquals(0, m.solve(guess, secret)[1]); | |
} | |
public void testDeuxBbonbienplace() { | |
Mastermind m = new Mastermind(); | |
String[] guess = new String[] { "B", "B", "D", "E" }; | |
String[] secret = new String[] { "B", "B", "A", "A" }; | |
assertEquals(2, m.solve(guess, secret)[0]); | |
assertEquals(0, m.solve(guess, secret)[1]); | |
} | |
public void testunMbonmalplace() { | |
Mastermind m = new Mastermind(); | |
String[] guess = new String[] { "D", "M", "D", "D" }; | |
String[] secret = new String[] { "A", "A", "M", "A" }; | |
assertEquals(0, m.solve(guess, secret)[0]); | |
assertEquals(1, m.solve(guess, secret)[1]); | |
} | |
public void testunBbonmalplace() { | |
Mastermind m = new Mastermind(); | |
String[] guess = new String[] { "D", "B", "D", "D" }; | |
String[] secret = new String[] { "A", "A", "B", "A" }; | |
assertEquals(0, m.solve(guess, secret)[0]); | |
assertEquals(1, m.solve(guess, secret)[1]); | |
} | |
public void testunDbonmalplace() { | |
Mastermind m = new Mastermind(); | |
String[] guess = new String[] { "B", "D", "D", "B" }; | |
String[] secret = new String[] { "A", "A", "A", "D" }; | |
assertEquals(0, m.solve(guess, secret)[0]); | |
assertEquals(1, m.solve(guess, secret)[1]); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment