1   package com.diasparsoftware.java.lang.test;
2   
3   import java.util.*;
4   
5   import com.diasparsoftware.util.junit.ValueObjectEqualsTest;
6   
7   public class ValueObjectEqualsTestFivePropertiesTest
8       extends ValueObjectEqualsTest {
9   
10      protected List keyPropertyNames() {
11          return Arrays.asList(
12              new String[] { "key1", "key2", "key3", "key4", "key5" });
13      }
14  
15      protected Object createControlInstance() throws Exception {
16          return new FiveKeys(1, 2, 3, 4, 5);
17      }
18  
19      protected Object createInstanceDiffersIn(String keyPropertyName)
20          throws Exception {
21  
22          if ("key1".equals(keyPropertyName))
23              return new FiveKeys(6, 2, 3, 4, 5);
24          else if ("key2".equals(keyPropertyName))
25              return new FiveKeys(1, 6, 3, 4, 5);
26          else if ("key3".equals(keyPropertyName))
27              return new FiveKeys(1, 2, 6, 4, 5);
28          else if ("key4".equals(keyPropertyName))
29              return new FiveKeys(1, 2, 3, 6, 5);
30          else if ("key5".equals(keyPropertyName))
31              return new FiveKeys(1, 2, 3, 4, 6);
32  
33          return null;
34      }
35  }