View Javadoc

1   package org.kuali.student.lum.course.service.impl;
2   
3   import java.util.LinkedHashSet;
4   import java.util.List;
5   import java.util.Set;
6   import org.junit.Test;
7   import org.kuali.student.common.dictionary.dto.ObjectStructureDefinition;
8   import org.kuali.student.common.dictionary.service.impl.DictionaryTesterHelper;
9   import org.kuali.student.common.exceptions.OperationFailedException;
10  import org.kuali.student.common.validation.dto.ValidationResultInfo;
11  import org.kuali.student.common.validator.DefaultValidatorImpl;
12  import org.kuali.student.common.validator.ServerDateParser;
13  import org.kuali.student.lum.lu.dto.CluSetInfo;
14  import org.springframework.context.ApplicationContext;
15  import org.springframework.context.support.ClassPathXmlApplicationContext;
16  import static org.junit.Assert.*;
17  
18  public class TestCluSetInfoDictionary
19  {
20  
21   @Test
22   public void testLoadCluSetInfoDictionary ()
23   {
24    Set<String> startingClasses = new LinkedHashSet ();
25    startingClasses.add (CluSetInfo.class.getName ());
26    String contextFile = "ks-cluSetInfo-dictionary-context";
27    String outFile = "target/" + contextFile + ".txt";
28    DictionaryTesterHelper helper = new DictionaryTesterHelper (outFile,
29                                                                startingClasses,
30                                                                contextFile
31                                                                + ".xml",
32                                                                false);
33    List<String> errors = helper.doTest ();
34    if (errors.size () > 0)
35    {
36     fail ("failed dictionary validation:\n" + formatAsString (errors));
37    }
38   }
39  
40   private String formatAsString (List<String> errors)
41   {
42    int i = 0;
43    StringBuilder builder = new StringBuilder ();
44    for (String error : errors)
45    {
46     i ++;
47     builder.append (i + ". " + error + "\n");
48    }
49    return builder.toString ();
50   }
51  
52   @Test
53   public void testCluSetInfoValidation () throws OperationFailedException
54   {
55    ApplicationContext ac = new ClassPathXmlApplicationContext (
56      "classpath:ks-cluSetInfo-dictionary-context.xml");
57    System.out.println ("h2. Validation Test");
58    DefaultValidatorImpl val = new DefaultValidatorImpl ();
59    val.setDateParser (new ServerDateParser ());
60    val.setSearchDispatcher (new MockSearchDispatcher ());
61    CluSetInfo info = new CluSetInfo ();
62    ObjectStructureDefinition os = (ObjectStructureDefinition) ac.getBean (
63      info.getClass ().getName ());
64    List<ValidationResultInfo> validationResults = val.validateObject (info, os);
65    System.out.println ("h3. With just a blank CluInfo");
66    for (ValidationResultInfo vr : validationResults)
67    {
68     System.out.println (vr.getElement () + " " + vr.getMessage ());
69    }
70    assertEquals (2, validationResults.size ());
71  
72   }
73  }