Coverage Report - org.jbehave.core.model.Narrative
 
Classes in this File Line Coverage Branch Coverage Complexity
Narrative
100%
27/27
100%
4/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  23
         this(inOrderTo, asA, iWantTo, "");
 21  23
     }
 22  
 
 23  24
     public Narrative(String inOrderTo, String asA, String iWantTo, String soThat) {
 24  24
         this.inOrderTo = inOrderTo;
 25  24
         this.asA = asA;
 26  24
         this.iWantTo = iWantTo;
 27  24
         this.soThat = soThat;
 28  24
     }
 29  
 
 30  
     public String inOrderTo() {
 31  16
         return inOrderTo;
 32  
     }
 33  
 
 34  
     public String asA() {
 35  17
         return asA;
 36  
     }
 37  
 
 38  
     public String iWantTo() {
 39  17
         return iWantTo;
 40  
     }
 41  
 
 42  
     public String soThat(){
 43  1
         return soThat;
 44  
     }
 45  
     
 46  
     public boolean isEmpty() {
 47  123
         return EMPTY == this;
 48  
     }
 49  
 
 50  
     public boolean isAlternative(){
 51  61
         return inOrderTo.isEmpty();
 52  
     }
 53  
 
 54  
     public String asString(Keywords keywords) {
 55  47
                 StringBuffer sb = new StringBuffer();
 56  47
                 if (isAlternative()) {
 57  46
                         sb.append(keywords.asA()).append(SPACE).append(asA).append(NL);
 58  46
                         sb.append(keywords.iWantTo()).append(SPACE).append(iWantTo)
 59  46
                                         .append(NL);
 60  46
                         sb.append(keywords.soThat()).append(SPACE).append(soThat);
 61  
                 } else {
 62  1
                         sb.append(keywords.inOrderTo()).append(SPACE).append(inOrderTo)
 63  1
                                         .append(NL);
 64  1
                         sb.append(keywords.asA()).append(SPACE).append(asA).append(NL);
 65  1
                         sb.append(keywords.iWantTo()).append(SPACE).append(iWantTo);
 66  
                 }
 67  47
                 return sb.toString();
 68  
         }
 69  
 
 70  
     @Override
 71  
     public String toString() {
 72  126
         return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
 73  
     }
 74  
 
 75  
 
 76  
 }