Skip to content

Commit

Permalink
Fixed VAvailabilityFactory support
Browse files Browse the repository at this point in the history
  • Loading branch information
benfortuna committed Jun 15, 2021
1 parent f566acd commit 25c834d
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ import net.fortuna.ical4j.model.PropertyList
*/
class VAvailabilityFactory extends AbstractComponentFactory{


Object newInstance(FactoryBuilderSupport builder, Object name, Object value, Map attributes) throws InstantiationException, IllegalAccessException {
VAvailability availability
if (FactoryBuilderSupport.checkValueIsType(value, name, VAvailability.class)) {
Expand All @@ -54,4 +53,13 @@ class VAvailabilityFactory extends AbstractComponentFactory{
protected Object newInstance(PropertyList properties) {
return new VAvailability(properties)
}

void setChild(FactoryBuilderSupport build, Object parent, Object child) {
if (child instanceof Available) {
parent.available.add child
}
else {
super.setChild(build, parent, child)
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package net.fortuna.ical4j.model.component

import net.fortuna.ical4j.model.ContentBuilder
import spock.lang.Specification

class VAvailabilityFactoryTest extends Specification {

def 'verify vavailability creation'() {
given: 'a content builder'
ContentBuilder builder = []

when: 'a vavailability spec is provided'
VAvailability availability = builder.vavailability() {
uid '1'
available {
uid '11'
}
}

then: 'result is as expected'
availability.getProperty('UID').value == '1'
availability.available.size() == 1
availability.available[0].getProperty('UID').value == '11'
}
}

0 comments on commit 25c834d

Please sign in to comment.