Package org.strecks.injection.internal

Source Code of org.strecks.injection.internal.TestInjectionAnnotationReader

/*
* Copyright 2005-2006 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/

package org.strecks.injection.internal;

import java.util.Map;

import org.strecks.converter.StandardBeanUtilsConverter;
import org.strecks.converter.StringConverter;
import org.strecks.injection.handler.RequestParameterInjectionHandler;
import org.strecks.injection.handler.impl.TestAction;
import org.testng.Assert;
import org.testng.annotations.Test;

/**
* @author Phil Zoio
*/
public class TestInjectionAnnotationReader
{

  @Test
  public void testInputReader()
  {
    InjectionAnnotationReader c = new InjectionAnnotationReader();
    TestAction action = new TestAction();
    c.readAnnotations(action.getClass());
    Map<String, InjectionWrapper> inputs = c.getInjectionMap();

    Assert.assertEquals(inputs.size(), 10);

    InjectionWrapper wrapper = inputs.get("integerInput");
    RequestParameterInjectionHandler handler = (RequestParameterInjectionHandler) wrapper.getInjectionHandlers()
        .get(0);

    InjectionSetter info = wrapper.getInjectionSetter();
    Assert.assertEquals("setIntegerInput", info.getMethodName());
    Assert.assertEquals("integerInput", info.getPropertyName());
    Assert.assertEquals(Integer.class, info.getType());
    Assert.assertEquals("integerInput", handler.getParameterName());
    Assert.assertEquals(StandardBeanUtilsConverter.class, handler.getConverter().getClass());

    wrapper = inputs.get("longInput");
    handler = (RequestParameterInjectionHandler) wrapper.getInjectionHandlers().get(0);

    info = wrapper.getInjectionSetter();
    Assert.assertEquals("setLongInput", info.getMethodName());
    Assert.assertEquals("longInput", info.getPropertyName());
    Assert.assertEquals(Long.class, info.getType());
    Assert.assertEquals("longInput", handler.getParameterName());
    Assert.assertEquals(StandardBeanUtilsConverter.class, handler.getConverter().getClass());

    wrapper = inputs.get("convertedLongInput");
    handler = (RequestParameterInjectionHandler) wrapper.getInjectionHandlers().get(0);

    info = wrapper.getInjectionSetter();
    Assert.assertEquals("setConvertedLongInput", info.getMethodName());
    Assert.assertEquals("convertedLongInput", info.getPropertyName());
    Assert.assertEquals(String.class, info.getType());
    Assert.assertEquals("converted_long", handler.getParameterName());
    Assert.assertEquals(StringConverter.class, handler.getConverter().getClass());

  }

}
TOP

Related Classes of org.strecks.injection.internal.TestInjectionAnnotationReader

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.