/** * */ package org.jvnet.hudson.plugins.purecoverage.domain; import java.util.Random; /** * Used to generate dummy data */ public class ProjectCoverageFactory { private int nextTotal; private int nextCovered; public ProjectCoverage createRandomReport() { ProjectCoverage coverage = new ProjectCoverage(nextCovered(), nextTotal()); DirectoryCoverage dir = new DirectoryCoverage("src/foo/bar", nextCovered(), nextTotal()); dir.addChild(fileCoverage("File.c", nextCovered(), nextTotal())); dir.addChild(fileCoverage("OtherFile.h", nextCovered(), nextTotal())); coverage.addChild(dir); dir = new DirectoryCoverage("etl/src/foo/bar", nextCovered(), nextTotal()); dir.addChild(fileCoverage("File.c", nextCovered(), nextTotal())); dir.addChild(fileCoverage("File2.c", nextCovered(), nextTotal())); dir.addChild(fileCoverage("FooBar.c", nextCovered(), nextTotal())); coverage.addChild(dir); dir = new DirectoryCoverage("src/bar", nextCovered(), nextTotal()); dir.addChild(fileCoverage("File2.c", nextCovered(), nextTotal())); dir.addChild(fileCoverage("FooBar.c", nextCovered(), nextTotal())); coverage.addChild(dir); return coverage; } private FileCoverage fileCoverage(String file, int lc, int tl) { FileCoverage coverage = new FileCoverage(file, lc, tl); coverage.addChild(new FunctionCoverage("void foo()", 23, 991)); coverage.addChild(new FunctionCoverage("void bar()", 45, 47)); coverage.addChild(new FunctionCoverage("void baz()", 0, 34)); return coverage; } private int nextCovered() { nextCovered = new Random().nextInt(100); return nextCovered; } private int nextTotal() { nextTotal = nextCovered + new Random().nextInt(100); return nextTotal; } }