Coverage Report - org.jbehave.core.model.Narrative
 
Classes in this File Line Coverage Branch Coverage Complexity
Narrative
61%
16/26
50%
2/4
1.1
 
 1  
 package org.jbehave.core.model;
 2  
 
 3  
 import org.apache.commons.lang.builder.ToStringBuilder;
 4  
 import org.apache.commons.lang.builder.ToStringStyle;
 5  
 import org.jbehave.core.configuration.Keywords;
 6  
 
 7  
 public class Narrative {
 8  
 
 9  1
     public static final Narrative EMPTY = new Narrative("", "", "");
 10  
 
 11  
         private static final String NL = "\n";
 12  
         private static final String SPACE = " ";
 13  
 
 14  
     private final String inOrderTo;
 15  
     private final String asA;
 16  
     private final String iWantTo;
 17  
     private final String soThat;
 18  
 
 19  
     public Narrative(String inOrderTo, String asA, String iWantTo) {
 20  26
         this(inOrderTo, asA, iWantTo, "");
 21  26
     }
 22  
 
 23  27
     public Narrative(String inOrderTo, String asA, String iWantTo, String soThat) {
 24  27
         this.inOrderTo = inOrderTo;
 25  27
         this.asA = asA;
 26  27
         this.iWantTo = iWantTo;
 27  27
         this.soThat = soThat;
 28  27
     }
 29  
 
 30  
     public String inOrderTo() {
 31  20
         return inOrderTo;
 32  
     }
 33  
 
 34  
     public String asA() {
 35  21
         return asA;
 36  
     }
 37  
 
 38  
     public String iWantTo() {
 39  21
         return iWantTo;
 40  
     }
 41  
 
 42  
     public String soThat(){
 43  1
         return soThat;
 44  
     }
 45  
     
 46  
     public boolean isEmpty() {
 47  29
         return EMPTY == this;
 48  
     }
 49  
 
 50  
     public boolean isAlternative(){
 51  14
         return inOrderTo.isEmpty();
 52  
     }
 53  
 
 54  
         public String asString(Keywords keywords) {
 55  0
                 StringBuffer sb = new StringBuffer();
 56  0
                 sb.append(NL);
 57  0
                 if (isAlternative()) {
 58  0
                         sb.append(keywords.asA()).append(SPACE).append(asA).append(NL);
 59  0
                         sb.append(keywords.iWantTo()).append(SPACE).append(iWantTo)
 60  
                                         .append(NL);
 61  0
                         sb.append(keywords.soThat()).append(SPACE).append(soThat);
 62  
                 } else {
 63  0
                         sb.append(keywords.inOrderTo()).append(SPACE).append(inOrderTo)
 64  
                                         .append(NL);
 65  0
                         sb.append(keywords.asA()).append(SPACE).append(asA).append(NL);
 66  0
                         sb.append(keywords.iWantTo()).append(SPACE).append(iWantTo);
 67  
                 }
 68  0
                 return sb.toString();
 69  
         }
 70  
 
 71  
     @Override
 72  
     public String toString() {
 73  41
         return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
 74  
     }
 75  
 
 76  
 }