w-statistic
Version:
A tool for statistical analysis.
150 lines (134 loc) • 4.3 kB
JavaScript
import assert from 'assert'
import regLine from '../src/regLine.mjs'
describe(`regLine`, function() {
let k
let kpArr = {}
let kpOut = {}
k = 0
kpArr[k] = [
[],
[],
[],
]
kpOut[k] = { m: -0.6666666666666664, b: 3.0333333333333323 }
it(`should return ${JSON.stringify(kpOut[k])} when input ${JSON.stringify(kpArr[k])}`, async function() {
let k = 0
let r = await regLine(kpArr[k])
let rr = kpOut[k]
assert.strict.deepStrictEqual(r, rr)
})
k = 1
kpArr[k] = [
[],
[],
[],
]
kpOut[k] = { m: 0.666666666666667, b: -0.3000000000000007 }
it(`should return ${JSON.stringify(kpOut[k])} when input ${JSON.stringify(kpArr[k])}`, async function() {
let k = 1
let r = await regLine(kpArr[k])
let rr = kpOut[k]
assert.strict.deepStrictEqual(r, rr)
})
k = 2
kpArr[k] = [
[],
[],
[],
]
kpOut[k] = { m: 0.5698924731182796, b: 0 }
it(`should return ${JSON.stringify(kpOut[k])} when input ${JSON.stringify(kpArr[k])}, { useRegIntercept: false }`, async function() {
let k = 2
let r = await regLine(kpArr[k], { useRegIntercept: false })
let rr = kpOut[k]
assert.strict.deepStrictEqual(r, rr)
})
k = 3
kpArr[k] = [
[],
[],
[],
]
kpOut[k] = {
m: -0.6666666666666664,
b: 3.0333333333333323,
interpY: 1.6999999999999995
}
it(`should return ${JSON.stringify(kpOut[k])} when input ${JSON.stringify(kpArr[k])}, { interpX: 2 }`, async function() {
let k = 3
let r = await regLine(kpArr[k], { interpX: 2 })
let rr = kpOut[k]
assert.strict.deepStrictEqual(r, rr)
})
k = 4
kpArr[k] = [
[],
[],
[],
]
kpOut[k] = { m: -0.6666666666666664, b: 3.0333333333333323, r2: 0.949367088607595 }
it(`should return ${JSON.stringify(kpOut[k])} when input ${JSON.stringify(kpArr[k])}, { calcR2: true }`, async function() {
let k = 4
let r = await regLine(kpArr[k], { calcR2: true })
let rr = kpOut[k]
assert.strict.deepStrictEqual(r, rr)
})
k = 5
kpArr[k] = [
[],
[],
[],
]
kpOut[k] = { m: -0.6666666666666664, b: 3.0333333333333323 }
it(`should return ${JSON.stringify(kpOut[k])} when input ${JSON.stringify(kpArr[k])}, { useSync: true }`, async function() {
let k = 5
let r = regLine(kpArr[k], { useSync: true }) //不使用await
let rr = kpOut[k]
assert.strict.deepStrictEqual(r, rr)
})
it(`should catch when input ''`, async function() {
let r
await regLine('')
.catch((err) => {
r = err
})
let rr = 'arr is not an effective array'
assert.strict.deepStrictEqual(r, rr)
})
it(`should catch when input []`, async function() {
let r
await regLine([])
.catch((err) => {
r = err
})
let rr = 'arr is not an effective array'
assert.strict.deepStrictEqual(r, rr)
})
it(`should catch when input {}`, async function() {
let r
await regLine({})
.catch((err) => {
r = err
})
let rr = 'arr is not an effective array'
assert.strict.deepStrictEqual(r, rr)
})
it(`should catch when input null`, async function() {
let r
await regLine(null)
.catch((err) => {
r = err
})
let rr = 'arr is not an effective array'
assert.strict.deepStrictEqual(r, rr)
})
it(`should catch when input undefined`, async function() {
let r
await regLine(undefined)
.catch((err) => {
r = err
})
let rr = 'arr is not an effective array'
assert.strict.deepStrictEqual(r, rr)
})
})