From 16720cc7cc75af4879533fecac9f4232f48ac02c Mon Sep 17 00:00:00 2001 From: Ben Fortuna Date: Tue, 12 Jun 2018 23:07:11 +1000 Subject: [PATCH] Improve class coverage --- .../util/DefaultEncoderFactoryTest.groovy | 40 +++++++++++++++++++ .../ical4j/util/FixedUidGeneratorSpec.groovy | 13 ++++++ 2 files changed, 53 insertions(+) create mode 100644 src/test/groovy/net/fortuna/ical4j/util/DefaultEncoderFactoryTest.groovy diff --git a/src/test/groovy/net/fortuna/ical4j/util/DefaultEncoderFactoryTest.groovy b/src/test/groovy/net/fortuna/ical4j/util/DefaultEncoderFactoryTest.groovy new file mode 100644 index 000000000..3c0aaf57c --- /dev/null +++ b/src/test/groovy/net/fortuna/ical4j/util/DefaultEncoderFactoryTest.groovy @@ -0,0 +1,40 @@ +package net.fortuna.ical4j.util + +import net.fortuna.ical4j.model.parameter.Encoding +import org.apache.commons.codec.BinaryEncoder +import org.apache.commons.codec.StringEncoder +import spock.lang.Specification + +class DefaultEncoderFactoryTest extends Specification { + + DefaultEncoderFactory factory = [] + + def "CreateBinaryEncoder"() { + expect: 'a binary encoder' + def encoder = factory.createBinaryEncoder(encoding) + encoder instanceof BinaryEncoder + + where: + encoding << [Encoding.BASE64, Encoding.QUOTED_PRINTABLE] + } + + def "CreateStringEncoder"() { + expect: 'a string encoder' + def encoder = factory.createStringEncoder(encoding) + encoder instanceof StringEncoder + + where: + encoding << [Encoding.QUOTED_PRINTABLE] + } + + def "assert invalid encoding"() { + given: 'an invalid string encoding' + def encoding = Encoding.BASE64 + + when: 'attempt to create encoder' + factory.createStringEncoder(encoding) + + then: 'invalid encoding exception' + thrown(UnsupportedEncodingException) + } +} diff --git a/src/test/groovy/net/fortuna/ical4j/util/FixedUidGeneratorSpec.groovy b/src/test/groovy/net/fortuna/ical4j/util/FixedUidGeneratorSpec.groovy index 448e04a51..1374d4735 100644 --- a/src/test/groovy/net/fortuna/ical4j/util/FixedUidGeneratorSpec.groovy +++ b/src/test/groovy/net/fortuna/ical4j/util/FixedUidGeneratorSpec.groovy @@ -1,5 +1,6 @@ package net.fortuna.ical4j.util +import net.fortuna.ical4j.model.DateTime import spock.lang.Specification class FixedUidGeneratorSpec extends Specification { @@ -15,4 +16,16 @@ class FixedUidGeneratorSpec extends Specification { then: 'HostInfo.getHostName() is only called once' 1 * hostInfo.getHostName() } + + def "verify generated uid"() { + given: 'a simple host info' + def hostInfo = new SimpleHostInfo('test') + + when: 'a generator is created and a uid is generated multiple times' + FixedUidGenerator generator = [hostInfo, '1'] + def uid = generator.generateUid() + + then: 'uid is as expected' + uid.value == (new DateTime(utc: true) as String) + '-1@' + hostInfo.hostName + } }