1   /*
2    * AbstractDataProviderLinkBuilderTest.java
3    *
4    * Created on 14 Май 2006 г., 23:32
5    */
6   
7   package org.weda.data;
8   
9   import java.util.Map;
10  import org.weda.test.WedaTestCase;
11  import org.weda.property.ObjectDescriptorRegistry;
12  import org.weda.property.PropertyValue;
13  import org.weda.converter.ValueTypeConverter;
14  
15  /**
16   *
17   * @author Mikhail Titov
18   */
19  public class AbstractDataProviderLinkBuilderTest extends WedaTestCase{
20      
21      public AbstractDataProviderLinkBuilderTest(String name) throws Exception{
22          super(name);
23      }
24      
25      public void test() throws Exception {
26          AbstractDataProviderLinkBuilderImpl linkBuilder = 
27                  new AbstractDataProviderLinkBuilderImpl();
28          linkBuilder.setConverter(
29                  (ValueTypeConverter)
30                      registry.getService(ValueTypeConverter.class));
31          linkBuilder.setDataProviderRegistry(
32                  (DataProviderRegistry)
33                      registry.getService(DataProviderRegistry.class));
34          linkBuilder.setObjectDescriptorRegistry(
35                  (ObjectDescriptorRegistry)
36                      registry.getService(ObjectDescriptorRegistry.class));
37          linkBuilder.setPropertyValue(
38                  (PropertyValue)registry.getService(PropertyValue.class));
39          TestDataIdentificator id = new TestDataIdentificator();
40          id.setParam1(1.1);
41          id.setParam2(2);
42          id.setParam3("string param value");
43          String url = linkBuilder.getLinkToDataViewer(id);
44          assertEquals("url", url);
45          Map<String, String> params = linkBuilder.getLinkParameters();
46          assertNotNull(params);
47          assertEquals(
48                  id.getClass().getName()
49                  , params.get(linkBuilder.DATA_ID_CLASS_PARAM));
50          assertTrue(params.containsKey(linkBuilder.PARAM_PREFIX+"param1"));
51          assertEquals("1.1", params.get(linkBuilder.PARAM_PREFIX+"param1"));
52          //
53          assertTrue(params.containsKey(linkBuilder.PARAM_PREFIX+"param2"));
54          assertEquals("2", params.get(linkBuilder.PARAM_PREFIX+"param2"));
55          //
56          assertTrue(params.containsKey(linkBuilder.PARAM_PREFIX+"param3"));
57          assertEquals(
58                  "string param value"
59                  , params.get(linkBuilder.PARAM_PREFIX+"param3"));
60          //
61          //
62          TestDataIdentificator id2 = 
63                  (TestDataIdentificator)linkBuilder.getDataIdentificator(params);
64          assertNotNull(id2);
65          assertEquals(id.getParam1(), id2.getParam1());
66          assertEquals(id.getParam2(), id2.getParam2());
67          assertEquals(id.getParam3(), id2.getParam3());
68      }
69      
70  }