Skip to content

Commit

Permalink
Test by rule parts
Browse files Browse the repository at this point in the history
  • Loading branch information
benfortuna committed Dec 11, 2018
1 parent 4b91d58 commit a088a53
Show file tree
Hide file tree
Showing 9 changed files with 213 additions and 1 deletion.
@@ -0,0 +1,27 @@
package net.fortuna.ical4j.transform.recurrence

import net.fortuna.ical4j.model.Date
import net.fortuna.ical4j.model.DateList
import net.fortuna.ical4j.model.WeekDay
import net.fortuna.ical4j.model.WeekDayList
import net.fortuna.ical4j.model.parameter.Value
import spock.lang.Specification

class ByDayRuleTest extends Specification {

def 'verify transformations by day'() {
given: 'a BYDAY rule'
ByDayRule rule = [new WeekDayList(rulePart), filterType]

and: 'a list of dates'
DateList dateList = [Value.DATE]
dateList.addAll(dates)

expect: 'the rule transforms the dates correctly'
rule.transform(dateList) == expectedResult

where:
rulePart | filterType | dates | expectedResult
WeekDay.FR | ByDayRule.FilterType.Weekly | [new Date('20150103')] | [new Date('20150102')]
}
}
@@ -0,0 +1,27 @@
package net.fortuna.ical4j.transform.recurrence


import net.fortuna.ical4j.model.DateList
import net.fortuna.ical4j.model.DateTime
import net.fortuna.ical4j.model.NumberList
import net.fortuna.ical4j.model.parameter.Value
import spock.lang.Specification

class ByHourRuleTest extends Specification {

def 'verify transformations by day'() {
given: 'a BYHOUR rule'
ByHourRule rule = [new NumberList(rulePart)]

and: 'a list of dates'
DateList dateList = [Value.DATE_TIME]
dateList.addAll(dates)

expect: 'the rule transforms the dates correctly'
rule.transform(dateList) == expectedResult

where:
rulePart | dates | expectedResult
'1' | [new DateTime('20150103T000000Z')] | [new DateTime('20150103T010000Z')]
}
}
@@ -0,0 +1,27 @@
package net.fortuna.ical4j.transform.recurrence


import net.fortuna.ical4j.model.DateList
import net.fortuna.ical4j.model.DateTime
import net.fortuna.ical4j.model.NumberList
import net.fortuna.ical4j.model.parameter.Value
import spock.lang.Specification

class ByMinuteRuleTest extends Specification {

def 'verify transformations by day'() {
given: 'a BYMINUTE rule'
ByMinuteRule rule = [new NumberList(rulePart)]

and: 'a list of dates'
DateList dateList = [Value.DATE_TIME]
dateList.addAll(dates)

expect: 'the rule transforms the dates correctly'
rule.transform(dateList) == expectedResult

where:
rulePart | dates | expectedResult
'1' | [new DateTime('20150103T000000Z')] | [new DateTime('20150103T000100Z')]
}
}
@@ -0,0 +1,26 @@
package net.fortuna.ical4j.transform.recurrence

import net.fortuna.ical4j.model.Date
import net.fortuna.ical4j.model.DateList
import net.fortuna.ical4j.model.NumberList
import net.fortuna.ical4j.model.parameter.Value
import spock.lang.Specification

class ByMonthDayRuleTest extends Specification {

def 'verify transformations by day'() {
given: 'a BYMONTHDAY rule'
ByMonthDayRule rule = [new NumberList(rulePart)]

and: 'a list of dates'
DateList dateList = [Value.DATE]
dateList.addAll(dates)

expect: 'the rule transforms the dates correctly'
rule.transform(dateList) == expectedResult

where:
rulePart | dates | expectedResult
'1' | [new Date('20150103')] | [new Date('20150101')]
}
}
@@ -0,0 +1,26 @@
package net.fortuna.ical4j.transform.recurrence

import net.fortuna.ical4j.model.Date
import net.fortuna.ical4j.model.DateList
import net.fortuna.ical4j.model.NumberList
import net.fortuna.ical4j.model.parameter.Value
import spock.lang.Specification

class ByMonthRuleTest extends Specification {

def 'verify transformations by month'() {
given: 'a bymonth rule'
ByMonthRule rule = [new NumberList(byMonthPart), Optional.empty()]

and: 'a list of dates'
DateList dateList = [Value.DATE]
dateList.addAll(dates)

expect: 'the rule transforms the dates correctly'
rule.transform(dateList) == expectedResult

where:
byMonthPart | dates | expectedResult
'1,2' | [new Date('20150103')] | [new Date('20150103'), new Date('20150203')]
}
}
@@ -0,0 +1,27 @@
package net.fortuna.ical4j.transform.recurrence


import net.fortuna.ical4j.model.DateList
import net.fortuna.ical4j.model.DateTime
import net.fortuna.ical4j.model.NumberList
import net.fortuna.ical4j.model.parameter.Value
import spock.lang.Specification

class BySecondRuleTest extends Specification {

def 'verify transformations by day'() {
given: 'a BYSECOND rule'
BySecondRule rule = [new NumberList(rulePart)]

and: 'a list of dates'
DateList dateList = [Value.DATE_TIME]
dateList.addAll(dates)

expect: 'the rule transforms the dates correctly'
rule.transform(dateList) == expectedResult

where:
rulePart | dates | expectedResult
'1' | [new DateTime('20150103T000000Z')] | [new DateTime('20150103T000001Z')]
}
}
@@ -0,0 +1,26 @@
package net.fortuna.ical4j.transform.recurrence

import net.fortuna.ical4j.model.Date
import net.fortuna.ical4j.model.DateList
import net.fortuna.ical4j.model.NumberList
import net.fortuna.ical4j.model.parameter.Value
import spock.lang.Specification

class BySetPosRuleTest extends Specification {

def 'verify transformations by day'() {
given: 'a BYSETPOS rule'
BySetPosRule rule = [new NumberList(rulePart)]

and: 'a list of dates'
DateList dateList = [Value.DATE]
dateList.addAll(dates)

expect: 'the rule transforms the dates correctly'
rule.transform(dateList) == expectedResult

where:
rulePart | dates | expectedResult
'1' | [new Date('20150103')] | [new Date('20150103')]
}
}
Expand Up @@ -9,7 +9,7 @@ import spock.lang.Specification
class ByWeekNoRuleTest extends Specification {

def 'verify transformations by week number'() {
given: 'a byweekno rule'
given: 'a BYWEEKNO rule'
ByWeekNoRule rule = [new NumberList(byWeekNoPart)]

and: 'a list of dates'
Expand Down
@@ -0,0 +1,26 @@
package net.fortuna.ical4j.transform.recurrence

import net.fortuna.ical4j.model.Date
import net.fortuna.ical4j.model.DateList
import net.fortuna.ical4j.model.NumberList
import net.fortuna.ical4j.model.parameter.Value
import spock.lang.Specification

class ByYearDayRuleTest extends Specification {

def 'verify transformations by day'() {
given: 'a BYYEARDAY rule'
ByYearDayRule rule = [new NumberList(rulePart)]

and: 'a list of dates'
DateList dateList = [Value.DATE]
dateList.addAll(dates)

expect: 'the rule transforms the dates correctly'
rule.transform(dateList) == expectedResult

where:
rulePart | dates | expectedResult
'1' | [new Date('20150103')] | [new Date('20150101')]
}
}

0 comments on commit a088a53

Please sign in to comment.