Seq Periods Test

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 7

/*

* To change this template, choose Tools | Templates


* and open the template in the editor.
*/

package com.bhagin.pocs.misc;

import java.util.ArrayList;
import java.util.Calendar;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;

/**
* @date 10 Mar, 2011
* @author rohitmp
*/
public class SeqPeriodsTest {

public SeqPeriodsTest() {
}

@BeforeClass
public static void setUpClass() throws Exception {
}

@AfterClass
public static void tearDownClass() throws Exception {
}

@Before
public void setUp() {
}

@After
public void tearDown() {
}

/**
* Test of arePeriodsSequential method, of class SeqPeriods.
*/
@Test
public void testArePeriodsSequentialYesInSameYear() {
System.out.println("testArePeriodsSequentialYesInSameYear");
ArrayList<Period> arlOfPeriods = new ArrayList<Period>();

Calendar calStr1 = Calendar.getInstance();


calStr1.set(2011, Calendar.JANUARY, 1);
Calendar calEnd1 = Calendar.getInstance();
calEnd1.set(2011, Calendar.JANUARY, 31);
Period p1 = new Period(calStr1,calEnd1);

Calendar calStr2 = Calendar.getInstance();


calStr2.set(2011, Calendar.FEBRUARY, 1);
Calendar calEnd2 = Calendar.getInstance();
calEnd2.set(2011, Calendar.FEBRUARY, 28);
Period p2 = new Period(calStr2,calEnd2);

Calendar calStr3 = Calendar.getInstance();


calStr3.set(2011, Calendar.MARCH, 1);
Calendar calEnd3 = Calendar.getInstance();
calEnd3.set(2011, Calendar.MAY, 31);
Period p3 = new Period(calStr3,calEnd3);

Calendar calStr4 = Calendar.getInstance();


calStr4.set(2011, Calendar.JUNE, 1);
Calendar calEnd4 = Calendar.getInstance();
calEnd4.set(2011, Calendar.JULY, 31);
Period p4 = new Period(calStr4,calEnd4);

//add the periods to the list

arlOfPeriods.add(p1);
arlOfPeriods.add(p2);
arlOfPeriods.add(p3);
arlOfPeriods.add(p4);

SeqPeriods instance = new SeqPeriods();

boolean expResult = true;


boolean result = instance.arePeriodsSequential(arlOfPeriods);
assertEquals(expResult, result);

System.out.println("Periods are Sequential");


System.out.println("");
}

/**
* Test of arePeriodsSequential method, of class SeqPeriods.
*/
@Test
public void testArePeriodsSequentialLeapYear() {
System.out.println("testArePeriodsSequentialLeapYear");
ArrayList<Period> arlOfPeriods = new ArrayList<Period>();

Calendar calStr1 = Calendar.getInstance();


calStr1.set(2012, Calendar.JANUARY, 1);
Calendar calEnd1 = Calendar.getInstance();
calEnd1.set(2012, Calendar.JANUARY, 31);
Period p1 = new Period(calStr1,calEnd1);

Calendar calStr2 = Calendar.getInstance();


calStr2.set(2012, Calendar.FEBRUARY, 1);
Calendar calEnd2 = Calendar.getInstance();
calEnd2.set(2012, Calendar.FEBRUARY, 28);
Period p2 = new Period(calStr2,calEnd2);

Calendar calStr3 = Calendar.getInstance();


calStr3.set(2012, Calendar.MARCH, 1);
Calendar calEnd3 = Calendar.getInstance();
calEnd3.set(2012, Calendar.MAY, 31);
Period p3 = new Period(calStr3,calEnd3);

Calendar calStr4 = Calendar.getInstance();


calStr4.set(2012, Calendar.JUNE, 1);
Calendar calEnd4 = Calendar.getInstance();
calEnd4.set(2012, Calendar.JULY, 31);
Period p4 = new Period(calStr4,calEnd4);

//add the periods to the list

arlOfPeriods.add(p1);
arlOfPeriods.add(p2);
arlOfPeriods.add(p3);
arlOfPeriods.add(p4);

SeqPeriods instance = new SeqPeriods();

boolean expResult = false;


boolean result = instance.arePeriodsSequential(arlOfPeriods);
assertEquals(expResult, result);

System.out.println("Periods are NOT Sequential, feb 29 missed out");


System.out.println("");
}

/**
* Test of arePeriodsSequential method, of class SeqPeriods.
*/
@Test
public void testArePeriodsSequentialOverLapInSameYear() {
System.out.println("testArePeriodsSequentialOverLapInSameYear");
ArrayList<Period> arlOfPeriods = new ArrayList<Period>();

Calendar calStr1 = Calendar.getInstance();


calStr1.set(2011, Calendar.JANUARY, 1);
Calendar calEnd1 = Calendar.getInstance();
calEnd1.set(2011, Calendar.JANUARY, 31);
Period p1 = new Period(calStr1,calEnd1);

Calendar calStr2 = Calendar.getInstance();


calStr2.set(2011, Calendar.FEBRUARY, 1);
Calendar calEnd2 = Calendar.getInstance();
calEnd2.set(2011, Calendar.FEBRUARY, 28);
Period p2 = new Period(calStr2,calEnd2);

Calendar calStr3 = Calendar.getInstance();


calStr3.set(2011, Calendar.FEBRUARY, 15);
Calendar calEnd3 = Calendar.getInstance();
calEnd3.set(2011, Calendar.MAY, 31);
Period p3 = new Period(calStr3,calEnd3);

Calendar calStr4 = Calendar.getInstance();


calStr4.set(2011, Calendar.JUNE, 1);
Calendar calEnd4 = Calendar.getInstance();
calEnd4.set(2011, Calendar.JULY, 31);
Period p4 = new Period(calStr4,calEnd4);

//add the periods to the list


arlOfPeriods.add(p1);
arlOfPeriods.add(p2);
arlOfPeriods.add(p3);
arlOfPeriods.add(p4);
SeqPeriods instance = new SeqPeriods();

boolean expResult = false;


boolean result = instance.arePeriodsSequential(arlOfPeriods);
assertEquals(expResult, result);

System.out.println("Periods are NOT Sequential, they overlap");


System.out.println("");
}

/**
* Test of arePeriodsSequential method, of class SeqPeriods.
*/
@Test
public void testArePeriodsSequentialGapInSameYear() {
System.out.println("testArePeriodsSequentialGapInSameYear");
ArrayList<Period> arlOfPeriods = new ArrayList<Period>();

Calendar calStr1 = Calendar.getInstance();


calStr1.set(2011, Calendar.JANUARY, 1);
Calendar calEnd1 = Calendar.getInstance();
calEnd1.set(2011, Calendar.JANUARY, 31);
Period p1 = new Period(calStr1,calEnd1);

Calendar calStr2 = Calendar.getInstance();


calStr2.set(2011, Calendar.FEBRUARY, 1);
Calendar calEnd2 = Calendar.getInstance();
calEnd2.set(2011, Calendar.FEBRUARY, 28);
Period p2 = new Period(calStr2,calEnd2);

Calendar calStr3 = Calendar.getInstance();


calStr3.set(2011, Calendar.MAY, 1);
Calendar calEnd3 = Calendar.getInstance();
calEnd3.set(2011, Calendar.MAY, 31);
Period p3 = new Period(calStr3,calEnd3);

Calendar calStr4 = Calendar.getInstance();


calStr4.set(2011, Calendar.JUNE, 1);
Calendar calEnd4 = Calendar.getInstance();
calEnd4.set(2011, Calendar.JULY, 31);
Period p4 = new Period(calStr4,calEnd4);

//add the periods to the list


arlOfPeriods.add(p1);
arlOfPeriods.add(p2);
arlOfPeriods.add(p3);
arlOfPeriods.add(p4);

SeqPeriods instance = new SeqPeriods();

boolean expResult = false;


boolean result = instance.arePeriodsSequential(arlOfPeriods);
assertEquals(expResult, result);

System.out.println("Periods are NOT Sequential, they have gaps");


System.out.println("");
}

/**
* Test of arePeriodsSequential method, of class SeqPeriods.
*/
@Test
public void testArePeriodsSequentialYesSpanningYears() {
System.out.println("testArePeriodsSequentialYesSpanningYears");
ArrayList<Period> arlOfPeriods = new ArrayList<Period>();

Calendar calStr1 = Calendar.getInstance();


calStr1.set(2011, Calendar.JANUARY, 1);
Calendar calEnd1 = Calendar.getInstance();
calEnd1.set(2011, Calendar.JANUARY, 31);
Period p1 = new Period(calStr1,calEnd1);

Calendar calStr2 = Calendar.getInstance();


calStr2.set(2011, Calendar.FEBRUARY, 1);
Calendar calEnd2 = Calendar.getInstance();
calEnd2.set(2011, Calendar.FEBRUARY, 28);
Period p2 = new Period(calStr2,calEnd2);

Calendar calStr3 = Calendar.getInstance();


calStr3.set(2011, Calendar.MARCH, 1);
Calendar calEnd3 = Calendar.getInstance();
calEnd3.set(2012, Calendar.MAY, 31);
Period p3 = new Period(calStr3,calEnd3);

Calendar calStr4 = Calendar.getInstance();


calStr4.set(2012, Calendar.JUNE, 1);
Calendar calEnd4 = Calendar.getInstance();
calEnd4.set(2012, Calendar.JULY, 31);
Period p4 = new Period(calStr4,calEnd4);

//add the periods to the list

arlOfPeriods.add(p1);
arlOfPeriods.add(p2);
arlOfPeriods.add(p3);
arlOfPeriods.add(p4);

SeqPeriods instance = new SeqPeriods();

boolean expResult = true;


boolean result = instance.arePeriodsSequential(arlOfPeriods);
assertEquals(expResult, result);

System.out.println("Periods are Sequential");


System.out.println("");
}

/**
* Test of arePeriodsSequential method, of class SeqPeriods.
*/
@Test
public void testArePeriodsSequentialOverLapSpanningYears() {
System.out.println("testArePeriodsSequentialOverLapSpanningYears");
ArrayList<Period> arlOfPeriods = new ArrayList<Period>();

Calendar calStr1 = Calendar.getInstance();


calStr1.set(2011, Calendar.JANUARY, 1);
Calendar calEnd1 = Calendar.getInstance();
calEnd1.set(2011, Calendar.JANUARY, 31);
Period p1 = new Period(calStr1,calEnd1);

Calendar calStr2 = Calendar.getInstance();


calStr2.set(2011, Calendar.FEBRUARY, 1);
Calendar calEnd2 = Calendar.getInstance();
calEnd2.set(2011, Calendar.FEBRUARY, 28);
Period p2 = new Period(calStr2,calEnd2);

Calendar calStr3 = Calendar.getInstance();


calStr3.set(2011, Calendar.FEBRUARY, 15);
Calendar calEnd3 = Calendar.getInstance();
calEnd3.set(2012, Calendar.MAY, 31);
Period p3 = new Period(calStr3,calEnd3);

Calendar calStr4 = Calendar.getInstance();


calStr4.set(2012, Calendar.MAY, 1);
Calendar calEnd4 = Calendar.getInstance();
calEnd4.set(2012, Calendar.JULY, 31);
Period p4 = new Period(calStr4,calEnd4);

//add the periods to the list


arlOfPeriods.add(p1);
arlOfPeriods.add(p2);
arlOfPeriods.add(p3);
arlOfPeriods.add(p4);

SeqPeriods instance = new SeqPeriods();

boolean expResult = false;


boolean result = instance.arePeriodsSequential(arlOfPeriods);
assertEquals(expResult, result);

System.out.println("Periods are NOT Sequential, they overlap");


System.out.println("");
}

/**
* Test of arePeriodsSequential method, of class SeqPeriods.
*/
@Test
public void testArePeriodsSequentialGapSpanningYears() {
System.out.println("testArePeriodsSequentialGapSpanningYears");
ArrayList<Period> arlOfPeriods = new ArrayList<Period>();

Calendar calStr1 = Calendar.getInstance();


calStr1.set(2011, Calendar.JANUARY, 1);
Calendar calEnd1 = Calendar.getInstance();
calEnd1.set(2011, Calendar.JANUARY, 31);
Period p1 = new Period(calStr1,calEnd1);

Calendar calStr2 = Calendar.getInstance();


calStr2.set(2011, Calendar.FEBRUARY, 1);
Calendar calEnd2 = Calendar.getInstance();
calEnd2.set(2011, Calendar.FEBRUARY, 28);
Period p2 = new Period(calStr2,calEnd2);

Calendar calStr3 = Calendar.getInstance();


calStr3.set(2011, Calendar.MARCH, 1);
Calendar calEnd3 = Calendar.getInstance();
calEnd3.set(2011, Calendar.MAY, 31);
Period p3 = new Period(calStr3,calEnd3);

Calendar calStr4 = Calendar.getInstance();


calStr4.set(2012, Calendar.JUNE, 1);
Calendar calEnd4 = Calendar.getInstance();
calEnd4.set(2012, Calendar.JULY, 31);
Period p4 = new Period(calStr4,calEnd4);

//add the periods to the list


arlOfPeriods.add(p1);
arlOfPeriods.add(p2);
arlOfPeriods.add(p3);
arlOfPeriods.add(p4);

SeqPeriods instance = new SeqPeriods();

boolean expResult = false;


boolean result = instance.arePeriodsSequential(arlOfPeriods);
assertEquals(expResult, result);

System.out.println("Periods are NOT Sequential, they have gaps");


System.out.println("");
}

You might also like