[jboss-cvs] JBossAS SVN: r66603 - in projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src: test/java/org/jboss/example/service and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Oct 31 08:39:17 EDT 2007


Author: newtonm
Date: 2007-10-31 08:39:17 -0400 (Wed, 31 Oct 2007)
New Revision: 66603

Added:
   projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/java/org/jboss/example/service/AgeBasedSalaryTestCase.java
   projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/java/org/jboss/example/service/HRServiceTest.java
   projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/java/org/jboss/example/service/LocationBasedSalaryTestCase.java
   projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/resources/org/jboss/example/service/AgeBasedSalaryTestCase.xml
   projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/resources/org/jboss/example/service/LocationBasedSalaryTestCase.xml
Modified:
   projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/main/java/org/jboss/example/service/Address.java
   projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/main/java/org/jboss/example/service/AgeBasedSalaryStrategy.java
   projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/main/java/org/jboss/example/service/LocationBasedSalaryStrategy.java
   projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/main/java/org/jboss/example/service/SalaryStrategy.java
   projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/java/org/jboss/example/service/HRManagerTestCase.java
   projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/java/org/jboss/example/service/HRServiceTestSuite.java
   projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/resources/org/jboss/example/service/HRManagerTestCase.xml
Log:
Added more POJO unit tests.

Modified: projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/main/java/org/jboss/example/service/Address.java
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/main/java/org/jboss/example/service/Address.java	2007-10-31 12:18:08 UTC (rev 66602)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/main/java/org/jboss/example/service/Address.java	2007-10-31 12:39:17 UTC (rev 66603)
@@ -6,6 +6,12 @@
 	private String street;
 	private String city;
 	
+	public Address(int number, String street, String city) {
+		this.number = number;
+		this.street = street;
+		this.city = city;
+	}
+	
 	public int getNumber() {
 		return number;
 	}

Modified: projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/main/java/org/jboss/example/service/AgeBasedSalaryStrategy.java
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/main/java/org/jboss/example/service/AgeBasedSalaryStrategy.java	2007-10-31 12:18:08 UTC (rev 66602)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/main/java/org/jboss/example/service/AgeBasedSalaryStrategy.java	2007-10-31 12:39:17 UTC (rev 66603)
@@ -53,10 +53,18 @@
 		return salary;
 	}
 
+	public int getMinSalary() {
+		return minSalary;
+	}
+	
 	public void setMinSalary(int minSalary) {
 		this.minSalary = minSalary;
 	}
 	
+	public int getMaxSalary() {
+		return maxSalary;
+	}
+	
 	public void setMaxSalary(int maxSalary) {
 		this.maxSalary = maxSalary;
 	}

Modified: projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/main/java/org/jboss/example/service/LocationBasedSalaryStrategy.java
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/main/java/org/jboss/example/service/LocationBasedSalaryStrategy.java	2007-10-31 12:18:08 UTC (rev 66602)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/main/java/org/jboss/example/service/LocationBasedSalaryStrategy.java	2007-10-31 12:39:17 UTC (rev 66603)
@@ -38,10 +38,18 @@
 		return salary;
 	}
 
+	public int getMinSalary() {
+		return minSalary;
+	}
+	
 	public void setMinSalary(int minSalary) {
 		this.minSalary = minSalary;
 	}
 	
+	public int getMaxSalary() {
+		return maxSalary;
+	}
+	
 	public void setMaxSalary(int maxSalary) {
 		this.maxSalary = maxSalary;
 	}

Modified: projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/main/java/org/jboss/example/service/SalaryStrategy.java
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/main/java/org/jboss/example/service/SalaryStrategy.java	2007-10-31 12:18:08 UTC (rev 66602)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/main/java/org/jboss/example/service/SalaryStrategy.java	2007-10-31 12:39:17 UTC (rev 66603)
@@ -2,5 +2,7 @@
 
 public interface SalaryStrategy {
 
+	public int getMinSalary();
+	public int getMaxSalary();
 	public Integer checkSalary(Employee employee, Integer salary);
 }

