UNPKG

@rohitbakoliya/test-gen

Version:

Quickly generate test cases for stress testing using interactive CLI.

37 lines (36 loc) 1.58 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const TreeCheck_1 = __importDefault(require("../../helper/TreeCheck")); const RndUnweightedTree_1 = __importDefault(require("../../logic/trees/RndUnweightedTree")); describe('Random Generated unweighted Tree Tests', () => { const nodesRange = [100, 500]; const { result: edges, nodes } = RndUnweightedTree_1.default({ nodesRange }); const tCheck = new TreeCheck_1.default(nodes, edges); test('should return N-1 edges', () => { expect(edges).toBeArray(); expect(edges).toBeArrayOfSize(nodes - 1); }); test('should return correct nodes values i.e [1,N]', () => { expect(edges).toSatisfyAll(pairs => pairs[0] >= 1 && pairs[0] <= nodes && pairs[1] >= 1 && pairs[1] <= nodes); }); test('should not contain any self loop', () => { expect(edges).toSatisfyAll(pairs => pairs[0] !== pairs[1]); }); test('should not contain any parallel edge', () => { const edgeSet = new Set(); edges.forEach(edge => { const [u, v] = edge; edgeSet.add(`${u},${v}`); }); expect(edgeSet.size).toEqual(nodes - 1); }); test('tree should be connected', () => { expect(tCheck.isConntected()).toBeTrue(); }); test('tree should not have any cycle', () => { expect(tCheck.haveCycle).toBeFalse(); }); });