package com.flextrade.jfixture.builders; import com.flextrade.jfixture.NoSpecimen; import com.flextrade.jfixture.utility.SpecimenType; import org.junit.Before; import org.junit.Test; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Stack; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; public class TestIterableBuilder { private IterableBuilder iterableBuilder; @Before public void initialise() { this.iterableBuilder = new IterableBuilder(); } @Test public void non_specimen_type_request_returns_no_specimen() { Object result = this.iterableBuilder.create("string", null); assertEquals(new NoSpecimen(), result); } @Test public void non_iterable_specimen_type_return_no_specimen() { Object result = this.iterableBuilder.create(SpecimenType.of(Map.class), null); assertEquals(new NoSpecimen(), result); } @Test public void non_interface_iterable_type_returns_no_specimen() { Object result = this.iterableBuilder.create(Stack.class, null); assertEquals(new NoSpecimen(), result); } @Test public void class_type_assignable_to_iterable_returns_instance_of_array_list() { Object result = this.iterableBuilder.create(SpecimenType.of(Iterable.class), null); assertTrue(result instanceof ArrayList); result = this.iterableBuilder.create(SpecimenType.of(List.class), null); assertTrue(result instanceof ArrayList); } }