infrastructure-upgrade/lib/v3-periphery/test/shared/formatSqrtRatioX96.spec.ts
T-Hax 735546619e
init
Signed-off-by: T-Hax <>
2023-04-08 18:46:18 +00:00

31 lines
1.2 KiB
TypeScript

import { encodePriceSqrt } from './encodePriceSqrt'
import { expect } from './expect'
import { formatSqrtRatioX96 } from './formatSqrtRatioX96'
describe('#formatSqrtRatioX96', () => {
it('is correct for 9_999_999/10_000_000', () => {
expect(formatSqrtRatioX96(encodePriceSqrt(9_999_999, 10_000_000))).to.eq('1.0000')
})
it('is correct for 9_999_999/1', () => {
expect(formatSqrtRatioX96(encodePriceSqrt(9_999_999, 1))).to.eq('10000000')
})
it('is correct for 1/3', () => {
expect(formatSqrtRatioX96(encodePriceSqrt(1, 3))).to.eq('0.33333')
})
it('is correct for 100/3', () => {
expect(formatSqrtRatioX96(encodePriceSqrt(100, 3))).to.eq('33.333')
})
it('is correct for 1_000_000/3', () => {
expect(formatSqrtRatioX96(encodePriceSqrt(1_000_000, 3))).to.eq('333330')
})
it('1e-18 still prints 5 sig figs', () => {
expect(formatSqrtRatioX96(encodePriceSqrt(1, 1e18), 18, 18)).to.eq('0.0000000000000000010000')
})
it('accounts for decimal differences', () => {
expect(formatSqrtRatioX96(encodePriceSqrt(1e6, 1e18), 18, 6)).to.eq('1.0000')
})
it('accounts for decimal differences in reverse', () => {
expect(formatSqrtRatioX96(encodePriceSqrt(1e18, 1e6), 6, 18)).to.eq('1.0000')
})
})