Clover coverage report - Dependency Finder
Coverage timestamp: Mon Nov 29 2010 15:00:50 PST
file stats: LOC: 203   Methods: 7
NCLOC: 139   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
TestTextCyclePrinter.java - 100% 100% 100%
coverage
 1    /*
 2    * Copyright (c) 2001-2009, Jean Tessier
 3    * All rights reserved.
 4    *
 5    * Redistribution and use in source and binary forms, with or without
 6    * modification, are permitted provided that the following conditions
 7    * are met:
 8    *
 9    * * Redistributions of source code must retain the above copyright
 10    * notice, this list of conditions and the following disclaimer.
 11    *
 12    * * Redistributions in binary form must reproduce the above copyright
 13    * notice, this list of conditions and the following disclaimer in the
 14    * documentation and/or other materials provided with the distribution.
 15    *
 16    * * Neither the name of Jean Tessier nor the names of his contributors
 17    * may be used to endorse or promote products derived from this software
 18    * without specific prior written permission.
 19    *
 20    * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 21    * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 22    * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 23    * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
 24    * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 25    * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 26    * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 27    * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 28    * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 29    * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 30    * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 31    */
 32   
 33    package com.jeantessier.dependency;
 34   
 35    import java.util.*;
 36    import java.io.*;
 37   
 38    import junit.framework.*;
 39   
 40    public class TestTextCyclePrinter extends TestCase {
 41    private Node a_package;
 42    private Node b_package;
 43    private Node c_package;
 44   
 45  6 protected void setUp() throws Exception {
 46  6 super.setUp();
 47   
 48  6 NodeFactory factory = new NodeFactory();
 49   
 50  6 a_package = factory.createPackage("a");
 51  6 b_package = factory.createPackage("b");
 52  6 c_package = factory.createPackage("c");
 53    }
 54   
 55  1 public void testVisitCycleWith2NodeCycle() {
 56  1 List<Node> nodes = new ArrayList<Node>();
 57  1 nodes.add(a_package);
 58  1 nodes.add(b_package);
 59  1 Cycle cycle = new Cycle(nodes);
 60   
 61  1 StringWriter expected = new StringWriter();
 62  1 PrintWriter pw = new PrintWriter(expected);
 63  1 pw.println(a_package);
 64  1 pw.println(" --> " + b_package);
 65  1 pw.println(" --> " + a_package);
 66  1 pw.close();
 67   
 68  1 StringWriter buffer = new StringWriter();
 69  1 PrintWriter out = new PrintWriter(buffer);
 70  1 CyclePrinter printer = new TextCyclePrinter(out);
 71  1 printer.visitCycle(cycle);
 72  1 out.close();
 73   
 74  1 assertEquals(expected.toString(), buffer.toString());
 75    }
 76   
 77  1 public void testVisitCycleWith2NodeCycleWithIndentText() {
 78  1 List<Node> nodes = new ArrayList<Node>();
 79  1 nodes.add(a_package);
 80  1 nodes.add(b_package);
 81  1 Cycle cycle = new Cycle(nodes);
 82   
 83  1 StringWriter expected = new StringWriter();
 84  1 PrintWriter pw = new PrintWriter(expected);
 85  1 pw.println(a_package);
 86  1 pw.println("*--> " + b_package);
 87  1 pw.println("**--> " + a_package);
 88  1 pw.close();
 89   
 90  1 StringWriter buffer = new StringWriter();
 91  1 PrintWriter out = new PrintWriter(buffer);
 92  1 CyclePrinter printer = new TextCyclePrinter(out);
 93  1 printer.setIndentText("*");
 94  1 printer.visitCycle(cycle);
 95  1 out.close();
 96   
 97  1 assertEquals(expected.toString(), buffer.toString());
 98    }
 99   
 100  1 public void testVisitCycleWith3NodeCycle() {
 101  1 List<Node> nodes = new ArrayList<Node>();
 102  1 nodes.add(a_package);
 103  1 nodes.add(b_package);
 104  1 nodes.add(c_package);
 105  1 Cycle cycle = new Cycle(nodes);
 106   
 107  1 StringWriter expected = new StringWriter();
 108  1 PrintWriter pw = new PrintWriter(expected);
 109  1 pw.println(a_package);
 110  1 pw.println(" --> " + b_package);
 111  1 pw.println(" --> " + c_package);
 112  1 pw.println(" --> " + a_package);
 113  1 pw.close();
 114   
 115  1 StringWriter buffer = new StringWriter();
 116  1 PrintWriter out = new PrintWriter(buffer);
 117  1 CyclePrinter printer = new TextCyclePrinter(out);
 118  1 printer.visitCycle(cycle);
 119  1 out.close();
 120   
 121  1 assertEquals(expected.toString(), buffer.toString());
 122    }
 123   
 124  1 public void testVisitCyclesWith2NodeCycle() {
 125  1 List<Node> nodes = new ArrayList<Node>();
 126  1 nodes.add(a_package);
 127  1 nodes.add(b_package);
 128  1 Cycle cycle = new Cycle(nodes);
 129   
 130  1 StringWriter expected = new StringWriter();
 131  1 PrintWriter pw = new PrintWriter(expected);
 132  1 pw.println(a_package);
 133  1 pw.println(" --> " + b_package);
 134  1 pw.println(" --> " + a_package);
 135  1 pw.close();
 136   
 137  1 StringWriter buffer = new StringWriter();
 138  1 PrintWriter out = new PrintWriter(buffer);
 139  1 CyclePrinter printer = new TextCyclePrinter(out);
 140  1 printer.visitCycles(Collections.singletonList(cycle));
 141  1 out.close();
 142   
 143  1 assertEquals(expected.toString(), buffer.toString());
 144    }
 145   
 146  1 public void testVisitCyclesWith3NodeCycle() {
 147  1 List<Node> nodes = new ArrayList<Node>();
 148  1 nodes.add(a_package);
 149  1 nodes.add(b_package);
 150  1 nodes.add(c_package);
 151  1 Cycle cycle = new Cycle(nodes);
 152   
 153  1 StringWriter expected = new StringWriter();
 154  1 PrintWriter pw = new PrintWriter(expected);
 155  1 pw.println(a_package);
 156  1 pw.println(" --> " + b_package);
 157  1 pw.println(" --> " + c_package);
 158  1 pw.println(" --> " + a_package);
 159  1 pw.close();
 160   
 161  1 StringWriter buffer = new StringWriter();
 162  1 PrintWriter out = new PrintWriter(buffer);
 163  1 CyclePrinter printer = new TextCyclePrinter(out);
 164  1 printer.visitCycles(Collections.singletonList(cycle));
 165  1 out.close();
 166   
 167  1 assertEquals(expected.toString(), buffer.toString());
 168    }
 169   
 170  1 public void testVisitCyclesWith2Cycles() throws IOException {
 171  1 List<Cycle> cycles = new ArrayList<Cycle>();
 172   
 173  1 List<Node> nodes1 = new ArrayList<Node>();
 174  1 nodes1.add(a_package);
 175  1 nodes1.add(b_package);
 176  1 cycles.add(new Cycle(nodes1));
 177   
 178  1 List<Node> nodes2 = new ArrayList<Node>();
 179  1 nodes2.add(a_package);
 180  1 nodes2.add(b_package);
 181  1 nodes2.add(c_package);
 182  1 cycles.add(new Cycle(nodes2));
 183   
 184  1 StringWriter expected = new StringWriter();
 185  1 PrintWriter pw = new PrintWriter(expected);
 186  1 pw.println(a_package);
 187  1 pw.println(" --> " + b_package);
 188  1 pw.println(" --> " + a_package);
 189  1 pw.println(a_package);
 190  1 pw.println(" --> " + b_package);
 191  1 pw.println(" --> " + c_package);
 192  1 pw.println(" --> " + a_package);
 193  1 pw.close();
 194   
 195  1 StringWriter buffer = new StringWriter();
 196  1 PrintWriter out = new PrintWriter(buffer);
 197  1 CyclePrinter printer = new TextCyclePrinter(out);
 198  1 printer.visitCycles(cycles);
 199  1 out.close();
 200   
 201  1 assertEquals(expected.toString(), buffer.toString());
 202    }
 203    }