@rohitbakoliya/test-gen
Version:
Quickly generate test cases for stress testing using interactive CLI.
31 lines (30 loc) • 1.09 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const Random_1 = __importDefault(require("../../helper/Random"));
const RndUnweightedTree_1 = __importDefault(require("./RndUnweightedTree"));
/**
* Generates Random weighted Tree
* @param nodesRange node range [minNodes, MaxNodes]
* @param wtRange weight range for edge weight
* @returns edge set
*/
const RndWeightedTree = ({ nodesRange, wtRange }) => {
const { result: edges, nodes } = RndUnweightedTree_1.default({ nodesRange });
const wtEdges = [];
let output = nodes + '\n';
edges.forEach(edge => {
const rndWt = Random_1.default({ max: wtRange[1], min: wtRange[0] });
const wtEdge = [...edge, rndWt];
wtEdges.push(wtEdge);
output += wtEdge.join(' ') + '\n';
});
return {
result: wtEdges,
nodes,
output,
};
};
exports.default = RndWeightedTree;