001 package org.hackystat.dailyprojectdata.resource.build; 002 003 import static org.junit.Assert.assertNull; 004 import static org.junit.Assert.assertSame; 005 006 import java.util.Map; 007 import java.util.Set; 008 009 import org.junit.Test; 010 011 /** 012 * Tests that the <code>MemberBuildCounter</code> counts correctly. 013 * 014 * @author jsakuda 015 * 016 */ 017 public class TestMemberBuildCounter { 018 private String member1 = "member1"; 019 private String member2 = "member2"; 020 021 /** Tests the successful and failed builds are counted correctly. */ 022 @Test public void testMemberCounts() { 023 MemberBuildCounter counter = new MemberBuildCounter(); 024 025 // add 5 failures for member1 026 for (int i = 0; i < 5; i++) { 027 counter.addFailedBuild(this.member1); 028 } 029 030 // add 3 successful builds for member1 031 for (int i = 0; i < 3; i++) { 032 counter.addSuccessfulBuild(this.member1); 033 } 034 035 // add 7 successful builds for member2 036 for (int i = 0; i < 7; i++) { 037 counter.addSuccessfulBuild(this.member2); 038 } 039 040 Set<String> members = counter.getMembers(); 041 assertSame("Should have 2 members", 2, members.size()); 042 043 Map<String, Integer> failedBuilds = counter.getFailedBuilds(); 044 Map<String, Integer> successfulBuilds = counter.getSuccessfulBuilds(); 045 046 assertSame("member1 has 5 failures.", 5, failedBuilds.get(this.member1)); 047 assertNull("member2 should have no failure mapping.", failedBuilds.get(this.member2)); 048 assertSame("member1 has 3 successes.", 3, successfulBuilds.get(this.member1)); 049 assertSame("member2 has 7 successes.", 7, successfulBuilds.get(this.member2)); 050 } 051 }