[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