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