Clover coverage report -
Coverage timestamp: jeu. juin 15 2006 08:24:33 CEST
file stats: LOC: 118   Methods: 14
NCLOC: 94   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
DotSearchListener.java 0% 0% 0% 0%
coverage
 1    package org.sat4j.minisat.core;
 2   
 3    import java.io.FileWriter;
 4    import java.io.IOException;
 5    import java.io.Writer;
 6    import java.util.Stack;
 7   
 8    @SuppressWarnings("serial")
 9    public class DotSearchListener implements SearchListener {
 10   
 11    private final transient Stack<String> pile;
 12   
 13    private transient String currentNodeName = null;
 14   
 15    private transient Writer out;
 16   
 17    private transient boolean estOrange = false;
 18   
 19  0 public DotSearchListener(final String fileNameToSave) {
 20  0 pile = new Stack<String>();
 21  0 try {
 22  0 out = new FileWriter(fileNameToSave);
 23    } catch (IOException e) {
 24  0 System.err.println("Problem when created file.");
 25    }
 26    }
 27   
 28  0 public final void assuming(final int p) {
 29  0 final Integer absP = new Integer(Math.abs(p));
 30  0 String newName;
 31   
 32  0 if (currentNodeName == null) {
 33  0 newName = absP.toString();
 34  0 pile.push(newName);
 35  0 saveLine(lineTab("\"" + newName + "\"" + "[label=\"" + newName
 36    + "\", shape=circle, color=blue, style=filled]"));
 37    } else {
 38  0 newName = currentNodeName;
 39  0 pile.push(newName);
 40  0 saveLine(lineTab("\"" + newName + "\"" + "[label=\""
 41    + absP.toString()
 42    + "\", shape=circle, color=blue, style=filled]"));
 43    }
 44  0 currentNodeName = newName;
 45    }
 46   
 47  0 public final void propagating(final int p) {
 48  0 String newName = currentNodeName + "." + p;
 49   
 50  0 if (currentNodeName == null) {
 51  0 saveLine(lineTab("\"null\" [label=\"\", shape=point]"));
 52    }
 53  0 final String couleur = estOrange ? "orange" : "green";
 54   
 55  0 saveLine(lineTab("\"" + newName + "\"" + "[label=\""
 56    + new Integer(p).toString() + "\",shape=point, color=black]"));
 57  0 saveLine(lineTab("\"" + currentNodeName + "\"" + " -- " + "\""
 58    + newName + "\"" + "[label=" + "\" "
 59    + new Integer(p).toString() + "\", fontcolor =" + couleur
 60    + ", color = " + couleur + ", style = bold]"));
 61  0 currentNodeName = newName;
 62  0 estOrange = false;
 63    }
 64   
 65  0 public final void backtracking(final int p) {
 66  0 final String temp = pile.pop();
 67   
 68  0 saveLine("\"" + temp + "\"" + "--" + "\"" + currentNodeName + "\""
 69    + "[label=\"\", color=red, style=dotted]");
 70  0 currentNodeName = temp;
 71    }
 72   
 73  0 public final void adding(final int p) {
 74  0 estOrange = true;
 75    }
 76   
 77  0 public final void learn(final Constr clause) {
 78    }
 79   
 80  0 public final void delete(final int[] clause) {
 81    }
 82   
 83  0 public final void conflictFound() {
 84  0 saveLine(lineTab("\"" + currentNodeName
 85    + "\" [label=\"\", shape=box, color=\"red\", style=filled]"));
 86    }
 87   
 88  0 public final void solutionFound() {
 89  0 saveLine(lineTab("\"" + currentNodeName
 90    + "\" [label=\"\", shape=box, color=\"green\", style=filled]"));
 91    }
 92   
 93  0 public final void beginLoop() {
 94    }
 95   
 96  0 public final void start() {
 97  0 saveLine("graph G {");
 98    }
 99   
 100  0 public final void end(Lbool result) {
 101  0 saveLine("}");
 102    }
 103   
 104  0 private final String lineTab(final String line) {
 105  0 return "\t" + line;
 106    }
 107   
 108  0 private final void saveLine(final String line) {
 109  0 try {
 110  0 out.write(line + '\n');
 111  0 if ("}".equals(line)) {
 112  0 out.close();
 113    }
 114    } catch (IOException e) {
 115  0 e.printStackTrace();
 116    }
 117    }
 118    }