diff options
Diffstat (limited to 'src/test/java/ca/mokhan/assignment1/CandidateTest.java')
| -rw-r--r-- | src/test/java/ca/mokhan/assignment1/CandidateTest.java | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/test/java/ca/mokhan/assignment1/CandidateTest.java b/src/test/java/ca/mokhan/assignment1/CandidateTest.java new file mode 100644 index 0000000..6d2ca5e --- /dev/null +++ b/src/test/java/ca/mokhan/assignment1/CandidateTest.java @@ -0,0 +1,62 @@ +package ca.mokhan.assignment1; + +import java.util.ArrayList; +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +public class CandidateTest extends TestCase { + private Candidate[] candidates = { + new Candidate("Elena", "Brandon", 82.30, "poor", true, 0.5), + new Candidate("Thomas", "Molson", 85.10, "poor", false, 1.0), + new Candidate("Hamilton", "Winn", 77.77, "average", false, 0.8), + new Candidate("Suzie", "Sarandin", 69.93, "average", false, 0.0), + new Candidate("Philip", "Winne", 93.03, "average", true, 1.0), + new Candidate("Alex", "Trebok", 88.61, "poor", true, 0.7), + new Candidate("Emma", "Pivoto", 55.99, "excellent", false, 0.8), + new Candidate("John", "Lenthen", 87.49, "excellent", true, 0.9), + new Candidate("James", "Lean", 88.00, "excellent", false, 0.5), + new Candidate("Jane", "Ostin", 91.20, "average", true, 0.6), + new Candidate("Emily", "Car", 66.79, "excellent", false, 0.3), + new Candidate("Daniel", "Hamshire", 76.65, "average", true, 0.2), + new Candidate("Neda", "Bazdar", 55.89, "excellent", true, 0.5), + new Candidate("Aaron", "Smith", 90.01, "excellent", false, 0.3), + new Candidate("Kate", "Hen", 87.9, "poor", false, 0.8) + }; + + public CandidateTest(String testName) { + super(testName); + } + + public static Test suite() { + return new TestSuite(CandidateTest.class); + } + + public void testGetEligibleCandidates() { + ArrayList<Candidate> eligibleCandidates = Candidate.getEligibleCandidates(this.candidates); + for (String expected : + new String[] { + "Hamilton", "Philip", "Alex", "Emma", "John", "James", "Jane", "Neda", "Aaron" + }) { + assertNotNull( + eligibleCandidates.stream() + .filter(x -> expected.equals(x.getFirstName())) + .findAny() + .orElse(null)); + } + } + + public void testIsElligibleWithGreaterThanRequiredGrade() { + assertTrue(new Candidate("Tsuyoshi", "Garrett", 85.0, "excellent", false, 0.0).isEligible()); + } + + public void testIsElligibleWithLessThanRequiredGrade() { + assertFalse(new Candidate("Tsuyoshi", "Garrett", 84.9, "average", false, 0.0).isEligible()); + assertTrue(new Candidate("Tsuyoshi", "Garrett", 84.9, "average", false, 0.5).isEligible()); + } + + public void testIsElligibleWithPoorCommunication() { + assertTrue(new Candidate("Tsuyoshi", "Garrett", 85.0, "poor", true, 0.0).isEligible()); + assertFalse(new Candidate("Tsuyoshi", "Garrett", 85.0, "poor", false, 0.0).isEligible()); + } +} |
