update calculations for lucky levels (#1161)
* update calculations for lucky levels * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
65
test/t_Disp/t_CalculateLuckyLevels.js
Normal file
65
test/t_Disp/t_CalculateLuckyLevels.js
Normal file
@@ -0,0 +1,65 @@
|
||||
import { describe, it } from 'mocha';
|
||||
import { expect } from 'chai';
|
||||
|
||||
import CalculateLuckyLevels, {
|
||||
CalculateSevenDelta,
|
||||
CountSevens,
|
||||
} from '../../src/Disp/HelperFunctions/CalculateLuckyLevels';
|
||||
|
||||
describe('CountSevens', () => {
|
||||
const examples = [
|
||||
{ input: 1234567890, output: 1 },
|
||||
{ input: 7777777777, output: 10 },
|
||||
{ input: 1111111111, output: 0 },
|
||||
{ input: 7897897897, output: 4 },
|
||||
];
|
||||
|
||||
examples.forEach((example) => {
|
||||
it(`Counts sevens in ${example.input}`, () => {
|
||||
expect(CountSevens(example.input)).to.equal(example.output);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('CalculateSevenDelta', () => {
|
||||
const examples = [
|
||||
{ number: 123, digit: 1, output: 4 },
|
||||
{ number: 123, digit: 10, output: 50 },
|
||||
{ number: 123, digit: 100, output: 600 },
|
||||
{ number: 123, digit: 1000, output: 7000 },
|
||||
{ number: 7777, digit: 1, output: 0 },
|
||||
{ number: 7777, digit: 10, output: 0 },
|
||||
{ number: 7777, digit: 100, output: 0 },
|
||||
{ number: 7777, digit: 1000, output: 0 },
|
||||
{ number: 9999, digit: 1, output: 8 },
|
||||
{ number: 9999, digit: 10, output: 80 },
|
||||
{ number: 9999, digit: 100, output: 800 },
|
||||
{ number: 9999, digit: 1000, output: 8000 },
|
||||
];
|
||||
|
||||
examples.forEach((example) => {
|
||||
it(`Calculates delta from ${example.number} to the next 7 in the ${example.digit}s digit`, () => {
|
||||
expect(CalculateSevenDelta(example.number, example.digit)).to.equal(example.output);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('CalculateLuckyLevels', () => {
|
||||
const examples = [
|
||||
{ input: 0, luckyDigit: 7, luckyNumber: 77, luckyPayout: 7777 },
|
||||
{ input: 123, luckyDigit: 127, luckyNumber: 177, luckyPayout: 7777 },
|
||||
{ input: 77777, luckyDigit: 77777, luckyNumber: 77777, luckyPayout: 77777 },
|
||||
{ input: 799999, luckyDigit: 799999, luckyNumber: 800077, luckyPayout: 807777 },
|
||||
{ input: 999999, luckyDigit: 1000007, luckyNumber: 1000077, luckyPayout: 1007777 },
|
||||
];
|
||||
|
||||
examples.forEach((example) => {
|
||||
it(`Calculates the next lucky levels for the starting level ${example.input}`, () => {
|
||||
expect(CalculateLuckyLevels(example.input)).to.deep.equal({
|
||||
luckyDigit: example.luckyDigit,
|
||||
luckyNumber: example.luckyNumber,
|
||||
luckyPayout: example.luckyPayout,
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user