001    package org.apache.tapestry.link;
002    
003    import java.util.Set;
004    import java.util.TreeSet;
005    
006    import org.apache.tapestry.BaseComponentTestCase;
007    import org.testng.annotations.Test;
008    
009    @Test
010    public class DirectLinkTest extends BaseComponentTestCase
011    {
012            public void testConstructServiceParameters()
013            {
014                    assertNull(DirectLink.constructServiceParameters(null));
015    
016                    String plainObject = "plainObject";
017                    Object[] plainObjectResult = DirectLink.constructServiceParameters(plainObject);
018                    assertEquals(1, plainObjectResult.length);
019                    assertTrue(plainObject.equals(plainObjectResult[0]));
020    
021                    Object[] objectArray = new Object[] {1, 2, 3};
022                    Object[] objectArrayResult = DirectLink.constructServiceParameters(objectArray);
023                    assertEquals(3, objectArrayResult.length);
024                    assertEquals(3, objectArrayResult[2]);
025    
026                    Set set = new TreeSet();
027                    set.add(1);
028                    set.add(2);
029                    set.add(3);
030                    Object[] setResult = DirectLink.constructServiceParameters(set);
031                    assertEquals(3, setResult.length);
032                    assertEquals(2, setResult[1]);
033            }
034    }