UNPKG

@rohitbakoliya/test-gen

Version:

Quickly generate test cases for stress testing using interactive CLI.

107 lines (106 loc) 4.44 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const inquirer_1 = __importDefault(require("inquirer")); const RndDirectedUnweighted_1 = __importDefault(require("../logic/graphs/RndDirectedUnweighted")); const RndDirectedWeighted_1 = __importDefault(require("../logic/graphs/RndDirectedWeighted")); const RndUndirectedUnweighted_1 = __importDefault(require("../logic/graphs/RndUndirectedUnweighted")); const exportFile_1 = __importDefault(require("../utils/exportFile")); const questions_1 = require("../utils/questions"); const GraphPrompt = (testCases, fileName) => __awaiter(void 0, void 0, void 0, function* () { inquirer_1.default.prompt(questions_1.graphQuestion).then((answers) => { const { graphType } = answers; switch (graphType) { case 'Directed Weighted Graph': DwGraphPrompt(testCases, fileName); break; case 'Directed Unweighted Graph': DuGraphPrompt(testCases, fileName); break; case 'Undirected Unweighted Graph': UuGraphPrompt(testCases, fileName); break; case 'default': throw new Error('oops!! fall through case'); } }); }); const DwGraphPrompt = (testCases, fileName) => __awaiter(void 0, void 0, void 0, function* () { inquirer_1.default .prompt(questions_1.dwGraphQuestion) .then((answers) => { // @ts-ignore const nodesRange = answers.nodesRange .split(',') .slice(0, 2) .map(x => parseInt(x)); // @ts-ignore const edgesRange = answers.edgesRange .split(',') .slice(0, 2) .map(x => parseInt(x)); // @ts-ignore const wtRange = answers.wtRange .split(',') .slice(0, 2) .map(x => parseInt(x)); exportFile_1.default({ fileName, testCases, func: RndDirectedWeighted_1.default, params: { nodesRange, edgesRange, wtRange }, }); }); }); const DuGraphPrompt = (testCases, fileName) => __awaiter(void 0, void 0, void 0, function* () { inquirer_1.default.prompt(questions_1.duGraphQuestion).then((answers) => { // @ts-ignore const nodesRange = answers.nodesRange .split(',') .slice(0, 2) .map(x => parseInt(x)); // @ts-ignore const edgesRange = answers.edgesRange .split(',') .slice(0, 2) .map(x => parseInt(x)); exportFile_1.default({ fileName, testCases, func: RndDirectedUnweighted_1.default, params: { nodesRange, edgesRange }, }); }); }); const UuGraphPrompt = (testCases, fileName) => __awaiter(void 0, void 0, void 0, function* () { inquirer_1.default.prompt(questions_1.uuGraphQuestion).then((answers) => { // @ts-ignore const nodesRange = answers.nodesRange .split(',') .slice(0, 2) .map(x => parseInt(x)); // @ts-ignore const edgesRange = answers.edgesRange .split(',') .slice(0, 2) .map(x => parseInt(x)); exportFile_1.default({ fileName, testCases, func: RndUndirectedUnweighted_1.default, params: { nodesRange, edgesRange }, }); }); }); exports.default = GraphPrompt;