Package org.spw.controller

Source Code of org.spw.controller.FundraisingControllerTest

/*
* FundraisingControllerTest.java
* JUnit based test
*
* Created on 29 September 2007, 09:25
*/

package org.spw.controller;

import java.math.BigDecimal;
import java.math.BigInteger;
import junit.framework.*;
import java.util.List;
import javax.persistence.EntityExistsException;
import org.spw.model.Fundraising;
import java.util.Calendar;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
import org.spw.model.FundraisingPlan;
import java.util.ArrayList;

/**
*
* @author PSe
*/
public class FundraisingControllerTest extends TestCase {
    public static final int TEST_YEAR = 1900;
   
    public FundraisingControllerTest(String testName) {
        super(testName);
    }
   
    protected void setUp() throws Exception {
        FundraisingController ctrl = new FundraisingController();
        Fundraising fr = new Fundraising();
        fr.setYearFunding(TEST_YEAR);
        fr.setTarget(new BigDecimal(3600));
        ctrl.create(fr);
    }
   
    protected void tearDown() throws Exception {
        FundraisingController ctrl = new FundraisingController();
        Fundraising fr = ctrl.read(TEST_YEAR);
        if (fr != null) ctrl.delete(fr);
        fr = ctrl.read(TEST_YEAR+1);
        if (fr != null) ctrl.delete(fr);
    }
   
    /**
     * Test of getFundraisings method, of class org.spw.controller.FundraisingController.
     */
    public void testGetFundraisings() {
        System.out.println("getFundraisings");
       
        FundraisingController instance = new FundraisingController();
       
        List<Fundraising> result = instance.getFundraisings();
        assertTrue(result.size() > 0);
       
    }
   
    /**
     * Test of create method, of class org.spw.controller.FundraisingController.
     */
    public void testCreate() {
        System.out.println("create");
       
        Fundraising object = new Fundraising();
        object.setYearFunding(TEST_YEAR+1);
        object.setTarget(new BigDecimal(3600));
        FundraisingController instance = new FundraisingController();
       
        instance.create(object);
       
        // test double
        try {
            object = new Fundraising();
            object.setYearFunding(TEST_YEAR+1);
            object.setTarget(new BigDecimal(3600));
            instance.create(object);
            fail("double must throw an exception");
        } catch (EntityExistsException eee) {
            //OK
        }
       
    }
   
    /**
     * Test of read method, of class org.spw.controller.FundraisingController.
     */
    public void testRead() {
        System.out.println("read");
       
        FundraisingController instance = new FundraisingController();
       
        Fundraising result = instance.read(TEST_YEAR);
        assertEquals((int)TEST_YEAR, (int)result.getYearFunding());
        assertEquals(new BigDecimal(3600), result.getTarget());
       
    }
   
    /**
     * Test of update method, of class org.spw.controller.FundraisingController.
     */
    public void testUpdate() {
        System.out.println("update");
       
        FundraisingController instance = new FundraisingController();
        Fundraising fr = instance.read(TEST_YEAR);
        BigDecimal newTarget = new BigDecimal(new BigInteger("360002"), 2);
        fr.setTarget(newTarget);
       
        Fundraising result = instance.update(fr);
        assertEquals(newTarget, result.getTarget());
       
        fr = instance.read(TEST_YEAR);
        assertEquals(newTarget, fr.getTarget());
    }
   
    /**
     * Test of delete method, of class org.spw.controller.FundraisingController.
     */
    public void testDelete() {
        System.out.println("delete");
       
        FundraisingController instance = new FundraisingController();
        Fundraising object = instance.read(TEST_YEAR);
       
        instance.delete(object);
        object = instance.read(TEST_YEAR);
        assertNull(object);
       
        int year = 1900;
        int month = 1;
        FundraisingPlan[] plan = new FundraisingPlan[2];
        FundraisingPlan p1 = new FundraisingPlan();
        p1.setMonthSelected(month);
        p1.setMonthFunding(1);
        p1.setAmount(new BigDecimal(100));
        plan[0] = p1;
        FundraisingPlan p2 = new FundraisingPlan();
        p2.setMonthSelected(month);
        p2.setMonthFunding(2);
        p2.setAmount(new BigDecimal(3500));
        plan[1] = p2;
       
        instance = new FundraisingController();
       
        instance.addFundraisingsPlan(year, month, plan);
       
    }
   