Added: projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/java/org/jboss/example/service/AgeBasedSalaryTestCase.java
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/java/org/jboss/example/service/AgeBasedSalaryTestCase.java	                        (rev 0)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/java/org/jboss/example/service/AgeBasedSalaryTestCase.java	2007-10-31 12:39:17 UTC (rev 66603)
@@ -0,0 +1,35 @@
+package org.jboss.example.service;
+
+import org.jboss.example.service.SalaryStrategy;
+
+public class AgeBasedSalaryTestCase extends HRServiceTest
+{
+	public AgeBasedSalaryTestCase(String name) {
+		super(name);
+	}
+
+	public void testSalaryRanges() throws Exception {
+		SalaryStrategy strategy = (SalaryStrategy) getBean("AgeBasedSalary");
+		assertNotNull(strategy);
+		
+		// Check the minimum and maximum salaries for all employees
+		assertEquals(1000, strategy.getMinSalary());		
+		assertEquals(80000, strategy.getMaxSalary());		
+
+		// Check the minimum and maximum salaries that bob (age 17) can earn
+		assertEquals((Integer) 1000, strategy.checkSalary(bob, 500));
+		assertEquals((Integer) 80000, strategy.checkSalary(bob, 85000));
+
+		// Check the minimum and maximum salaries that rebecca (age 25) can earn
+		assertEquals((Integer) 25000, strategy.checkSalary(rebecca, 20000));
+		assertEquals((Integer) 80000, strategy.checkSalary(rebecca, 90000));
+		
+		// Check the minimum and maximum salaries that karen (age 44) can earn
+		assertEquals((Integer) 50000, strategy.checkSalary(karen, 49000));
+		assertEquals((Integer) 80000, strategy.checkSalary(karen, 81000));
+		
+		// Check the minimum and maximum salaries that joe (age 62) can earn
+		assertEquals((Integer) 1000, strategy.checkSalary(joe, 900));
+		assertEquals((Integer) 80000, strategy.checkSalary(joe, 90000));
+	}
+}
\ No newline at end of file

Modified: projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/java/org/jboss/example/service/HRManagerTestCase.java
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/java/org/jboss/example/service/HRManagerTestCase.java	2007-10-31 12:18:08 UTC (rev 66602)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/java/org/jboss/example/service/HRManagerTestCase.java	2007-10-31 12:39:17 UTC (rev 66603)
@@ -1,22 +1,35 @@
 package org.jboss.example.service;
 
-import junit.framework.Test;
-
-import org.jboss.test.kernel.junit.MicrocontainerTest;
 import org.jboss.example.service.HRManager;
 
