*
*/
@Test(dataProvider="FlowAwareTemplateSourceDelegate")
public void testFlowWithProperties(FlowAwareTemplateSourceDelegate delegate) {
String componentName = "comp#0";
ComponentSpecificationResolver csr = createMock(ComponentSpecificationResolver.class);
delegate.setComponentSpecificationResolver(csr);
IComponentSpecification compSpec = createSimpleCompSpec(componentName, FullFlowComponent.class);
trainUsingMemoryLocation(compSpec);
IComponent component = createMock(IComponent.class);
expect(component.getSpecification()).andReturn(compSpec);
expect(component.getNamespace()).andReturn(null).anyTimes();
expect(component.getLocation()).andReturn(null);
FlowImplementor flow = createFlowWithProperties(componentName);
trainGetFlowForComponent(componentName, flow, delegate);
trainParser(delegate);
IRequestCycle cycle = createMock(IRequestCycle.class);
csr.resolve(cycle, null, componentName, null);
expect(csr.getSpecification()).andReturn(compSpec);
expect(compSpec.getComponentClassName()).andReturn(FakeComponent.class.getName()).anyTimes();
programFlowBorder(csr, cycle);
replay(component, csr, compSpec, cycle);