001 package org.hackystat.telemetry.analyzer.configuration; 002 003 import junit.framework.TestCase; 004 005 import org.hackystat.sensorbase.resource.projects.jaxb.Project; 006 007 008 /** 009 * Test suite for <code>ShareScope</code>. 010 * 011 * @author (Cedric) Qin Zhang, Philip Johnson 012 */ 013 public class TestShareScope extends TestCase { 014 015 private Project project; 016 017 /** 018 * Test case set up. 019 * 020 * @throws Exception If test case cannot be set up. 021 */ 022 @Override 023 protected void setUp() throws Exception { 024 this.project = new Project(); 025 } 026 027 /** 028 * Tests everything. 029 * 030 * @throws Exception If test fails. 031 */ 032 public void testAll() throws Exception { 033 ShareScope scope = ShareScope.getGlobalShareScope(); 034 assertEquals(true, scope.isGlobal()); 035 assertEquals(false, scope.isProject()); 036 assertEquals(false, scope.isPrivate()); 037 try { 038 scope.getProject(); 039 fail("Should raise exception."); 040 } 041 catch (TelemetryConfigurationException ex) { //NOPMD 042 // expected 043 } 044 045 scope = ShareScope.getPrivateShareScope(); 046 assertEquals(false, scope.isGlobal()); 047 assertEquals(false, scope.isProject()); 048 assertEquals(true, scope.isPrivate()); 049 try { 050 scope.getProject(); 051 fail("Should raise exception."); 052 } 053 catch (TelemetryConfigurationException ex) { //NOPMD 054 // expected 055 } 056 057 scope = ShareScope.getProjectShareScope(this.project); 058 assertEquals(false, scope.isGlobal()); 059 assertEquals(true, scope.isProject()); 060 assertEquals(false, scope.isPrivate()); 061 assertSame(this.project, scope.getProject()); 062 063 try { 064 scope = ShareScope.getProjectShareScope(null); 065 fail("Should raise exception."); 066 } 067 catch (Exception ex) { //NOPMD 068 // expected 069 } 070 } 071 072 /** 073 * Tests equals and hashCode methods. 074 * 075 * @throws Exception If test fails. 076 */ 077 public void testEquals() throws Exception { 078 ShareScope scope1a = ShareScope.getGlobalShareScope(); 079 ShareScope scope1b = ShareScope.getGlobalShareScope(); 080 ShareScope scope2a = ShareScope.getPrivateShareScope(); 081 ShareScope scope2b = ShareScope.getPrivateShareScope(); 082 ShareScope scope3a = ShareScope.getProjectShareScope(this.project); 083 ShareScope scope3b = ShareScope.getProjectShareScope(this.project); 084 085 assertEquals(scope1a, scope1b); 086 assertEquals(scope1a.hashCode(), scope1b.hashCode()); 087 assertEquals(scope2a, scope2b); 088 assertEquals(scope2a.hashCode(), scope2b.hashCode()); 089 assertEquals(scope3a, scope3b); 090 assertEquals(scope3a.hashCode(), scope3b.hashCode()); 091 092 assertFalse(scope1a.equals(scope2a)); 093 assertFalse(scope1a.equals(scope3a)); 094 assertFalse(scope2a.equals(scope3a)); 095 } 096 }