-public class HRManagerTestCase extends MicrocontainerTest
-{
-   public HRManagerTestCase(String name) {
-      super(name);
-   }
+public class HRManagerTestCase extends HRServiceTest
+{	
+    public HRManagerTestCase(String name) {
+		super(name);
+	}
 
-   public static Test suite() {
-      return suite(HRManagerTestCase.class);
-   }
+	public void testHiringFiring() throws Exception {
+		HRManager manager = (HRManager) getBean("HRService");
+		assertNotNull(manager);
 
-   public void testConfigure() throws Exception {
-      HRManager manager = (HRManager) getBean("HRService");
-      assertNotNull(manager);
-   }
+		// Test add and remove (with and without a hiring freeze)
+		assertEquals(true, manager.isHiringFreeze());
+		assertEquals(false, manager.addEmployee(bob));
+		assertEquals(0, manager.getEmployees().size());
+		
+		manager.setHiringFreeze(false);
+		
+		assertEquals(false, manager.isHiringFreeze());
+		assertEquals(true, manager.addEmployee(bob));
+		assertEquals(1, manager.getEmployees().size());
+		
+		Employee employee = manager.getEmployee("Bob", "Smith");
+		assertNotNull(employee);
+		manager.setSalary(employee, 600);
+		
+		assertEquals((Integer) 600, manager.getSalary(employee));
+		
+		manager.removeEmployee(bob);
+		assertEquals(0, manager.getEmployees().size());	
+	}
 }

Added: projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/java/org/jboss/example/service/HRServiceTest.java
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/java/org/jboss/example/service/HRServiceTest.java	                        (rev 0)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/java/org/jboss/example/service/HRServiceTest.java	2007-10-31 12:39:17 UTC (rev 66603)
@@ -0,0 +1,45 @@
+package org.jboss.example.service;
+
+import java.util.Calendar;
+
+import org.jboss.test.kernel.junit.MicrocontainerTest;
+
+public abstract class HRServiceTest extends MicrocontainerTest
+{
+	protected Employee bob, rebecca, karen, joe;
+
+	public HRServiceTest(String name) {
+		super(name);
+	}
+	   
+	protected void setUp() throws Exception {
+		super.setUp();
+
+		Calendar now = Calendar.getInstance();
+		int year = now.get(Calendar.YEAR);
+		int month = now.get(Calendar.MONTH);
+		int day = now.get(Calendar.DAY_OF_MONTH);
+
+		Calendar age = Calendar.getInstance();
+
+		bob = new Employee("Bob", "Smith");
+		age.set(year - 17, month, day);
+		bob.setDateOfBirth(age.getTime());
+		bob.setAddress(new Address(5, "Waterloo Road", "London"));
+
+		rebecca = new Employee("Rebecca", "Jones");
+		age.set(year - 25, month, day);
+		rebecca.setDateOfBirth(age.getTime());
+		rebecca.setAddress(new Address(16, "Holt Street", "Belfast"));
+
+		karen = new Employee("Karen", "McKenzie");
+		age.set(year - 44, month, day);
+		karen.setDateOfBirth(age.getTime());
+		karen.setAddress(new Address(78, "Kelvinbridge Road", "Glasgow"));
+
+		joe = new Employee("Joe", "Yates");
+		age.set(year - 62, month, day);
+		joe.setDateOfBirth(age.getTime());
+		joe.setAddress(new Address(30, "Oxford Street", "Manchester"));
+	}
+}

Modified: projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/java/org/jboss/example/service/HRServiceTestSuite.java
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/java/org/jboss/example/service/HRServiceTestSuite.java	2007-10-31 12:18:08 UTC (rev 66602)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/java/org/jboss/example/service/HRServiceTestSuite.java	2007-10-31 12:39:17 UTC (rev 66603)
@@ -13,7 +13,9 @@
    public static Test suite() {
       TestSuite suite = new TestSuite("Human Resources Service Tests");
       
-      suite.addTest(HRManagerTestCase.suite());
+      suite.addTestSuite(HRManagerTestCase.class);
+      suite.addTestSuite(AgeBasedSalaryTestCase.class);
+      suite.addTestSuite(LocationBasedSalaryTestCase.class);
       
       return suite;
    }

Added: projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/java/org/jboss/example/service/LocationBasedSalaryTestCase.java
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/java/org/jboss/example/service/LocationBasedSalaryTestCase.java	                        (rev 0)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/java/org/jboss/example/service/LocationBasedSalaryTestCase.java	2007-10-31 12:39:17 UTC (rev 66603)
@@ -0,0 +1,35 @@
+package org.jboss.example.service;
+
+import org.jboss.example.service.SalaryStrategy;
+
+public class LocationBasedSalaryTestCase extends HRServiceTest
+{
+	public LocationBasedSalaryTestCase(String name) {
+		super(name);
+	}
+
+	public void testSalaryRanges() throws Exception {
+		SalaryStrategy strategy = (SalaryStrategy) getBean("LocationBasedSalary");
+		assertNotNull(strategy);
+		
+		// Check the minimum and maximum salaries for all employees
+		assertEquals(2000, strategy.getMinSalary());		
+		assertEquals(90000, strategy.getMaxSalary());		
+
+		// Check the minimum and maximum salaries that bob (London) can earn
+		assertEquals((Integer) 50000, strategy.checkSalary(bob, 30000));
+		assertEquals((Integer) 90000, strategy.checkSalary(bob, 95000));
+
+		// Check the minimum and maximum salaries that rebecca (Belfast) can earn
+		assertEquals((Integer) 20000, strategy.checkSalary(rebecca, 10000));
+		assertEquals((Integer) 90000, strategy.checkSalary(rebecca, 91000));
+		
+		// Check the minimum and maximum salaries that karen (Glagow) can earn
+		assertEquals((Integer) 30000, strategy.checkSalary(karen, 29000));
+		assertEquals((Integer) 90000, strategy.checkSalary(karen, 98000));
+		
+		// Check the minimum and maximum salaries that joe (Manchester) can earn
+		assertEquals((Integer) 40000, strategy.checkSalary(joe, 31000));
+		assertEquals((Integer) 90000, strategy.checkSalary(joe, 96000));
+	}
+}
\ No newline at end of file

Added: projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/resources/org/jboss/example/service/AgeBasedSalaryTestCase.xml
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/resources/org/jboss/example/service/AgeBasedSalaryTestCase.xml	                        (rev 0)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/resources/org/jboss/example/service/AgeBasedSalaryTestCase.xml	2007-10-31 12:39:17 UTC (rev 66603)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
+            xmlns="urn:jboss:bean-deployer:2.0">
+
+   <bean name="AgeBasedSalary" class="org.jboss.example.service.AgeBasedSalaryStrategy">
+     <property name="minSalary">1000</property>
+     <property name="maxSalary">80000</property>
+   </bean>
+   
+</deployment>

Modified: projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/resources/org/jboss/example/service/HRManagerTestCase.xml
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/resources/org/jboss/example/service/HRManagerTestCase.xml	2007-10-31 12:18:08 UTC (rev 66602)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/resources/org/jboss/example/service/HRManagerTestCase.xml	2007-10-31 12:39:17 UTC (rev 66603)
@@ -4,6 +4,8 @@
             xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
             xmlns="urn:jboss:bean-deployer:2.0">
 
-   <bean name="HRService" class="org.jboss.example.service.HRManager"/>
+   <bean name="HRService" class="org.jboss.example.service.HRManager">
+     <property name="hiringFreeze">true</property>
+   </bean>
       
 </deployment>

Added: projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/resources/org/jboss/example/service/LocationBasedSalaryTestCase.xml
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/resources/org/jboss/example/service/LocationBasedSalaryTestCase.xml	                        (rev 0)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/humanResourcesService/src/test/resources/org/jboss/example/service/LocationBasedSalaryTestCase.xml	2007-10-31 12:39:17 UTC (rev 66603)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
+            xmlns="urn:jboss:bean-deployer:2.0">
+
+   <bean name="LocationBasedSalary" class="org.jboss.example.service.LocationBasedSalaryStrategy">
+     <property name="minSalary">2000</property>
+     <property name="maxSalary">90000</property>
+   </bean>
+   
+</deployment>




More information about the jboss-cvs-commits mailing list