@aptpod/data-viz-create-visual-parts-react
Version:
template of npm project with typescript
88 lines (81 loc) • 1.69 kB
text/typescript
import { shouldDisplayedSmall, calcRatio } from './utils'
/**
* shouldDisplayedSmall のテスト
*/
describe('shouldDisplayedSmall', () => {
type TestData = {
args: {
colSpan: number
rowSpan: number
}
exp: boolean
}
const testDatas: TestData[] = [
{
args: { colSpan: 0, rowSpan: 0 },
exp: true,
},
{
args: { colSpan: 1, rowSpan: 0 },
exp: true,
},
{
args: { colSpan: 0, rowSpan: 1 },
exp: true,
},
{
args: { colSpan: 2, rowSpan: 1 },
exp: true,
},
{
args: { colSpan: 1, rowSpan: 2 },
exp: true,
},
{
args: { colSpan: 2, rowSpan: 2 },
exp: false,
},
]
testDatas.forEach(({ args: { colSpan, rowSpan }, exp }) => {
test(`returns ${exp} when colSpan=${colSpan}, rowSpan=${rowSpan}`, () => {
expect(shouldDisplayedSmall(colSpan, rowSpan)).toBe(exp)
})
})
})
describe('calcRatio', () => {
type TestData = {
args: {
value: number
min: number
max: number
}
exp: number
}
const testDatas: TestData[] = [
{
args: { value: 0, min: 0, max: 0 },
exp: 0,
},
{
args: { value: 0, min: 10, max: 110 },
exp: 0,
},
{
args: { value: 200, min: 10, max: 110 },
exp: 1,
},
{
args: { value: 60, min: 10, max: 110 },
exp: 0.5,
},
{
args: { value: 20, min: 110, max: 10 },
exp: 0.9,
},
]
testDatas.forEach(({ args: { value, min, max }, exp }) => {
test(`returns ${exp} when value=${value}, min=${min}, max=${max}`, () => {
expect(calcRatio({ value, min, max })).toBe(exp)
})
})
})