UNPKG

@kstasi/jest-tolk

Version:

<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/tonkite/tonkite/main/assets/logo-dark.svg"> <img alt="tonkite logo" src="https://raw.githubusercontent.com/tonkite/tonkite/main/a

32 lines (31 loc) 1.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("@ton/core"); const int_strategy_1 = require("./int-strategy"); describe('generateInt', () => { it('returns a fixture value if fixtures are provided', () => { const fixtures = [{ type: 'int', value: BigInt(42) }]; const result = (0, int_strategy_1.generateInt)(8, false, fixtures); expect(result).toBe(42n); }); it('throws an error if a fixture is not of type int', () => { const fixtures = [{ type: 'slice', cell: core_1.Cell.EMPTY }]; expect(() => (0, int_strategy_1.generateInt)(8, false, fixtures)).toThrow('All fixtures must be of type int, but got slice'); }); it('generates a random integer when no fixtures are provided', () => { const result = (0, int_strategy_1.generateInt)(8, false); expect(typeof result).toBe('bigint'); }); it('generates an edge case integer when bias is towards edge', () => { jest.spyOn(Math, 'random').mockReturnValue(0.05); // Bias towards edge const result = (0, int_strategy_1.generateInt)(8, false); expect(typeof result).toBe('bigint'); expect(result).toBe(0n); }); it('generates a random integer when bias is towards random', () => { jest.spyOn(Math, 'random').mockReturnValue(0.95); // Bias towards random const result = (0, int_strategy_1.generateInt)(8, true); expect(typeof result).toBe('bigint'); expect(result).toBe(120n); }); });