diff options
| author | Alon Levy <alon@pobox.com> | 2014-09-29 19:15:15 +0300 |
|---|---|---|
| committer | Alon Levy <alon@pobox.com> | 2014-09-29 19:15:15 +0300 |
| commit | ed07d87f3d845b9cd0210fbb008ea9e6cfe95a76 (patch) | |
| tree | d9279864a0ece0ddb9c3d2794185aea24ad682d6 /tools/deliverables_generator.js | |
| parent | d73ee149738206a991198f333afd2d5841bb759d (diff) | |
extract deliverableTest to node script in tools
Diffstat (limited to 'tools/deliverables_generator.js')
| -rw-r--r-- | tools/deliverables_generator.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tools/deliverables_generator.js b/tools/deliverables_generator.js new file mode 100644 index 00000000..c4454609 --- /dev/null +++ b/tools/deliverables_generator.js @@ -0,0 +1,41 @@ +var fs = require('fs'); + +function randomDate(start, end) { + return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime())); +} + +function deliverableTest() { + links=[]; + nodes=[]; + var status = "unknown"; + var nodecounter = 150; + + var addLink = function (source, target, name) { + links.push({source:source, target:target, name:name}); + }; + + for (var i = 0; i < nodecounter; i++) { + if (Math.random() > 0.7) status = "done"; + else if (Math.random() > 0.5) status = "current"; + else status = "waiting"; + var end = randomDate(new Date(), new Date("01/01/2018")); + var start = randomDate(new Date(), end); + nodes.push({id:"Task " + i, name: "Task " + i, + type:"deliverable", start:start, end:end, + status:'status'}); + } + + for (var i = 0; i < nodecounter; i++) { + var endindex = Math.floor(Math.random() * nodecounter); + var startindex = Math.floor(Math.random() * nodecounter); + if (nodes[endindex].start > nodes[startindex].start && startindex !== endindex) { + addLink("Task " + startindex, "Task " + endindex, "depends on", "perm"); + } else { + addLink("Task " + endindex, "Task " + startindex, "depends on", "perm"); + } + } + + return {nodes:nodes, links:links}; +} + +fs.writeFileSync('deliverables.json', JSON.stringify(deliverableTest())); |