    /**
     * Test of addFundraisingsPlan method, of class org.spw.controller.FundraisingController.
     */
    public void testAddFundraisingsPlan() {
        System.out.println("addFundraisingsPlan");
       
        int year = 1900;
        int month = 1;
        FundraisingPlan[] plan = new FundraisingPlan[2];
        FundraisingPlan p1 = new FundraisingPlan();
        p1.setMonthSelected(month);
        p1.setMonthFunding(1);
        p1.setAmount(new BigDecimal(100));
        plan[0] = p1;
        FundraisingPlan p2 = new FundraisingPlan();
        p2.setMonthSelected(month);
        p2.setMonthFunding(2);
        p2.setAmount(new BigDecimal(3500));
        plan[1] = p2;
       
        FundraisingController instance = new FundraisingController();
       
        instance.addFundraisingsPlan(year, month, plan);
       
        Fundraising result = instance.read(year);
        assertEquals(2, result.getFundraisingPlans().size());
        for (FundraisingPlan item: result.getFundraisingPlans()) {
            assertEquals(month, item.getMonthSelected());
            assertTrue(item.getMonthFunding() > 0);
            assertTrue(item.getAmount().compareTo(new BigDecimal(99.99)) > 0);
        }
       
        plan = new FundraisingPlan[3];
        plan[0] = result.getFundraisingPlans().get(0);
        p2 = new FundraisingPlan();
        p2.setMonthSelected(month);
        p2.setMonthFunding(2);
        p2.setAmount(new BigDecimal(2500));
        plan[1] = p2;
        FundraisingPlan p3 = new FundraisingPlan();
        p3.setMonthSelected(month);
        p3.setMonthFunding(2);
        p3.setAmount(new BigDecimal(1500));
        plan[2] = p3;
        instance.addFundraisingsPlan(year, month, plan);
        result = instance.read(year);
        assertEquals(3, result.getFundraisingPlans().size());
        for (FundraisingPlan item: result.getFundraisingPlans()) {
            assertEquals(month, item.getMonthSelected());
            assertTrue(item.getMonthFunding() > 0);
            assertTrue(item.getAmount().compareTo(new BigDecimal(99.99)) > 0);
        }
       
    }

    /**
     * Test of getFundraisingsPlan method, of class org.spw.controller.FundraisingController.
     */
    public void testGetFundraisingsPlan() {
        System.out.println("getFundraisingsPlan");
       
        int year = 1900;
        int month = 2;
        FundraisingController instance = new FundraisingController();

        FundraisingPlan[] plan = new FundraisingPlan[2];
        FundraisingPlan p1 = new FundraisingPlan();
        p1.setMonthSelected(month);
        p1.setMonthFunding(1);
        p1.setAmount(new BigDecimal(100));
        plan[0] = p1;
        FundraisingPlan p2 = new FundraisingPlan();
        p2.setMonthSelected(month);
        p2.setMonthFunding(2);
        p2.setAmount(new BigDecimal(3500));
        plan[1] = p2;
        instance.addFundraisingsPlan(year, month, plan);
       
        boolean found[] = new boolean[12];
        FundraisingPlan[] result = instance.getFundraisingsPlan(year, month);
        for (int i = 1; i < plan.length; i++) {
            assertNotNull(plan[i]);
            assertEquals(month, plan[i].getMonthSelected());
            assertEquals(year, (int)plan[i].getFundraising().getYearFunding());
            found[plan[i].getMonthFunding()-1] = true;
        }
        for (int i = 1; i < plan.length; i++) {
            assertTrue(found[i]);
        }
    }
   
}
TOP

Related Classes of org.spw.controller.FundraisingControllerTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.