UNPKG

@rohitbakoliya/test-gen

Version:

Quickly generate test cases for stress testing using interactive CLI.

137 lines (136 loc) 4.11 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateRange = exports.validateRegex = exports.validateFileName = exports.validateFraction = exports.validatePosFraction = exports.validateNaturalBigNumber = exports.validateNaturalNumber = exports.validateBigNumber = exports.validateNumber = exports.validateWholeBigNumber = exports.validateWholeNumber = void 0; const fs_1 = require("fs"); const chalk_1 = __importDefault(require("chalk")); const error = chalk_1.default.red; /** * to validate whole positive number in range [0, 999999] */ const validateWholeNumber = value => { const pass = value.match(/^(0|[1-9]\d{0,6})$/); if (pass) { return true; } return error('Please enter a valid Number'); }; exports.validateWholeNumber = validateWholeNumber; /** * to validate whole big positive number */ const validateWholeBigNumber = value => { const pass = value.match(/^(0|[1-9]\d*)$/); if (pass) { return true; } return error('Please enter a valid Number'); }; exports.validateWholeBigNumber = validateWholeBigNumber; /** * to validate number in range [-999999, 999999] */ const validateNumber = value => { const pass = value.match(/^-?(0|[1-9]\d{0,6})(?<!-0)$/); if (pass) { return true; } return error('Please enter a valid Number'); }; exports.validateNumber = validateNumber; /** * to validate both positive and nagetive numbers */ const validateBigNumber = value => { const pass = value.match(/^-?(0|[1-9]\d*)(?<!-0)$/); if (pass) { return true; } return error('Please enter a valid Number'); }; exports.validateBigNumber = validateBigNumber; /** * to validate natural numbers */ const validateNaturalNumber = value => { const pass = value.match(/[1-9]\d*/); if (pass) { return true; } return error('Please enter a valid Natural Number'); }; exports.validateNaturalNumber = validateNaturalNumber; /** * to validate big natural numbers */ const validateNaturalBigNumber = value => { const pass = value.match(/[1-9]\d*/); if (pass) { return true; } return error('Please enter a valid Natural Number'); }; exports.validateNaturalBigNumber = validateNaturalBigNumber; /** * to validate positive fractional number */ const validatePosFraction = value => { const pass = value.match(/^(0|[1-9]\d*)?(\.\d+)?$/); if (pass) { return true; } return error('Please enter a valid positive Number'); }; exports.validatePosFraction = validatePosFraction; /** * to validate both positive and negetive fractional numbers */ const validateFraction = value => { const pass = value.match(/^(?!-0?(\.0+)?$)-?(\d+)?(?:\.\d+)?$/); if (pass) { return true; } return error('Please enter a valid Number'); }; exports.validateFraction = validateFraction; /** * to validate filename */ const validateFileName = value => { const pass = value.match(/[\w\s-.]+/); if (pass) { if (!fs_1.existsSync(value + '.txt')) { return true; } return error(`File ${value}.txt already exists!`); } return error('Please enter a valid file name'); }; exports.validateFileName = validateFileName; /** * to validate regular expression */ const validateRegex = value => { let isValid = value.length !== 0; try { RegExp(value); } catch (e) { isValid = false; } if (isValid) { return true; } return error('Please enter valid regular expression'); }; exports.validateRegex = validateRegex; const validateRange = value => { const pass = value.match(/^([1-9]\d{0,6})\s*,{1}\s*([1-9]\d{0,6})$/); if (pass) { return true; } return error('Please enter correct Range'); }; exports.validateRange = validateRange;