@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
JavaScript
;
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);
});
});