From 3f5f79e5c1257e51e3e1b077dd14194186b89eb4 Mon Sep 17 00:00:00 2001 From: Dushusir <1414556676@qq.com> Date: Fri, 7 Jun 2024 17:30:20 +0800 Subject: [PATCH 01/11] fix(formula): subtotal count --- .../math/subtotal/__tests__/index.spec.ts | 8 +++++-- .../src/functions/math/subtotal/index.ts | 24 +++++++++++++++---- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/packages/engine-formula/src/functions/math/subtotal/__tests__/index.spec.ts b/packages/engine-formula/src/functions/math/subtotal/__tests__/index.spec.ts index bdec5030b8..9a1282737d 100644 --- a/packages/engine-formula/src/functions/math/subtotal/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/math/subtotal/__tests__/index.spec.ts @@ -275,12 +275,16 @@ describe('Test subtotal', () => { expect(result).toBe(11.157); }); it('Count, Var1 is array, var2 is array', async () => { - const result = await calculate('=SUBTOTAL(2,A1:B2,A3:F4)'); + let result = await calculate('=SUBTOTAL(2,A1:B2,A3:F4)'); expect(result).toBe(10); + result = await calculate('=SUBTOTAL(2,B1:C1)'); + expect(result).toBe(1); }); it('Counta, Var1 is array, var2 is array', async () => { - const result = await calculate('=SUBTOTAL(3,A1:B2,A3:F4)'); + let result = await calculate('=SUBTOTAL(3,A1:B2,A3:F4)'); expect(result).toBe(14); + result = await calculate('=SUBTOTAL(3,B1:C1)'); + expect(result).toBe(2); }); it('Max, Var1 is array, var2 is array', async () => { const result = await calculate('=SUBTOTAL(4,A1:B2,A3:F4)'); diff --git a/packages/engine-formula/src/functions/math/subtotal/index.ts b/packages/engine-formula/src/functions/math/subtotal/index.ts index 71976195fd..44ed0daf36 100644 --- a/packages/engine-formula/src/functions/math/subtotal/index.ts +++ b/packages/engine-formula/src/functions/math/subtotal/index.ts @@ -84,6 +84,7 @@ export class Subtotal extends BaseFunction { return this._handleSingleObject(functionNum as BaseValueObject, ...refs); } + // eslint-disable-next-line max-lines-per-function, complexity private _handleSingleObject(functionNum: Nullable, ...refs: FunctionVariantType[]) { const indexNum = this._getIndexNumValue(functionNum); let result; @@ -195,13 +196,28 @@ export class Subtotal extends BaseFunction { } private _count(ignoreHidden: boolean, ...refs: FunctionVariantType[]) { - const flattenArray = this._flattenRefArray(ignoreHidden, ...refs); + let accumulatorAll: BaseValueObject = NumberValueObject.create(0); + for (let i = 0; i < refs.length; i++) { + const variant = refs[i]; - if (flattenArray.isError()) { - return flattenArray; + if (!variant.isReferenceObject()) { + return ErrorValueObject.create(ErrorType.VALUE); + } + + const rowData = (variant as BaseReferenceObject).getRowData(); + + (variant as BaseReferenceObject).iterator((valueObject, rowIndex) => { + if (ignoreHidden && this._isRowHidden(rowData, rowIndex)) { + return true; + } + + if (valueObject?.isNumber()) { + accumulatorAll = accumulatorAll.plusBy(1); + } + }); } - return flattenArray.count(); + return accumulatorAll; } private _counta(ignoreHidden: boolean, ...refs: FunctionVariantType[]) { From 2e6755d9f0e40aaa6710000a201c213146a1338f Mon Sep 17 00:00:00 2001 From: Dushusir <1414556676@qq.com> Date: Fri, 7 Jun 2024 21:19:57 +0800 Subject: [PATCH 02/11] fix(formula): paste formula in other sheet --- .../formula-clipboard.controller.ts | 34 +++++++++++++------ 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/packages/sheets-formula/src/controllers/formula-clipboard.controller.ts b/packages/sheets-formula/src/controllers/formula-clipboard.controller.ts index e6c8a3098a..7cb8aff8bf 100644 --- a/packages/sheets-formula/src/controllers/formula-clipboard.controller.ts +++ b/packages/sheets-formula/src/controllers/formula-clipboard.controller.ts @@ -26,7 +26,7 @@ import { Tools, UniverInstanceType, } from '@univerjs/core'; -import { LexerTreeBuilder } from '@univerjs/engine-formula'; +import { FormulaDataModel, LexerTreeBuilder } from '@univerjs/engine-formula'; import type { ISetRangeValuesMutationParams } from '@univerjs/sheets'; import { SetRangeValuesMutation, SetRangeValuesUndoMutationFactory } from '@univerjs/sheets'; import { COPY_TYPE, ISheetClipboardService, PREDEFINED_HOOK_NAME } from '@univerjs/sheets-ui'; @@ -44,7 +44,8 @@ export class FormulaClipboardController extends Disposable { @IUniverInstanceService private readonly _currentUniverSheet: IUniverInstanceService, @Inject(LexerTreeBuilder) private readonly _lexerTreeBuilder: LexerTreeBuilder, @ISheetClipboardService private readonly _sheetClipboardService: ISheetClipboardService, - @Inject(Injector) private readonly _injector: Injector + @Inject(Injector) private readonly _injector: Injector, + @Inject(FormulaDataModel) private readonly _formulaDataModel: FormulaDataModel ) { super(); @@ -100,8 +101,8 @@ export class FormulaClipboardController extends Disposable { const pastedRange = pasteTo.range; const matrix = data; const workbook = this._currentUniverSheet.getCurrentUnitForType(UniverInstanceType.UNIVER_SHEET)!; - const unitId = workbook.getUnitId(); - const subUnitId = workbook.getActiveSheet()?.getSheetId(); + const unitId = pasteTo.unitId || workbook.getUnitId(); + const subUnitId = pasteTo.subUnitId || workbook.getActiveSheet()?.getSheetId(); if (!unitId || !subUnitId) { return { undos: [], @@ -117,11 +118,14 @@ export class FormulaClipboardController extends Disposable { accessor, copyInfo, this._lexerTreeBuilder, - isSpecialPaste + this._formulaDataModel, + isSpecialPaste, + pasteFrom )); } } +// eslint-disable-next-line max-lines-per-function export function getSetCellFormulaMutations( unitId: string, subUnitId: string, @@ -134,7 +138,9 @@ export function getSetCellFormulaMutations( pasteType: string; }, lexerTreeBuilder: LexerTreeBuilder, - isSpecialPaste = false + formulaDataModel: FormulaDataModel, + isSpecialPaste = false, + pasteFrom: ISheetDiscreteRangeLocation | null ) { const redoMutationsInfo: IMutationInfo[] = []; const undoMutationsInfo: IMutationInfo[] = []; @@ -169,10 +175,18 @@ export function getSetCellFormulaMutations( // Directly reuse when there is a formula id if (isFormulaId(originalFormulaId)) { - valueObject.si = originalFormulaId; - valueObject.f = null; - valueObject.v = null; - valueObject.p = null; + const { unitId: pasteFromUnitId = '', subUnitId: pasteFromSubUnitId = '', range } = pasteFrom || {}; + + if (((pasteFromUnitId && unitId !== pasteFromUnitId) || (pasteFromSubUnitId && subUnitId !== pasteFromSubUnitId)) && range?.rows && range?.cols) { + const formulaString = formulaDataModel.getFormulaStringByCell(range.rows[row], range.cols[col], pasteFromSubUnitId, pasteFromUnitId); + + // TODO handle as normal formula string + } else { + valueObject.si = originalFormulaId; + valueObject.f = null; + valueObject.v = null; + valueObject.p = null; + } } else if (isFormulaString(originalFormula) && copyInfo.pasteType === PREDEFINED_HOOK_NAME.DEFAULT_PASTE) { const rowIndex = row % copyRowLength; const colIndex = col % copyColumnLength; From 26ea3e23fb843b2df45295cd2b77cabfd8a4a8c6 Mon Sep 17 00:00:00 2001 From: Dushusir <1414556676@qq.com> Date: Tue, 11 Jun 2024 18:15:38 +0800 Subject: [PATCH 03/11] fix(formula): copy paste formula --- .../formula-clipboard.controller.ts | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/packages/sheets-formula/src/controllers/formula-clipboard.controller.ts b/packages/sheets-formula/src/controllers/formula-clipboard.controller.ts index 7cb8aff8bf..2ccaf1eb7a 100644 --- a/packages/sheets-formula/src/controllers/formula-clipboard.controller.ts +++ b/packages/sheets-formula/src/controllers/formula-clipboard.controller.ts @@ -159,6 +159,7 @@ export function getSetCellFormulaMutations( } } + // eslint-disable-next-line complexity matrix.forValue((row, col, value) => { const originalFormula = value.f || ''; const originalFormulaId = value.si || ''; @@ -175,10 +176,24 @@ export function getSetCellFormulaMutations( // Directly reuse when there is a formula id if (isFormulaId(originalFormulaId)) { - const { unitId: pasteFromUnitId = '', subUnitId: pasteFromSubUnitId = '', range } = pasteFrom || {}; + const { unitId: pasteFromUnitId = '', subUnitId: pasteFromSubUnitId = '', range: pasteFromRange } = pasteFrom || {}; - if (((pasteFromUnitId && unitId !== pasteFromUnitId) || (pasteFromSubUnitId && subUnitId !== pasteFromSubUnitId)) && range?.rows && range?.cols) { - const formulaString = formulaDataModel.getFormulaStringByCell(range.rows[row], range.cols[col], pasteFromSubUnitId, pasteFromUnitId); + if (((pasteFromUnitId && unitId !== pasteFromUnitId) || (pasteFromSubUnitId && subUnitId !== pasteFromSubUnitId)) && pasteFromRange?.rows && pasteFromRange?.cols) { + const formulaString = formulaDataModel.getFormulaStringByCell(pasteFromRange.rows[row], pasteFromRange.cols[col], pasteFromSubUnitId, pasteFromUnitId); + + const rowIndex = row % copyRowLength; + const colIndex = col % copyColumnLength; + + const copyX = copyInfo?.copyRange ? copyInfo?.copyRange?.cols[colIndex] : colIndex; + const copyY = copyInfo?.copyRange ? copyInfo?.copyRange?.rows[rowIndex] : rowIndex; + const offsetX = range.cols[col] - copyX; + const offsetY = range.rows[row] - copyY; + const shiftedFormula = lexerTreeBuilder.moveFormulaRefOffset(formulaString || '', offsetX, offsetY); + + valueObject.si = null; + valueObject.f = shiftedFormula; + valueObject.v = null; + valueObject.p = null; // TODO handle as normal formula string } else { From d71e5d0e55eba8565ba72fd72b3efc3846c732a1 Mon Sep 17 00:00:00 2001 From: Dushusir <1414556676@qq.com> Date: Wed, 12 Jun 2024 15:48:12 +0800 Subject: [PATCH 04/11] fix(formula): node cache --- .../engine-formula/src/engine/dependency/formula-dependency.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/engine-formula/src/engine/dependency/formula-dependency.ts b/packages/engine-formula/src/engine/dependency/formula-dependency.ts index bcf3075828..9f7ba50be1 100644 --- a/packages/engine-formula/src/engine/dependency/formula-dependency.ts +++ b/packages/engine-formula/src/engine/dependency/formula-dependency.ts @@ -357,7 +357,8 @@ export class FormulaDependencyGenerator extends Disposable { } private _generateAstNode(unitId: string, formulaString: string, refOffsetX: number = 0, refOffsetY: number = 0) { - let astNode: Nullable = this._formulaASTCache.get(`${unitId}${formulaString}##${refOffsetX}${refOffsetY}`); + // refOffsetX and refOffsetY are separated by -, otherwise x:1 y:10 will be repeated with x:11 y:0 + let astNode: Nullable = this._formulaASTCache.get(`${unitId}${formulaString}##${refOffsetX}-${refOffsetY}`); if (astNode && !this._isDirtyDefinedForNode(astNode)) { return astNode; From efeace0732f3d76e5661c30684cf2cd965d507c7 Mon Sep 17 00:00:00 2001 From: Dushusir <1414556676@qq.com> Date: Wed, 12 Jun 2024 16:35:44 +0800 Subject: [PATCH 05/11] fix(formula): paste formula only with no style --- .../src/controllers/formula-clipboard.controller.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/sheets-formula/src/controllers/formula-clipboard.controller.ts b/packages/sheets-formula/src/controllers/formula-clipboard.controller.ts index 2ccaf1eb7a..8d9508ae17 100644 --- a/packages/sheets-formula/src/controllers/formula-clipboard.controller.ts +++ b/packages/sheets-formula/src/controllers/formula-clipboard.controller.ts @@ -165,9 +165,10 @@ export function getSetCellFormulaMutations( const originalFormulaId = value.si || ''; let valueObject: ICellDataWithSpanInfo = {}; - // Paste the formula only, you also need to process some regular values + // Paste the formula only, you also need to process some regular values, but style information is not needed if (isSpecialPaste) { valueObject = Tools.deepClone(value); + valueObject.s = null; } if (!copyRowLength || !copyColumnLength) { @@ -194,8 +195,6 @@ export function getSetCellFormulaMutations( valueObject.f = shiftedFormula; valueObject.v = null; valueObject.p = null; - - // TODO handle as normal formula string } else { valueObject.si = originalFormulaId; valueObject.f = null; From 46a5c74e9bb5d90a140c4e3ce8653c75435a6527 Mon Sep 17 00:00:00 2001 From: Dushusir <1414556676@qq.com> Date: Wed, 12 Jun 2024 18:08:30 +0800 Subject: [PATCH 06/11] fix(formula): clipboard test params --- .../__tests__/formula-clipboard.controller.spec.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/sheets-formula/src/controllers/__tests__/formula-clipboard.controller.spec.ts b/packages/sheets-formula/src/controllers/__tests__/formula-clipboard.controller.spec.ts index 37c3e19e0e..87e93801e7 100644 --- a/packages/sheets-formula/src/controllers/__tests__/formula-clipboard.controller.spec.ts +++ b/packages/sheets-formula/src/controllers/__tests__/formula-clipboard.controller.spec.ts @@ -16,7 +16,7 @@ import type { ICellData, Nullable, Univer } from '@univerjs/core'; import { ICommandService, IUniverInstanceService, ObjectMatrix } from '@univerjs/core'; -import { LexerTreeBuilder } from '@univerjs/engine-formula'; +import { FormulaDataModel, LexerTreeBuilder } from '@univerjs/engine-formula'; import { type ISetRangeValuesMutationParams, SetRangeValuesMutation } from '@univerjs/sheets'; import type { ICellDataWithSpanInfo } from '@univerjs/sheets-ui'; import { COPY_TYPE, ISelectionRenderService, PREDEFINED_HOOK_NAME, SelectionRenderService } from '@univerjs/sheets-ui'; @@ -31,6 +31,7 @@ describe('Test paste with formula', () => { let get: Injector['get']; let commandService: ICommandService; let lexerTreeBuilder: LexerTreeBuilder; + let formulaDataModel: FormulaDataModel; let getValues: ( startRow: number, startColumn: number, @@ -46,6 +47,7 @@ describe('Test paste with formula', () => { get = testBed.get; commandService = get(ICommandService); lexerTreeBuilder = get(LexerTreeBuilder); + formulaDataModel = get(FormulaDataModel); getValues = ( startRow: number, @@ -160,7 +162,10 @@ describe('Test paste with formula', () => { matrix, accessor, copyInfo, - lexerTreeBuilder + lexerTreeBuilder, + formulaDataModel, + false, + null ); expect(redoUndoList).toStrictEqual(result); @@ -614,7 +619,10 @@ describe('Test paste with formula', () => { matrix, accessor, copyInfo, - lexerTreeBuilder + lexerTreeBuilder, + formulaDataModel, + false, + null ); // Randomly generated id, no comparison is made From 56afb7d3a5450699113ee7ad92d5c21fa49bd8b4 Mon Sep 17 00:00:00 2001 From: Dushusir <1414556676@qq.com> Date: Fri, 14 Jun 2024 18:26:37 +0800 Subject: [PATCH 07/11] fix(formula): calculation cache --- .../engine-formula/src/engine/dependency/formula-dependency.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/engine-formula/src/engine/dependency/formula-dependency.ts b/packages/engine-formula/src/engine/dependency/formula-dependency.ts index 9f7ba50be1..4ff2ac9d54 100644 --- a/packages/engine-formula/src/engine/dependency/formula-dependency.ts +++ b/packages/engine-formula/src/engine/dependency/formula-dependency.ts @@ -378,7 +378,7 @@ export class FormulaDependencyGenerator extends Disposable { throw new Error('astNode is null'); } - this._formulaASTCache.set(`${unitId}${formulaString}##${refOffsetX}${refOffsetY}`, astNode); + this._formulaASTCache.set(`${unitId}${formulaString}##${refOffsetX}-${refOffsetY}`, astNode); return astNode; } From bf5da24cd7aefd0d7e1a0be2a92f321ecded97d3 Mon Sep 17 00:00:00 2001 From: Dushusir <1414556676@qq.com> Date: Mon, 17 Jun 2024 20:51:08 +0800 Subject: [PATCH 08/11] fix(formula): paste formula only without format --- .../src/controllers/dv-copy-paste.controller.ts | 3 +-- .../src/commands/commands/formula-clipboard.command.ts | 6 ++---- .../src/controllers/formula-clipboard.controller.ts | 8 ++++---- packages/sheets-formula/src/index.ts | 1 - .../src/controllers/copy-paste.controller.ts | 3 +-- .../sheet-permission-interceptor-base.controller.ts | 5 +++-- .../clipboard/__tests__/clipboard-service.spec.ts | 4 ++-- .../sheets-ui/src/services/clipboard/clipboard.service.ts | 1 + 8 files changed, 14 insertions(+), 17 deletions(-) diff --git a/packages/sheets-data-validation/src/controllers/dv-copy-paste.controller.ts b/packages/sheets-data-validation/src/controllers/dv-copy-paste.controller.ts index 3f3651c804..f26c7e26a1 100644 --- a/packages/sheets-data-validation/src/controllers/dv-copy-paste.controller.ts +++ b/packages/sheets-data-validation/src/controllers/dv-copy-paste.controller.ts @@ -20,7 +20,6 @@ import type { IDiscreteRange } from '@univerjs/sheets-ui'; import { COPY_TYPE, getRepeatRange, ISheetClipboardService, PREDEFINED_HOOK_NAME, rangeToDiscreteRange, virtualizeDiscreteRanges } from '@univerjs/sheets-ui'; import { Inject, Injector } from '@wendellhu/redi'; import { DataValidationModel } from '@univerjs/data-validation'; -import { SPECIAL_PASTE_FORMULA } from '@univerjs/sheets-formula'; import type { SheetDataValidationManager } from '../models/sheet-data-validation-manager'; import { DATA_VALIDATION_PLUGIN_NAME } from '../common/const'; import { getDataValidationDiffMutations } from '../commands/commands/data-validation.command'; @@ -108,7 +107,7 @@ export class DataValidationCopyPasteController extends Disposable { PREDEFINED_HOOK_NAME.SPECIAL_PASTE_COL_WIDTH, PREDEFINED_HOOK_NAME.SPECIAL_PASTE_VALUE, PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMAT, - SPECIAL_PASTE_FORMULA, + PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMULA, ].includes( copyInfo.pasteType ) diff --git a/packages/sheets-formula/src/commands/commands/formula-clipboard.command.ts b/packages/sheets-formula/src/commands/commands/formula-clipboard.command.ts index 2431b11094..881da3494a 100644 --- a/packages/sheets-formula/src/commands/commands/formula-clipboard.command.ts +++ b/packages/sheets-formula/src/commands/commands/formula-clipboard.command.ts @@ -16,9 +16,7 @@ import type { ICommand } from '@univerjs/core'; import { CommandType, ICommandService } from '@univerjs/core'; -import { SheetPasteCommand } from '@univerjs/sheets-ui'; - -export const SPECIAL_PASTE_FORMULA = 'special-paste-formula'; +import { PREDEFINED_HOOK_NAME, SheetPasteCommand } from '@univerjs/sheets-ui'; export const SheetOnlyPasteFormulaCommand: ICommand = { id: 'sheet.command.paste-formula', @@ -26,7 +24,7 @@ export const SheetOnlyPasteFormulaCommand: ICommand = { handler: async (accessor) => { const commandService = accessor.get(ICommandService); return commandService.executeCommand(SheetPasteCommand.id, { - value: SPECIAL_PASTE_FORMULA, + value: PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMULA, }); }, }; diff --git a/packages/sheets-formula/src/controllers/formula-clipboard.controller.ts b/packages/sheets-formula/src/controllers/formula-clipboard.controller.ts index 8d9508ae17..89ca31f872 100644 --- a/packages/sheets-formula/src/controllers/formula-clipboard.controller.ts +++ b/packages/sheets-formula/src/controllers/formula-clipboard.controller.ts @@ -34,8 +34,6 @@ import type { ICellDataWithSpanInfo, ICopyPastePayload, IDiscreteRange, ISheetCl import type { IAccessor } from '@wendellhu/redi'; import { Inject, Injector } from '@wendellhu/redi'; -import { SPECIAL_PASTE_FORMULA } from '../commands/commands/formula-clipboard.command'; - export const DEFAULT_PASTE_FORMULA = 'default-paste-formula'; @OnLifecycle(LifecycleStages.Ready, FormulaClipboardController) @@ -63,7 +61,7 @@ export class FormulaClipboardController extends Disposable { private _pasteFormulaHook(): ISheetClipboardHook { return { - id: SPECIAL_PASTE_FORMULA, + id: PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMULA, priority: 10, specialPasteInfo: { label: 'specialPaste.formula' }, onPasteCells: (pasteFrom, pasteTo, data, payload) => this._onPasteCells(pasteFrom, pasteTo, data, payload, true), @@ -86,6 +84,8 @@ export class FormulaClipboardController extends Disposable { isSpecialPaste: boolean ) { const pasteType = payload.pasteType; + + // Intercept scenarios where formulas do not need to be processed, and only process default paste and paste formulas only if (pasteType === PREDEFINED_HOOK_NAME.SPECIAL_PASTE_VALUE || pasteType === PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMAT || pasteType === PREDEFINED_HOOK_NAME.SPECIAL_PASTE_COL_WIDTH) { return { undos: [], @@ -201,7 +201,7 @@ export function getSetCellFormulaMutations( valueObject.v = null; valueObject.p = null; } - } else if (isFormulaString(originalFormula) && copyInfo.pasteType === PREDEFINED_HOOK_NAME.DEFAULT_PASTE) { + } else if (isFormulaString(originalFormula)) { const rowIndex = row % copyRowLength; const colIndex = col % copyColumnLength; diff --git a/packages/sheets-formula/src/index.ts b/packages/sheets-formula/src/index.ts index 6189dfc24b..c190916145 100644 --- a/packages/sheets-formula/src/index.ts +++ b/packages/sheets-formula/src/index.ts @@ -25,6 +25,5 @@ export type { IRegisterFunctionParams, IUnregisterFunctionParams } from './servi export { RegisterFunctionService } from './services/register-function.service'; export { IRegisterFunctionService } from './services/register-function.service'; export { FormulaRefRangeService } from './services/formula-ref-range.service'; -export { SPECIAL_PASTE_FORMULA } from './commands/commands/formula-clipboard.command'; export { RegisterOtherFormulaService } from './services/register-other-formula.service'; export type { IFormulaInfo, IOtherFormulaResult } from './services/formula-common'; diff --git a/packages/sheets-hyper-link-ui/src/controllers/copy-paste.controller.ts b/packages/sheets-hyper-link-ui/src/controllers/copy-paste.controller.ts index 6ba24cb1e0..e222ad7ee1 100644 --- a/packages/sheets-hyper-link-ui/src/controllers/copy-paste.controller.ts +++ b/packages/sheets-hyper-link-ui/src/controllers/copy-paste.controller.ts @@ -20,7 +20,6 @@ import { AddHyperLinkMutation, HyperLinkModel, RemoveHyperLinkMutation } from '@ import type { IDiscreteRange, ISheetDiscreteRangeLocation } from '@univerjs/sheets-ui'; import { COPY_TYPE, getRepeatRange, ISheetClipboardService, PREDEFINED_HOOK_NAME, rangeToDiscreteRange, virtualizeDiscreteRanges } from '@univerjs/sheets-ui'; import { Inject, Injector } from '@wendellhu/redi'; -import { SPECIAL_PASTE_FORMULA } from '@univerjs/sheets-formula'; import { SHEET_HYPER_LINK_UI_PLUGIN } from '../types/const'; import { isLegalLink, serializeUrl } from '../common/util'; import { SheetsHyperLinkResolverService } from '../services/resolver.service'; @@ -167,7 +166,7 @@ export class SheetsHyperLinkCopyPasteController extends Disposable { PREDEFINED_HOOK_NAME.SPECIAL_PASTE_COL_WIDTH, PREDEFINED_HOOK_NAME.SPECIAL_PASTE_VALUE, PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMAT, - SPECIAL_PASTE_FORMULA, + PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMULA, ].includes( copyInfo.pasteType ) diff --git a/packages/sheets-ui/src/controllers/permission/sheet-permission-interceptor-base.controller.ts b/packages/sheets-ui/src/controllers/permission/sheet-permission-interceptor-base.controller.ts index 697be1d3b0..40c138b38c 100644 --- a/packages/sheets-ui/src/controllers/permission/sheet-permission-interceptor-base.controller.ts +++ b/packages/sheets-ui/src/controllers/permission/sheet-permission-interceptor-base.controller.ts @@ -34,6 +34,7 @@ import { SetCellEditVisibleOperation } from '../../commands/operations/cell-edit import { ApplyFormatPainterCommand } from '../../commands/commands/set-format-painter.command'; import { SetRangeBoldCommand, SetRangeItalicCommand, SetRangeStrickThroughCommand, SetRangeUnderlineCommand } from '../../commands/commands/inline-format.command'; import { AutoFillCommand } from '../../commands/commands/auto-fill.command'; +import { PREDEFINED_HOOK_NAME } from '../../services/clipboard/clipboard.service'; type ICellPermission = Record & { ruleId?: string; ranges?: IRange[] }; type ICheckPermissionCommandParams = IMoveRowsCommandParams | IMoveColsCommandParams | IMoveRangeCommandParams | ISetRangeValuesCommandParams | ISheetPasteParams | ISetSpecificRowsVisibleCommandParams; @@ -481,13 +482,13 @@ export class SheetPermissionInterceptorBaseController extends Disposable { } private _permissionCheckByPaste(params: ISheetPasteParams) { - if (params.value === 'special-paste-value' || params.value === 'special-paste-formula') { + if (params.value === PREDEFINED_HOOK_NAME.SPECIAL_PASTE_VALUE || params.value === PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMULA) { return this.permissionCheckWithRanges({ workbookTypes: [WorkbookEditablePermission], rangeTypes: [RangeProtectionPermissionEditPoint], worksheetTypes: [WorksheetSetCellStylePermission, WorksheetEditPermission], }); - } else if (params.value === 'special-paste-format') { + } else if (params.value === PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMAT) { return this.permissionCheckWithRanges({ workbookTypes: [WorkbookEditablePermission], rangeTypes: [RangeProtectionPermissionEditPoint], diff --git a/packages/sheets-ui/src/services/clipboard/__tests__/clipboard-service.spec.ts b/packages/sheets-ui/src/services/clipboard/__tests__/clipboard-service.spec.ts index 9b8a1d3ce4..51cf4c2179 100644 --- a/packages/sheets-ui/src/services/clipboard/__tests__/clipboard-service.spec.ts +++ b/packages/sheets-ui/src/services/clipboard/__tests__/clipboard-service.spec.ts @@ -30,7 +30,7 @@ import { import type { Injector } from '@wendellhu/redi'; import { afterEach, beforeEach, describe, expect, it } from 'vitest'; -import { ISheetClipboardService } from '../clipboard.service'; +import { ISheetClipboardService, PREDEFINED_HOOK_NAME } from '../clipboard.service'; import { COPY_TYPE } from '../type'; import { discreteRangeToRange } from '../../../controllers/utils/range-tools'; import { clipboardTestBed } from './clipboard-test-bed'; @@ -839,7 +839,7 @@ describe('Test clipboard', () => { }, ]); - (sheetClipboardService as any)._pasteInternal(copyId, 'default-paste'); + (sheetClipboardService as any)._pasteInternal(copyId, PREDEFINED_HOOK_NAME.DEFAULT_PASTE); expect(getValues(24, 0, 24, 0)![0][0]).toBe(null); expect(getValues(24, 1, 24, 1)![0][0]!.v).toBe('A25'); diff --git a/packages/sheets-ui/src/services/clipboard/clipboard.service.ts b/packages/sheets-ui/src/services/clipboard/clipboard.service.ts index 818d32157a..9594eb111f 100644 --- a/packages/sheets-ui/src/services/clipboard/clipboard.service.ts +++ b/packages/sheets-ui/src/services/clipboard/clipboard.service.ts @@ -69,6 +69,7 @@ export const PREDEFINED_HOOK_NAME = { SPECIAL_PASTE_FORMAT: 'special-paste-format', SPECIAL_PASTE_COL_WIDTH: 'special-paste-col-width', SPECIAL_PASTE_BESIDES_BORDER: 'special-paste-besides-border', + SPECIAL_PASTE_FORMULA: 'special-paste-formula', }; interface ICopyContent { From f2f4620aa618df2cb3993db9cc07d85b04c55b95 Mon Sep 17 00:00:00 2001 From: Dushusir <1414556676@qq.com> Date: Tue, 18 Jun 2024 21:00:15 +0800 Subject: [PATCH 09/11] fix(sheet): copy rich text remove style --- .../formula-clipboard.controller.ts | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/packages/sheets-formula/src/controllers/formula-clipboard.controller.ts b/packages/sheets-formula/src/controllers/formula-clipboard.controller.ts index 89ca31f872..8496947139 100644 --- a/packages/sheets-formula/src/controllers/formula-clipboard.controller.ts +++ b/packages/sheets-formula/src/controllers/formula-clipboard.controller.ts @@ -16,6 +16,7 @@ import type { ICellData, IMutationInfo, Workbook } from '@univerjs/core'; import { + DEFAULT_EMPTY_DOCUMENT_VALUE, Disposable, isFormulaId, isFormulaString, @@ -231,6 +232,13 @@ export function getSetCellFormulaMutations( } } + // If there is rich text, remove the style + const richText = getCellRichText(value); + if (richText) { + valueObject.p = null; + valueObject.v = richText; + } + valueMatrix.setValue(range.rows[row], range.cols[col], valueObject); }); // set cell value and style @@ -260,3 +268,19 @@ export function getSetCellFormulaMutations( redos: redoMutationsInfo, }; } + +function getCellRichText(cell: ICellData) { + if (cell?.p) { + const body = cell?.p.body; + + if (body == null) { + return; + } + + const data = body.dataStream; + const lastString = data.substring(data.length - 2, data.length); + const newDataStream = lastString === DEFAULT_EMPTY_DOCUMENT_VALUE ? data.substring(0, data.length - 2) : data; + + return newDataStream; + } +} From b9fce0311218dce5de7c3bf1b3842b7b262b1b9a Mon Sep 17 00:00:00 2001 From: Dushusir <1414556676@qq.com> Date: Fri, 21 Jun 2024 19:35:02 +0800 Subject: [PATCH 10/11] fix(formula): remove async when execute calculation test --- .../__tests__/nested-functions.spec.ts | 8 +- .../information/isref/__tests__/index.spec.ts | 6 +- .../lookup/column/__tests__/index.spec.ts | 28 ++-- .../lookup/columns/__tests__/index.spec.ts | 28 ++-- .../lookup/index/__test__/index.spec.ts | 6 +- .../lookup/indirect/__test__/index.spec.ts | 20 +-- .../lookup/offset/__tests__/index.spec.ts | 6 +- .../lookup/row/__tests__/index.spec.ts | 28 ++-- .../lookup/rows/__tests__/index.spec.ts | 28 ++-- .../math/subtotal/__tests__/index.spec.ts | 124 +++++++++--------- 10 files changed, 141 insertions(+), 141 deletions(-) diff --git a/packages/engine-formula/src/functions/__tests__/nested-functions.spec.ts b/packages/engine-formula/src/functions/__tests__/nested-functions.spec.ts index bd6c8e8982..a333613a1f 100644 --- a/packages/engine-formula/src/functions/__tests__/nested-functions.spec.ts +++ b/packages/engine-formula/src/functions/__tests__/nested-functions.spec.ts @@ -313,21 +313,21 @@ describe('Test nested functions', () => { }); describe('Normal', () => { - it('Nested functions IFERROR,XLOOKUP,MAX,SUMIFS,EDATE,TODAY,DAY,PLUS,Minus,CONCATENATE', async () => { + it('Nested functions IFERROR,XLOOKUP,MAX,SUMIFS,EDATE,TODAY,DAY,PLUS,Minus,CONCATENATE', () => { const lexerNode = lexer.treeBuilder('=IFERROR(XLOOKUP(MAX(SUMIFS(C2:C10, A2:A10, ">="&EDATE(TODAY(),-1)+1-DAY(TODAY()), A2:A10, "<"&TODAY()-DAY(TODAY())+1)), SUMIFS(C2:C10, A2:A10, ">="&EDATE(TODAY(),-1)+1-DAY(TODAY()), A2:A10, "<"&TODAY()-DAY(TODAY())+1), B2:B10, "No Data"), "No Data")'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as ArrayValueObject).toValue()).toStrictEqual([[101], [102], [103], [104], [105], [101], [102], [103], [104]]); }); - it('Nested functions ADDRESS,XMATCH,MIN,SUMIFS,EDATE,TODAY,DAY', async () => { + it('Nested functions ADDRESS,XMATCH,MIN,SUMIFS,EDATE,TODAY,DAY', () => { const lexerNode = lexer.treeBuilder('=ADDRESS(XMATCH(MIN(SUMIFS(C2:C10, A2:A10, ">=" & EDATE(TODAY(), -1) + 1 - DAY(TODAY()), A2:A10, "<" & TODAY() - DAY(TODAY()) + 1)), SUMIFS(C2:C10, A2:A10, ">=" & EDATE(TODAY(), -1) + 1 - DAY(TODAY()), A2:A10, "<" & TODAY() - DAY(TODAY()) + 1), 0) + 1, 2)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect(getObjectValue(result)).toStrictEqual([['$B$2']]); }); diff --git a/packages/engine-formula/src/functions/information/isref/__tests__/index.spec.ts b/packages/engine-formula/src/functions/information/isref/__tests__/index.spec.ts index ee3e0fd07c..9e2e5588a1 100644 --- a/packages/engine-formula/src/functions/information/isref/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/information/isref/__tests__/index.spec.ts @@ -145,7 +145,7 @@ describe('Test isref function', () => { let lexer: Lexer; let astTreeBuilder: AstTreeBuilder; let interpreter: Interpreter; - let calculate: (formula: string) => Promise<(string | number | boolean | null)[][] | string | number | boolean>; + let calculate: (formula: string) => (string | number | boolean | null)[][] | string | number | boolean; beforeEach(() => { const testBed = createFunctionTestBed(getTestWorkbookData()); @@ -192,12 +192,12 @@ describe('Test isref function', () => { new Isref(FUNCTION_NAMES_INFORMATION.ISREF) ); - calculate = async (formula: string) => { + calculate = (formula: string) => { const lexerNode = lexer.treeBuilder(formula); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); if ((result as ErrorValueObject).isError()) { return (result as ErrorValueObject).getValue(); diff --git a/packages/engine-formula/src/functions/lookup/column/__tests__/index.spec.ts b/packages/engine-formula/src/functions/lookup/column/__tests__/index.spec.ts index ee56eadac0..8d68ec3fc8 100644 --- a/packages/engine-formula/src/functions/lookup/column/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/lookup/column/__tests__/index.spec.ts @@ -85,66 +85,66 @@ describe('Test column', () => { }); describe('Column', () => { - it('No reference', async () => { + it('No reference', () => { const lexerNode = lexer.treeBuilder('=COLUMN()'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as BaseValueObject).getValue()).toStrictEqual(1); }); - it('Reference single cell', async () => { + it('Reference single cell', () => { const lexerNode = lexer.treeBuilder('=COLUMN(C1)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as ArrayValueObject).toValue()).toStrictEqual([[3]]); }); - it('Reference array cell', async () => { + it('Reference array cell', () => { const lexerNode = lexer.treeBuilder('=COLUMN(C2:F3)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as ArrayValueObject).toValue()).toStrictEqual([[3, 4, 5, 6]]); }); - it('Text parameters', async () => { + it('Text parameters', () => { const lexerNode = lexer.treeBuilder('=COLUMN("A5")'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as ErrorValueObject).getValue()).toBe(ErrorType.NA); }); - it('Boolean params TRUE', async () => { + it('Boolean params TRUE', () => { const lexerNode = lexer.treeBuilder('=COLUMN(TRUE)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as ErrorValueObject).getValue()).toBe(ErrorType.NA); }); - it('Boolean params FALSE', async () => { + it('Boolean params FALSE', () => { const lexerNode = lexer.treeBuilder('=COLUMN(FALSE)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as ErrorValueObject).getValue()).toBe(ErrorType.NA); }); - it('Number params', async () => { + it('Number params', () => { const lexerNode = lexer.treeBuilder('=COLUMN(11)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as ErrorValueObject).getValue()).toBe(ErrorType.NA); }); diff --git a/packages/engine-formula/src/functions/lookup/columns/__tests__/index.spec.ts b/packages/engine-formula/src/functions/lookup/columns/__tests__/index.spec.ts index c63c81606c..dd241a3259 100644 --- a/packages/engine-formula/src/functions/lookup/columns/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/lookup/columns/__tests__/index.spec.ts @@ -84,66 +84,66 @@ describe('Test columns', () => { }); describe('Columns', () => { - it('Reference single cell', async () => { + it('Reference single cell', () => { const lexerNode = lexer.treeBuilder('=COLUMNS(C1)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as BaseValueObject).getValue()).toBe(1); }); - it('Reference array cell', async () => { + it('Reference array cell', () => { const lexerNode = lexer.treeBuilder('=COLUMNS(C2:F3)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as BaseValueObject).getValue()).toBe(4); }); - it('No reference', async () => { + it('No reference', () => { const lexerNode = lexer.treeBuilder('=COLUMNS()'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as ErrorValueObject).getValue()).toBe(ErrorType.NA); }); - it('Text params', async () => { + it('Text params', () => { const lexerNode = lexer.treeBuilder('=COLUMNS("A5")'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as BaseValueObject).getValue()).toBe(1); }); - it('Boolean params TRUE', async () => { + it('Boolean params TRUE', () => { const lexerNode = lexer.treeBuilder('=COLUMNS(TRUE)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as BaseValueObject).getValue()).toBe(1); }); - it('Boolean params FALSE', async () => { + it('Boolean params FALSE', () => { const lexerNode = lexer.treeBuilder('=COLUMNS(FALSE)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as BaseValueObject).getValue()).toBe(1); }); - it('Number params', async () => { + it('Number params', () => { const lexerNode = lexer.treeBuilder('=COLUMNS(11)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as BaseValueObject).getValue()).toBe(1); }); diff --git a/packages/engine-formula/src/functions/lookup/index/__test__/index.spec.ts b/packages/engine-formula/src/functions/lookup/index/__test__/index.spec.ts index 9ef275837d..d0b74df3b8 100644 --- a/packages/engine-formula/src/functions/lookup/index/__test__/index.spec.ts +++ b/packages/engine-formula/src/functions/lookup/index/__test__/index.spec.ts @@ -144,7 +144,7 @@ describe('Test index', () => { let lexer: Lexer; let astTreeBuilder: AstTreeBuilder; let interpreter: Interpreter; - let calculate: (formula: string) => Promise<(string | number | boolean | null)[][] | string | number | boolean>; + let calculate: (formula: string) => (string | number | boolean | null)[][] | string | number | boolean; beforeEach(() => { const testBed = createFunctionTestBed(getTestWorkbookData()); @@ -191,12 +191,12 @@ describe('Test index', () => { new Index(FUNCTION_NAMES_LOOKUP.INDEX) ); - calculate = async (formula: string) => { + calculate = (formula: string) => { const lexerNode = lexer.treeBuilder(formula); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); return getObjectValue(result); }; diff --git a/packages/engine-formula/src/functions/lookup/indirect/__test__/index.spec.ts b/packages/engine-formula/src/functions/lookup/indirect/__test__/index.spec.ts index 838c4a0741..34b2492c6b 100644 --- a/packages/engine-formula/src/functions/lookup/indirect/__test__/index.spec.ts +++ b/packages/engine-formula/src/functions/lookup/indirect/__test__/index.spec.ts @@ -89,32 +89,32 @@ describe('Test indirect', () => { }); describe('normal', () => { - it('string', async () => { + it('string', () => { const lexerNode = lexer.treeBuilder('=Indirect("B2")'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as BaseReferenceObject).toArrayValueObject().toValue()).toStrictEqual([[4]]); }); - it('ref', async () => { + it('ref', () => { const lexerNode = lexer.treeBuilder('=Indirect(C2)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as BaseReferenceObject).toArrayValueObject().toValue()).toStrictEqual([[4]]); }); - it('array', async () => { + it('array', () => { const lexerNode = lexer.treeBuilder('=Indirect(A1:D3)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as ArrayValueObject).toValue()).toStrictEqual([ [ErrorType.VALUE, ErrorType.VALUE, ErrorType.VALUE, ErrorType.VALUE], @@ -125,22 +125,22 @@ describe('Test indirect', () => { }); describe('r1c1', () => { - it('r1c1 string', async () => { + it('r1c1 string', () => { const lexerNode = lexer.treeBuilder('=Indirect("R2C2", 0)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as BaseReferenceObject).toArrayValueObject().toValue()).toStrictEqual([[4]]); }); - it('r1c1 ref', async () => { + it('r1c1 ref', () => { const lexerNode = lexer.treeBuilder('=Indirect(D2, 0)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as BaseReferenceObject).toArrayValueObject().toValue()).toStrictEqual([[4]]); }); diff --git a/packages/engine-formula/src/functions/lookup/offset/__tests__/index.spec.ts b/packages/engine-formula/src/functions/lookup/offset/__tests__/index.spec.ts index 92c9efce2f..4f4bf3f718 100644 --- a/packages/engine-formula/src/functions/lookup/offset/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/lookup/offset/__tests__/index.spec.ts @@ -139,7 +139,7 @@ describe('Test offset', () => { let lexer: Lexer; let astTreeBuilder: AstTreeBuilder; let interpreter: Interpreter; - let calculate: (formula: string) => Promise<(string | number | boolean | null)[][] | string | number | boolean>; + let calculate: (formula: string) => (string | number | boolean | null)[][] | string | number | boolean; beforeEach(() => { const testBed = createFunctionTestBed(getTestWorkbookData()); @@ -186,12 +186,12 @@ describe('Test offset', () => { new Offset(FUNCTION_NAMES_LOOKUP.OFFSET) ); - calculate = async (formula: string) => { + calculate = (formula: string) => { const lexerNode = lexer.treeBuilder(formula); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); return getObjectValue(result); }; diff --git a/packages/engine-formula/src/functions/lookup/row/__tests__/index.spec.ts b/packages/engine-formula/src/functions/lookup/row/__tests__/index.spec.ts index d905eecb97..6e85555f79 100644 --- a/packages/engine-formula/src/functions/lookup/row/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/lookup/row/__tests__/index.spec.ts @@ -85,66 +85,66 @@ describe('Test row', () => { }); describe('Row', () => { - it('No reference', async () => { + it('No reference', () => { const lexerNode = lexer.treeBuilder('=ROW()'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as BaseValueObject).getValue()).toStrictEqual(1); }); - it('Reference single cell', async () => { + it('Reference single cell', () => { const lexerNode = lexer.treeBuilder('=ROW(A5)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as ArrayValueObject).toValue()).toStrictEqual([[5]]); }); - it('Reference array cell', async () => { + it('Reference array cell', () => { const lexerNode = lexer.treeBuilder('=ROW(A5:B10)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as ArrayValueObject).toValue()).toStrictEqual([[5], [6], [7], [8], [9], [10]]); }); - it('Text parameters', async () => { + it('Text parameters', () => { const lexerNode = lexer.treeBuilder('=ROW("A5")'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as ErrorValueObject).getValue()).toBe(ErrorType.NA); }); - it('Boolean params TRUE', async () => { + it('Boolean params TRUE', () => { const lexerNode = lexer.treeBuilder('=ROW(TRUE)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as ErrorValueObject).getValue()).toBe(ErrorType.NA); }); - it('Boolean params FALSE', async () => { + it('Boolean params FALSE', () => { const lexerNode = lexer.treeBuilder('=ROW(FALSE)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as ErrorValueObject).getValue()).toBe(ErrorType.NA); }); - it('Number params', async () => { + it('Number params', () => { const lexerNode = lexer.treeBuilder('=ROW(11)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as ErrorValueObject).getValue()).toBe(ErrorType.NA); }); diff --git a/packages/engine-formula/src/functions/lookup/rows/__tests__/index.spec.ts b/packages/engine-formula/src/functions/lookup/rows/__tests__/index.spec.ts index 20cdd22e84..eeae7c8596 100644 --- a/packages/engine-formula/src/functions/lookup/rows/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/lookup/rows/__tests__/index.spec.ts @@ -84,66 +84,66 @@ describe('Test rows', () => { }); describe('Rows', () => { - it('Reference single cell', async () => { + it('Reference single cell', () => { const lexerNode = lexer.treeBuilder('=ROWS(C1)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as BaseValueObject).getValue()).toBe(1); }); - it('Reference array cell', async () => { + it('Reference array cell', () => { const lexerNode = lexer.treeBuilder('=ROWS(C2:F3)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as BaseValueObject).getValue()).toBe(2); }); - it('No reference', async () => { + it('No reference', () => { const lexerNode = lexer.treeBuilder('=ROWS()'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as ErrorValueObject).getValue()).toBe(ErrorType.NA); }); - it('Text params', async () => { + it('Text params', () => { const lexerNode = lexer.treeBuilder('=ROWS("A5")'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as BaseValueObject).getValue()).toBe(1); }); - it('Boolean params TRUE', async () => { + it('Boolean params TRUE', () => { const lexerNode = lexer.treeBuilder('=ROWS(TRUE)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as BaseValueObject).getValue()).toBe(1); }); - it('Boolean params FALSE', async () => { + it('Boolean params FALSE', () => { const lexerNode = lexer.treeBuilder('=ROWS(FALSE)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as BaseValueObject).getValue()).toBe(1); }); - it('Number params', async () => { + it('Number params', () => { const lexerNode = lexer.treeBuilder('=ROWS(11)'); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); expect((result as BaseValueObject).getValue()).toBe(1); }); diff --git a/packages/engine-formula/src/functions/math/subtotal/__tests__/index.spec.ts b/packages/engine-formula/src/functions/math/subtotal/__tests__/index.spec.ts index 9a1282737d..49b74a2103 100644 --- a/packages/engine-formula/src/functions/math/subtotal/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/math/subtotal/__tests__/index.spec.ts @@ -137,7 +137,7 @@ describe('Test subtotal', () => { let lexer: Lexer; let astTreeBuilder: AstTreeBuilder; let interpreter: Interpreter; - let calculate: (formula: string) => Promise<(string | number | boolean | null)[][] | string | number | boolean>; + let calculate: (formula: string) => (string | number | boolean | null)[][] | string | number | boolean; beforeEach(() => { const testBed = createFunctionTestBed(getTestWorkbookData()); @@ -184,12 +184,12 @@ describe('Test subtotal', () => { new Subtotal(FUNCTION_NAMES_MATH.SUBTOTAL) ); - calculate = async (formula: string) => { + calculate = (formula: string) => { const lexerNode = lexer.treeBuilder(formula); const astNode = astTreeBuilder.parse(lexerNode as LexerNode); - const result = await interpreter.executeAsync(astNode as BaseAstNode); + const result = interpreter.execute(astNode as BaseAstNode); if ((result as ErrorValueObject).isError()) { return (result as ErrorValueObject).getValue(); @@ -201,164 +201,164 @@ describe('Test subtotal', () => { }); describe('Subtotal common', () => { - it('FunctionNum is normal number, refs is non-reference object', async () => { + it('FunctionNum is normal number, refs is non-reference object', () => { // number - let result = await calculate('=SUBTOTAL(1,1)'); + let result = calculate('=SUBTOTAL(1,1)'); expect(result).toBe(ErrorType.VALUE); // string normal - result = await calculate('=SUBTOTAL(2,"test")'); + result = calculate('=SUBTOTAL(2,"test")'); expect(result).toBe(ErrorType.VALUE); // string number - result = await calculate('=SUBTOTAL(3,"1")'); + result = calculate('=SUBTOTAL(3,"1")'); expect(result).toBe(ErrorType.VALUE); // boolean true - result = await calculate('=SUBTOTAL(4,true)'); + result = calculate('=SUBTOTAL(4,true)'); expect(result).toBe(ErrorType.VALUE); // boolean false - result = await calculate('=SUBTOTAL(5,false)'); + result = calculate('=SUBTOTAL(5,false)'); expect(result).toBe(ErrorType.VALUE); }); - it('FunctionNum is normal number, refs is error or blank cell', async () => { + it('FunctionNum is normal number, refs is error or blank cell', () => { // error - let result = await calculate('=SUBTOTAL(7,C1)'); + let result = calculate('=SUBTOTAL(7,C1)'); expect(result).toBe(ErrorType.NAME); // null - result = await calculate('=SUBTOTAL(1,D1)'); + result = calculate('=SUBTOTAL(1,D1)'); expect(result).toBe(ErrorType.DIV_BY_ZERO); - result = await calculate('=SUBTOTAL(2,D1)'); + result = calculate('=SUBTOTAL(2,D1)'); expect(result).toBe(0); - result = await calculate('=SUBTOTAL(3,D1)'); + result = calculate('=SUBTOTAL(3,D1)'); expect(result).toBe(0); - result = await calculate('=SUBTOTAL(4,D1)'); + result = calculate('=SUBTOTAL(4,D1)'); expect(result).toBe(0); - result = await calculate('=SUBTOTAL(5,D1)'); + result = calculate('=SUBTOTAL(5,D1)'); expect(result).toBe(0); - result = await calculate('=SUBTOTAL(6,D1)'); + result = calculate('=SUBTOTAL(6,D1)'); expect(result).toBe(0); - result = await calculate('=SUBTOTAL(7,D1)'); + result = calculate('=SUBTOTAL(7,D1)'); expect(result).toBe(ErrorType.DIV_BY_ZERO); - result = await calculate('=SUBTOTAL(8,D1)'); + result = calculate('=SUBTOTAL(8,D1)'); expect(result).toBe(ErrorType.DIV_BY_ZERO); - result = await calculate('=SUBTOTAL(9,D1)'); + result = calculate('=SUBTOTAL(9,D1)'); expect(result).toBe(0); - result = await calculate('=SUBTOTAL(10,D1)'); + result = calculate('=SUBTOTAL(10,D1)'); expect(result).toBe(ErrorType.DIV_BY_ZERO); - result = await calculate('=SUBTOTAL(11,D1)'); + result = calculate('=SUBTOTAL(11,D1)'); expect(result).toBe(ErrorType.DIV_BY_ZERO); }); - it('FunctionNum is normal number, ref1 is array, ref2 is array includes error', async () => { - const result = await calculate('=SUBTOTAL(9,A1:B2,C1:C2)'); + it('FunctionNum is normal number, ref1 is array, ref2 is array includes error', () => { + const result = calculate('=SUBTOTAL(9,A1:B2,C1:C2)'); expect(result).toBe(ErrorType.NAME); }); }); describe('Subtotal every function, function number is single number', () => { - it('Average, Var1 is array, var2 is array', async () => { - const result = await calculate('=SUBTOTAL(1,A1:B2,A3:F4)'); + it('Average, Var1 is array, var2 is array', () => { + const result = calculate('=SUBTOTAL(1,A1:B2,A3:F4)'); expect(result).toBe(11.157); }); - it('Count, Var1 is array, var2 is array', async () => { - let result = await calculate('=SUBTOTAL(2,A1:B2,A3:F4)'); + it('Count, Var1 is array, var2 is array', () => { + let result = calculate('=SUBTOTAL(2,A1:B2,A3:F4)'); expect(result).toBe(10); - result = await calculate('=SUBTOTAL(2,B1:C1)'); + result = calculate('=SUBTOTAL(2,B1:C1)'); expect(result).toBe(1); }); - it('Counta, Var1 is array, var2 is array', async () => { - let result = await calculate('=SUBTOTAL(3,A1:B2,A3:F4)'); + it('Counta, Var1 is array, var2 is array', () => { + let result = calculate('=SUBTOTAL(3,A1:B2,A3:F4)'); expect(result).toBe(14); - result = await calculate('=SUBTOTAL(3,B1:C1)'); + result = calculate('=SUBTOTAL(3,B1:C1)'); expect(result).toBe(2); }); - it('Max, Var1 is array, var2 is array', async () => { - const result = await calculate('=SUBTOTAL(4,A1:B2,A3:F4)'); + it('Max, Var1 is array, var2 is array', () => { + const result = calculate('=SUBTOTAL(4,A1:B2,A3:F4)'); expect(result).toBe(100); }); - it('Min, Var1 is array, var2 is array', async () => { - const result = await calculate('=SUBTOTAL(5,A1:B2,A3:F4)'); + it('Min, Var1 is array, var2 is array', () => { + const result = calculate('=SUBTOTAL(5,A1:B2,A3:F4)'); expect(result).toBe(-3); }); - it('Product, Var1 is array, var2 is array', async () => { - const result = await calculate('=SUBTOTAL(6,A1:B2,A3:F4)'); + it('Product, Var1 is array, var2 is array', () => { + const result = calculate('=SUBTOTAL(6,A1:B2,A3:F4)'); expect(typeof result === 'number' && Math.abs(result)).toBe(0); }); - it('Stdev.s, Var1 is array, var2 is array', async () => { - const result = await calculate('=SUBTOTAL(7,A1:B2,A3:F4)'); + it('Stdev.s, Var1 is array, var2 is array', () => { + const result = calculate('=SUBTOTAL(7,A1:B2,A3:F4)'); expect(result).toBe(31.273350405026253); }); - it('Stdev.p, Var1 is array, var2 is array', async () => { - const result = await calculate('=SUBTOTAL(8,A1:B2,A3:F4)'); + it('Stdev.p, Var1 is array, var2 is array', () => { + const result = calculate('=SUBTOTAL(8,A1:B2,A3:F4)'); expect(result).toBe(29.668505203329676); }); - it('sum, Var1 is array, var2 is array', async () => { - const result = await calculate('=SUBTOTAL(9,A1:B2,A3:F4)'); + it('sum, Var1 is array, var2 is array', () => { + const result = calculate('=SUBTOTAL(9,A1:B2,A3:F4)'); expect(stripErrorMargin(Number(result))).toBe(111.57); }); - it('Var.s, Var1 is array, var2 is array', async () => { - const result = await calculate('=SUBTOTAL(10,A1:B2,A3:F4)'); + it('Var.s, Var1 is array, var2 is array', () => { + const result = calculate('=SUBTOTAL(10,A1:B2,A3:F4)'); expect(result).toBeCloseTo(978.0224456, 7); }); - it('Var.p, Var1 is array, var2 is array', async () => { - const result = await calculate('=SUBTOTAL(11,A1:B2,A3:F4)'); + it('Var.p, Var1 is array, var2 is array', () => { + const result = calculate('=SUBTOTAL(11,A1:B2,A3:F4)'); expect(stripErrorMargin(Number(result))).toBe(880.220201); }); }); describe('Subtotal every function, function number is array', () => { - it('Function num is array, var1 is array, var2 is array', async () => { - const result = await calculate('=SUBTOTAL(A1:B2,A1:B2,A3:F4)'); + it('Function num is array, var1 is array, var2 is array', () => { + const result = calculate('=SUBTOTAL(A1:B2,A1:B2,A3:F4)'); expect(result).toStrictEqual([[11.157, 10], [14, 100]]); }); }); describe('Subtotal every function, including hidden row', () => { - it('Function num is normal number, var1 is array', async () => { - let result = await calculate('=SUBTOTAL(101,A3:F4)'); + it('Function num is normal number, var1 is array', () => { + let result = calculate('=SUBTOTAL(101,A3:F4)'); expect(result).toBe(1.115); - result = await calculate('=SUBTOTAL(102,A3:F4)'); + result = calculate('=SUBTOTAL(102,A3:F4)'); expect(result).toBe(2); - result = await calculate('=SUBTOTAL(103,A3:F4)'); + result = calculate('=SUBTOTAL(103,A3:F4)'); expect(result).toBe(5); - result = await calculate('=SUBTOTAL(104,A3:F4)'); + result = calculate('=SUBTOTAL(104,A3:F4)'); expect(result).toBe(1.23); - result = await calculate('=SUBTOTAL(105,A3:F4)'); + result = calculate('=SUBTOTAL(105,A3:F4)'); expect(result).toBe(1); - result = await calculate('=SUBTOTAL(106,A3:F4)'); + result = calculate('=SUBTOTAL(106,A3:F4)'); expect(result).toBe(1.23); - result = await calculate('=SUBTOTAL(107,A3:F4)'); + result = calculate('=SUBTOTAL(107,A3:F4)'); expect(result).toBeCloseTo(0.16263456, 7); - result = await calculate('=SUBTOTAL(108,A3:F4)'); + result = calculate('=SUBTOTAL(108,A3:F4)'); expect(stripErrorMargin(Number(result))).toBe(0.115); - result = await calculate('=SUBTOTAL(109,A3:F4)'); + result = calculate('=SUBTOTAL(109,A3:F4)'); expect(result).toBe(2.23); - result = await calculate('=SUBTOTAL(110,A3:F4)'); + result = calculate('=SUBTOTAL(110,A3:F4)'); expect(stripErrorMargin(Number(result))).toBe(0.02645); - result = await calculate('=SUBTOTAL(111,A3:F4)'); + result = calculate('=SUBTOTAL(111,A3:F4)'); expect(stripErrorMargin(Number(result))).toBe(0.013225); }); }); From 433410cf52d6a9cdfa42c0e03c3d370828909968 Mon Sep 17 00:00:00 2001 From: Dushusir <1414556676@qq.com> Date: Fri, 21 Jun 2024 19:39:47 +0800 Subject: [PATCH 11/11] fix(formula): testFunction --- .../engine/analysis/__tests__/parser.spec.ts | 1 - .../date/date/__tests__/index.spec.ts | 18 ++++---- .../date/day/__tests__/index.spec.ts | 8 ++-- .../date/edate/__tests__/index.spec.ts | 12 +++--- .../date/month/__tests__/index.spec.ts | 8 ++-- .../date/today/__tests__/index.spec.ts | 4 +- .../date/year/__tests__/index.spec.ts | 8 ++-- .../isblank/__tests__/index.spec.ts | 16 +++---- .../information/iserr/__tests__/index.spec.ts | 6 +-- .../iserror/__tests__/index.spec.ts | 6 +-- .../islogical/__tests__/index.spec.ts | 6 +-- .../information/isna/__tests__/index.spec.ts | 6 +-- .../isnontext/__tests__/index.spec.ts | 6 +-- .../isnumber/__tests__/index.spec.ts | 6 +-- .../istext/__tests__/index.spec.ts | 6 +-- .../logical/and/__tests__/index.spec.ts | 20 ++++----- .../logical/if/__tests__/index.spec.ts | 30 ++++++------- .../logical/iferror/__tests__/index.spec.ts | 10 ++--- .../logical/makearray/__test__/index.spec.ts | 2 +- .../logical/or/__tests__/index.spec.ts | 20 ++++----- .../lookup/hlookup/__tests__/index.spec.ts | 26 ++++++------ .../lookup/indirect/__test__/index.spec.ts | 2 +- .../lookup/lookup/__tests__/index.spec.ts | 10 ++--- .../lookup/match/__tests__/index.spec.ts | 14 +++---- .../lookup/vlookup/__tests__/index.spec.ts | 42 +++++++++---------- .../lookup/xlookup/__tests__/index.spec.ts | 26 ++++++------ .../lookup/xmatch/__tests__/index.spec.ts | 24 +++++------ .../math/abs/__tests__/index.spec.ts | 8 ++-- .../math/acos/__tests__/index.spec.ts | 8 ++-- .../math/acosh/__tests__/index.spec.ts | 8 ++-- .../math/acot/__tests__/index.spec.ts | 8 ++-- .../math/mod/__tests__/index.spec.ts | 16 +++---- .../math/power/__tests__/index.spec.ts | 12 +++--- .../math/product/__tests__/index.spec.ts | 22 +++++----- .../math/sum/__tests__/index.spec.ts | 20 ++++----- .../math/sumif/__tests__/index.spec.ts | 8 ++-- .../math/sumifs/__tests__/index.spec.ts | 12 +++--- .../average/__tests__/index.spec.ts | 20 ++++----- .../statistical/count/__tests__/index.spec.ts | 22 +++++----- .../counta/__tests__/index.spec.ts | 22 +++++----- .../statistical/max/__tests__/index.spec.ts | 24 +++++------ .../maxifs/__tests__/index.spec.ts | 12 +++--- .../statistical/min/__tests__/index.spec.ts | 24 +++++------ .../stdev-p/__tests__/index.spec.ts | 24 +++++------ .../stdev-s/__tests__/index.spec.ts | 24 +++++------ .../stdeva/__tests__/index.spec.ts | 20 ++++----- .../stdevpa/__tests__/index.spec.ts | 20 ++++----- .../statistical/var-p/__tests__/index.spec.ts | 20 ++++----- .../statistical/var-s/__tests__/index.spec.ts | 20 ++++----- .../statistical/vara/__tests__/index.spec.ts | 20 ++++----- .../statistical/varpa/__tests__/index.spec.ts | 20 ++++----- .../text/concatenate/__tests__/index.spec.ts | 14 +++---- .../functions/text/len/__test__/index.spec.ts | 8 ++-- .../text/lenb/__test__/index.spec.ts | 8 ++-- .../text/lower/__test__/index.spec.ts | 10 ++--- .../text/text/__test__/index.spec.ts | 4 +- .../__test__/selection-render.test.ts | 1 - 57 files changed, 400 insertions(+), 402 deletions(-) diff --git a/packages/engine-formula/src/engine/analysis/__tests__/parser.spec.ts b/packages/engine-formula/src/engine/analysis/__tests__/parser.spec.ts index 63ee98552a..6b2d219b4b 100644 --- a/packages/engine-formula/src/engine/analysis/__tests__/parser.spec.ts +++ b/packages/engine-formula/src/engine/analysis/__tests__/parser.spec.ts @@ -36,7 +36,6 @@ import { Minus } from '../../../functions/meta/minus'; import { createCommandTestBed } from './create-command-test-bed'; describe('Test indirect', () => { - // const textFunction = new Makearray(FUNCTION_NAMES_LOGICAL.MAKEARRAY); let get: Injector['get']; let lexer: Lexer; let astTreeBuilder: AstTreeBuilder; diff --git a/packages/engine-formula/src/functions/date/date/__tests__/index.spec.ts b/packages/engine-formula/src/functions/date/date/__tests__/index.spec.ts index e4f74af8cc..ec934834eb 100644 --- a/packages/engine-formula/src/functions/date/date/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/date/date/__tests__/index.spec.ts @@ -23,35 +23,35 @@ import { ArrayValueObject, transformToValue, transformToValueObject } from '../. import { ErrorType } from '../../../../basics/error-type'; describe('Test date function', () => { - const textFunction = new DateFunction(FUNCTION_NAMES_DATE.DATE); + const testFunction = new DateFunction(FUNCTION_NAMES_DATE.DATE); describe('Date', () => { it('All value is normal', () => { const year = NumberValueObject.create(2024); const month = NumberValueObject.create(1); const day = NumberValueObject.create(1); - const result = textFunction.calculate(year, month, day); + const result = testFunction.calculate(year, month, day); expect(transformToValue(result.getArrayValue())).toStrictEqual([[45292]]); }); it('Edge case, 1900.1.1', () => { const year = NumberValueObject.create(1900); const month = NumberValueObject.create(1); const day = NumberValueObject.create(1); - const result = textFunction.calculate(year, month, day); + const result = testFunction.calculate(year, month, day); expect(transformToValue(result.getArrayValue())).toStrictEqual([[1]]); }); it('Edge case, 1900.1.0', () => { const year = NumberValueObject.create(1900); const month = NumberValueObject.create(1); const day = NumberValueObject.create(0); - const result = textFunction.calculate(year, month, day); + const result = testFunction.calculate(year, month, day); expect(transformToValue(result.getArrayValue())).toStrictEqual([[0]]); }); it('Edge case, 1900.1.-1', () => { const year = NumberValueObject.create(1900); const month = NumberValueObject.create(1); const day = NumberValueObject.create(-1); - const result = textFunction.calculate(year, month, day); + const result = testFunction.calculate(year, month, day); expect(transformToValue(result.getArrayValue())).toStrictEqual([[ErrorType.NUM]]); }); @@ -75,7 +75,7 @@ describe('Test date function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(year, month, day); + const result = testFunction.calculate(year, month, day); expect(transformToValue(result.getArrayValue())).toStrictEqual([[45294, 45295, 45296], [45325, 45326, 45327]]); }); @@ -94,7 +94,7 @@ describe('Test date function', () => { }); const month = NumberValueObject.create(1); const day = NumberValueObject.create(1); - const result = textFunction.calculate(year, month, day); + const result = testFunction.calculate(year, month, day); expect(transformToValue(result.getArrayValue())).toStrictEqual([[367, '#VALUE!', 367, 367, 1, 1, 6576], [1, 36526, 732, '#VALUE!', '#NUM!', 1, 39448]]); }); @@ -113,7 +113,7 @@ describe('Test date function', () => { column: 0, }); const day = NumberValueObject.create(1); - const result = textFunction.calculate(year, month, day); + const result = testFunction.calculate(year, month, day); expect(transformToValue(result.getArrayValue())).toStrictEqual([[45292, '#VALUE!', 45292, 45292, 45261, 45261], [45261, 48305, 45323, '#VALUE!', 45170, 45689]]); }); @@ -132,7 +132,7 @@ describe('Test date function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(year, month, day); + const result = testFunction.calculate(year, month, day); expect(transformToValue(result.getArrayValue())).toStrictEqual([[45292, '#VALUE!', 45292, 45292, 45291, 45291], [45291, 45391, 45293, '#VALUE!', 45288, 45323]]); }); }); diff --git a/packages/engine-formula/src/functions/date/day/__tests__/index.spec.ts b/packages/engine-formula/src/functions/date/day/__tests__/index.spec.ts index 37cd5e91ea..31035b94e7 100644 --- a/packages/engine-formula/src/functions/date/day/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/date/day/__tests__/index.spec.ts @@ -22,18 +22,18 @@ import { NumberValueObject, StringValueObject } from '../../../../engine/value-o import { ArrayValueObject, transformToValue, transformToValueObject } from '../../../../engine/value-object/array-value-object'; describe('Test day function', () => { - const textFunction = new Day(FUNCTION_NAMES_DATE.DAY); + const testFunction = new Day(FUNCTION_NAMES_DATE.DAY); describe('Day', () => { it('Serial number is normal', () => { const serialNumber = NumberValueObject.create(43832); - const result = textFunction.calculate(serialNumber); + const result = testFunction.calculate(serialNumber); expect(result.getValue()).toStrictEqual(2); }); it('Serial number is date string', () => { const serialNumber = StringValueObject.create('2020-01-02'); - const result = textFunction.calculate(serialNumber); + const result = testFunction.calculate(serialNumber); expect(result.getValue()).toStrictEqual(2); }); @@ -48,7 +48,7 @@ describe('Test day function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(serialNumber); + const result = testFunction.calculate(serialNumber); expect(transformToValue(result.getArrayValue())).toStrictEqual([[1, '#VALUE!', 1, 1, 0, 0], [0, 9, 2, '#VALUE!', '#NUM!', 14]]); }); }); diff --git a/packages/engine-formula/src/functions/date/edate/__tests__/index.spec.ts b/packages/engine-formula/src/functions/date/edate/__tests__/index.spec.ts index 70087da526..61f0980b8f 100644 --- a/packages/engine-formula/src/functions/date/edate/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/date/edate/__tests__/index.spec.ts @@ -22,13 +22,13 @@ import { NumberValueObject } from '../../../../engine/value-object/primitive-obj import { ArrayValueObject, transformToValue, transformToValueObject } from '../../../../engine/value-object/array-value-object'; describe('Test edate function', () => { - const textFunction = new Edate(FUNCTION_NAMES_DATE.EDATE); + const testFunction = new Edate(FUNCTION_NAMES_DATE.EDATE); describe('Edate', () => { it('All value is normal', () => { const startDate = NumberValueObject.create(43831); const months = NumberValueObject.create(1); - const result = textFunction.calculate(startDate, months); + const result = testFunction.calculate(startDate, months); expect(transformToValue(result.getArrayValue())).toStrictEqual([[43862]]); }); @@ -43,7 +43,7 @@ describe('Test edate function', () => { column: 0, }); const months = NumberValueObject.create(1); - const result = textFunction.calculate(startDate, months); + const result = testFunction.calculate(startDate, months); expect(transformToValue(result.getArrayValue())).toStrictEqual([[43863], [43864]]); }); @@ -61,7 +61,7 @@ describe('Test edate function', () => { column: 0, }); const months = NumberValueObject.create(1); - const result = textFunction.calculate(startDate, months); + const result = testFunction.calculate(startDate, months); expect(transformToValue(result.getArrayValue())).toStrictEqual([[32, '#VALUE!', 32, '#VALUE!', '#VALUE!', 31], [31, 130, 33, '#VALUE!', '#NUM!', 1931]]); }); @@ -76,7 +76,7 @@ describe('Test edate function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(startDate, months); + const result = testFunction.calculate(startDate, months); expect(transformToValue(result.getArrayValue())).toStrictEqual([[43862], [43891]]); }); @@ -92,7 +92,7 @@ describe('Test edate function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(startDate, months); + const result = testFunction.calculate(startDate, months); expect(transformToValue(result.getArrayValue())).toStrictEqual([[43862, '#VALUE!', 43862, '#VALUE!', '#VALUE!', 43831], [43831, 46874, 43891, '#VALUE!', 43739, 101660]]); }); }); diff --git a/packages/engine-formula/src/functions/date/month/__tests__/index.spec.ts b/packages/engine-formula/src/functions/date/month/__tests__/index.spec.ts index 935d766122..44a7f1db64 100644 --- a/packages/engine-formula/src/functions/date/month/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/date/month/__tests__/index.spec.ts @@ -22,18 +22,18 @@ import { NumberValueObject, StringValueObject } from '../../../../engine/value-o import { ArrayValueObject, transformToValue, transformToValueObject } from '../../../../engine/value-object/array-value-object'; describe('Test month function', () => { - const textFunction = new Month(FUNCTION_NAMES_DATE.MONTH); + const testFunction = new Month(FUNCTION_NAMES_DATE.MONTH); describe('Month', () => { it('Serial number is normal', () => { const serialNumber = NumberValueObject.create(43831); - const result = textFunction.calculate(serialNumber); + const result = testFunction.calculate(serialNumber); expect(result.getValue()).toStrictEqual(1); }); it('Serial number is date string', () => { const serialNumber = StringValueObject.create('2020-01-02'); - const result = textFunction.calculate(serialNumber); + const result = testFunction.calculate(serialNumber); expect(result.getValue()).toStrictEqual(1); }); @@ -48,7 +48,7 @@ describe('Test month function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(serialNumber); + const result = testFunction.calculate(serialNumber); expect(transformToValue(result.getArrayValue())).toStrictEqual([[1, '#VALUE!', 1, 1, 1, 1], [1, 4, 1, '#VALUE!', '#NUM!', 3]]); }); }); diff --git a/packages/engine-formula/src/functions/date/today/__tests__/index.spec.ts b/packages/engine-formula/src/functions/date/today/__tests__/index.spec.ts index ee3549f94e..0f1bdf8fb4 100644 --- a/packages/engine-formula/src/functions/date/today/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/date/today/__tests__/index.spec.ts @@ -35,11 +35,11 @@ global.Date = vi.fn((...params) => { global.Date.UTC = _Date.UTC; describe('Test today function', () => { - const textFunction = new Today(FUNCTION_NAMES_DATE.TODAY); + const testFunction = new Today(FUNCTION_NAMES_DATE.TODAY); describe('Today', () => { it('Normal', () => { - const result = textFunction.calculate(); + const result = testFunction.calculate(); expect(result.getValue()).toBe(43831); }); }); diff --git a/packages/engine-formula/src/functions/date/year/__tests__/index.spec.ts b/packages/engine-formula/src/functions/date/year/__tests__/index.spec.ts index 60ccf7531b..78afd0c434 100644 --- a/packages/engine-formula/src/functions/date/year/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/date/year/__tests__/index.spec.ts @@ -22,17 +22,17 @@ import { NumberValueObject, StringValueObject } from '../../../../engine/value-o import { ArrayValueObject, transformToValue, transformToValueObject } from '../../../../engine/value-object/array-value-object'; describe('Test year function', () => { - const textFunction = new Year(FUNCTION_NAMES_DATE.YEAR); + const testFunction = new Year(FUNCTION_NAMES_DATE.YEAR); describe('Year', () => { it('Serial number is normal', () => { const serialNumber = NumberValueObject.create(43831); - const result = textFunction.calculate(serialNumber); + const result = testFunction.calculate(serialNumber); expect(result.getValue()).toStrictEqual(2020); }); it('Serial number is date string', () => { const serialNumber = StringValueObject.create('2020-01-02'); - const result = textFunction.calculate(serialNumber); + const result = testFunction.calculate(serialNumber); expect(result.getValue()).toStrictEqual(2020); }); @@ -47,7 +47,7 @@ describe('Test year function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(serialNumber); + const result = testFunction.calculate(serialNumber); expect(transformToValue(result.getArrayValue())).toStrictEqual([[1900, '#VALUE!', 1900, 1900, 1900, 1900], [1900, 1900, 1900, '#VALUE!', '#NUM!', 1905]]); }); }); diff --git a/packages/engine-formula/src/functions/information/isblank/__tests__/index.spec.ts b/packages/engine-formula/src/functions/information/isblank/__tests__/index.spec.ts index 4ef33eb1b1..bc5d373949 100644 --- a/packages/engine-formula/src/functions/information/isblank/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/information/isblank/__tests__/index.spec.ts @@ -24,42 +24,42 @@ import { ErrorType } from '../../../../basics/error-type'; import { Isblank } from '../index'; describe('Test isblank function', () => { - const textFunction = new Isblank(FUNCTION_NAMES_INFORMATION.ISBLANK); + const testFunction = new Isblank(FUNCTION_NAMES_INFORMATION.ISBLANK); describe('Isblank', () => { it('value null', () => { const value = NullValueObject.create(); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe(true); }); it('value error', () => { const value = ErrorValueObject.create(ErrorType.NA); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe(false); }); it('value boolean', () => { const value = BooleanValueObject.create(true); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe(false); }); it('value string', () => { const value = StringValueObject.create('a1'); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe(false); }); it('value number 1', () => { const value = NumberValueObject.create(1); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe(false); }); it('value number 0', () => { const value = NumberValueObject.create(0); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe(false); }); @@ -76,7 +76,7 @@ describe('Test isblank function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(transformToValue(result.getArrayValue())).toStrictEqual([ [false], [true], diff --git a/packages/engine-formula/src/functions/information/iserr/__tests__/index.spec.ts b/packages/engine-formula/src/functions/information/iserr/__tests__/index.spec.ts index 85a070467b..5ccf41b985 100644 --- a/packages/engine-formula/src/functions/information/iserr/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/information/iserr/__tests__/index.spec.ts @@ -23,12 +23,12 @@ import { ErrorType } from '../../../../basics/error-type'; import { Iserr } from '../index'; describe('Test iserr function', () => { - const textFunction = new Iserr(FUNCTION_NAMES_INFORMATION.ISERR); + const testFunction = new Iserr(FUNCTION_NAMES_INFORMATION.ISERR); describe('Iserr', () => { it('value error', () => { const value = ErrorValueObject.create(ErrorType.NA); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe(false); }); @@ -45,7 +45,7 @@ describe('Test iserr function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(transformToValue(result.getArrayValue())).toStrictEqual([ [false, false, false, false, false, false, false, true, true, true], [false, false, false, false, false, true, true, true, true, false], diff --git a/packages/engine-formula/src/functions/information/iserror/__tests__/index.spec.ts b/packages/engine-formula/src/functions/information/iserror/__tests__/index.spec.ts index acc13143d5..41840b8f87 100644 --- a/packages/engine-formula/src/functions/information/iserror/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/information/iserror/__tests__/index.spec.ts @@ -23,12 +23,12 @@ import { ErrorType } from '../../../../basics/error-type'; import { Iserror } from '../index'; describe('Test iserror function', () => { - const textFunction = new Iserror(FUNCTION_NAMES_INFORMATION.ISERROR); + const testFunction = new Iserror(FUNCTION_NAMES_INFORMATION.ISERROR); describe('Iserror', () => { it('value error', () => { const value = ErrorValueObject.create(ErrorType.NA); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe(true); }); @@ -45,7 +45,7 @@ describe('Test iserror function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(transformToValue(result.getArrayValue())).toStrictEqual([ [false, false, false, false, false, false, true, true, true, true], [false, false, false, false, false, true, true, true, true, false], diff --git a/packages/engine-formula/src/functions/information/islogical/__tests__/index.spec.ts b/packages/engine-formula/src/functions/information/islogical/__tests__/index.spec.ts index ba5524f278..117f6edcef 100644 --- a/packages/engine-formula/src/functions/information/islogical/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/information/islogical/__tests__/index.spec.ts @@ -23,12 +23,12 @@ import { Islogical } from '../index'; import { BooleanValueObject } from '../../../../engine/value-object/primitive-object'; describe('Test islogical function', () => { - const textFunction = new Islogical(FUNCTION_NAMES_INFORMATION.ISLOGICAL); + const testFunction = new Islogical(FUNCTION_NAMES_INFORMATION.ISLOGICAL); describe('Islogical', () => { it('value logical', () => { const value = BooleanValueObject.create(true); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe(true); }); @@ -45,7 +45,7 @@ describe('Test islogical function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(transformToValue(result.getArrayValue())).toStrictEqual([ [false, false, false, true, true, false, false, false, false, false], [false, false, false, false, false, false, false, false, false, false], diff --git a/packages/engine-formula/src/functions/information/isna/__tests__/index.spec.ts b/packages/engine-formula/src/functions/information/isna/__tests__/index.spec.ts index 890d9cabd1..42c3c87e85 100644 --- a/packages/engine-formula/src/functions/information/isna/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/information/isna/__tests__/index.spec.ts @@ -23,12 +23,12 @@ import { ErrorType } from '../../../../basics/error-type'; import { Isna } from '../index'; describe('Test isna function', () => { - const textFunction = new Isna(FUNCTION_NAMES_INFORMATION.ISNA); + const testFunction = new Isna(FUNCTION_NAMES_INFORMATION.ISNA); describe('Isna', () => { it('value error', () => { const value = ErrorValueObject.create(ErrorType.NA); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe(true); }); @@ -45,7 +45,7 @@ describe('Test isna function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(transformToValue(result.getArrayValue())).toStrictEqual([ [false, false, false, false, false, false, true, false, false, false], [false, false, false, false, false, false, false, false, false, false], diff --git a/packages/engine-formula/src/functions/information/isnontext/__tests__/index.spec.ts b/packages/engine-formula/src/functions/information/isnontext/__tests__/index.spec.ts index e8a19ae363..71bfb8bc69 100644 --- a/packages/engine-formula/src/functions/information/isnontext/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/information/isnontext/__tests__/index.spec.ts @@ -23,12 +23,12 @@ import { Isnontext } from '../index'; import { StringValueObject } from '../../../../engine/value-object/primitive-object'; describe('Test isnontext function', () => { - const textFunction = new Isnontext(FUNCTION_NAMES_INFORMATION.ISNONTEXT); + const testFunction = new Isnontext(FUNCTION_NAMES_INFORMATION.ISNONTEXT); describe('Isnontext', () => { it('value text', () => { const value = StringValueObject.create('test'); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe(false); }); @@ -45,7 +45,7 @@ describe('Test isnontext function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(transformToValue(result.getArrayValue())).toStrictEqual([ [true, false, true, true, true, true, true, true, true, true], [true, true, true, false, true, true, true, true, true, true], diff --git a/packages/engine-formula/src/functions/information/isnumber/__tests__/index.spec.ts b/packages/engine-formula/src/functions/information/isnumber/__tests__/index.spec.ts index 15b7b4f183..8891bbfdab 100644 --- a/packages/engine-formula/src/functions/information/isnumber/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/information/isnumber/__tests__/index.spec.ts @@ -23,12 +23,12 @@ import { Isnumber } from '../index'; import { NumberValueObject } from '../../../../engine/value-object/primitive-object'; describe('Test isnumber function', () => { - const textFunction = new Isnumber(FUNCTION_NAMES_INFORMATION.ISNUMBER); + const testFunction = new Isnumber(FUNCTION_NAMES_INFORMATION.ISNUMBER); describe('Isnumber', () => { it('value number', () => { const value = NumberValueObject.create(1); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe(true); }); @@ -45,7 +45,7 @@ describe('Test isnumber function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(transformToValue(result.getArrayValue())).toStrictEqual([ [true, false, true, false, false, false, false, false, false, false], [true, true, true, false, true, false, false, false, false, false], diff --git a/packages/engine-formula/src/functions/information/istext/__tests__/index.spec.ts b/packages/engine-formula/src/functions/information/istext/__tests__/index.spec.ts index 1a0f80a3fc..3cad2aa8d5 100644 --- a/packages/engine-formula/src/functions/information/istext/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/information/istext/__tests__/index.spec.ts @@ -23,12 +23,12 @@ import { Istext } from '../index'; import { StringValueObject } from '../../../../engine/value-object/primitive-object'; describe('Test istext function', () => { - const textFunction = new Istext(FUNCTION_NAMES_INFORMATION.ISTEXT); + const testFunction = new Istext(FUNCTION_NAMES_INFORMATION.ISTEXT); describe('Istext', () => { it('value text', () => { const value = StringValueObject.create('test'); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe(true); }); @@ -45,7 +45,7 @@ describe('Test istext function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(transformToValue(result.getArrayValue())).toStrictEqual([ [false, true, false, false, false, false, false, false, false, false], [false, false, false, true, false, false, false, false, false, false], diff --git a/packages/engine-formula/src/functions/logical/and/__tests__/index.spec.ts b/packages/engine-formula/src/functions/logical/and/__tests__/index.spec.ts index d0ffe0fb7e..e88090a5f3 100644 --- a/packages/engine-formula/src/functions/logical/and/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/logical/and/__tests__/index.spec.ts @@ -22,42 +22,42 @@ import { ArrayValueObject, transformToValueObject } from '../../../../engine/val import { BooleanValueObject, NullValueObject, NumberValueObject, StringValueObject } from '../../../../engine/value-object/primitive-object'; describe('Test and function', () => { - const textFunction = new And(FUNCTION_NAMES_LOGICAL.AND); + const testFunction = new And(FUNCTION_NAMES_LOGICAL.AND); describe('And', () => { it('logical1 string', () => { const logical1 = StringValueObject.create('a1'); - const result = textFunction.calculate(logical1); + const result = testFunction.calculate(logical1); expect(result.getValue()).toBe('#VALUE!'); }); it('logical1 number 1', () => { const logical1 = NumberValueObject.create(1); - const result = textFunction.calculate(logical1); + const result = testFunction.calculate(logical1); expect(result.getValue()).toBe(true); }); it('logical1 number 0', () => { const logical1 = NumberValueObject.create(0); - const result = textFunction.calculate(logical1); + const result = testFunction.calculate(logical1); expect(result.getValue()).toBe(false); }); it('logical1 null', () => { const logical1 = NullValueObject.create(); - const result = textFunction.calculate(logical1); + const result = testFunction.calculate(logical1); expect(result.getValue()).toBe('#VALUE!'); }); it('logical1 true', () => { const logical1 = BooleanValueObject.create(true); - const result = textFunction.calculate(logical1); + const result = testFunction.calculate(logical1); expect(result.getValue()).toBe(true); }); it('logical2 false', () => { const logical1 = BooleanValueObject.create(true); const logical2 = BooleanValueObject.create(false); - const result = textFunction.calculate(logical1, logical2); + const result = testFunction.calculate(logical1, logical2); expect(result.getValue()).toBe(false); }); @@ -74,7 +74,7 @@ describe('Test and function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(logical1); + const result = testFunction.calculate(logical1); expect(result.getValue()).toBe('#VALUE!'); }); @@ -103,7 +103,7 @@ describe('Test and function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(logical1, logical2); + const result = testFunction.calculate(logical1, logical2); expect(result.getValue()).toBe(true); }); @@ -132,7 +132,7 @@ describe('Test and function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(logical1, logical2); + const result = testFunction.calculate(logical1, logical2); expect(result.getValue()).toBe('#NAME?'); }); }); diff --git a/packages/engine-formula/src/functions/logical/if/__tests__/index.spec.ts b/packages/engine-formula/src/functions/logical/if/__tests__/index.spec.ts index af7d039162..57aeba6cef 100644 --- a/packages/engine-formula/src/functions/logical/if/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/logical/if/__tests__/index.spec.ts @@ -22,13 +22,13 @@ import { ArrayValueObject, transformToValue, transformToValueObject } from '../. import { BooleanValueObject, NumberValueObject, StringValueObject } from '../../../../engine/value-object/primitive-object'; describe('Test if function', () => { - const textFunction = new If(FUNCTION_NAMES_LOGICAL.IF); + const testFunction = new If(FUNCTION_NAMES_LOGICAL.IF); describe('If', () => { it('LogicalTest and valueIfTrue', () => { const logicTest = BooleanValueObject.create(true); const valueIfTrue = NumberValueObject.create(1); - const result = textFunction.calculate(logicTest, valueIfTrue); + const result = testFunction.calculate(logicTest, valueIfTrue); expect(result.getValue()).toBe(1); }); @@ -36,7 +36,7 @@ describe('Test if function', () => { const logicTest = BooleanValueObject.create(false); const valueIfTrue = NumberValueObject.create(1); const valueIfFalse = NumberValueObject.create(2); - const result = textFunction.calculate(logicTest, valueIfTrue, valueIfFalse); + const result = testFunction.calculate(logicTest, valueIfTrue, valueIfFalse); expect(result.getValue()).toBe(2); }); @@ -55,7 +55,7 @@ describe('Test if function', () => { column: 0, }); const valueIfTrue = NumberValueObject.create(1); - const result = textFunction.calculate(logicTest, valueIfTrue); + const result = testFunction.calculate(logicTest, valueIfTrue); expect(transformToValue(result.getArrayValue())).toStrictEqual([ [false], [1], @@ -78,7 +78,7 @@ describe('Test if function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(logicTest, valueIfTrue); + const result = testFunction.calculate(logicTest, valueIfTrue); expect(transformToValue(result.getArrayValue())).toStrictEqual([ [1], [2], @@ -100,7 +100,7 @@ describe('Test if function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(logicTest, valueIfTrue); + const result = testFunction.calculate(logicTest, valueIfTrue); expect(result.getValue()).toBe(false); }); @@ -120,7 +120,7 @@ describe('Test if function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(logicTest, valueIfTrue, valueIfFalse); + const result = testFunction.calculate(logicTest, valueIfTrue, valueIfFalse); expect(transformToValue(result.getArrayValue())).toStrictEqual([ [1], [2], @@ -158,7 +158,7 @@ describe('Test if function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(logicTest, valueIfTrue); + const result = testFunction.calculate(logicTest, valueIfTrue); expect(transformToValue(result.getArrayValue())).toStrictEqual([ [1], [false], @@ -199,7 +199,7 @@ describe('Test if function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(logicTest, valueIfTrue, valueIfFalse); + const result = testFunction.calculate(logicTest, valueIfTrue, valueIfFalse); expect(transformToValue(result.getArrayValue())).toStrictEqual([ ['yes'], [2], @@ -241,7 +241,7 @@ describe('Test if function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(logicTest, valueIfTrue, valueIfFalse); + const result = testFunction.calculate(logicTest, valueIfTrue, valueIfFalse); expect(transformToValue(result.getArrayValue())).toStrictEqual([ [1], [2], @@ -298,7 +298,7 @@ describe('Test if function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(logicTest, valueIfTrue, valueIfFalse); + const result = testFunction.calculate(logicTest, valueIfTrue, valueIfFalse); expect(transformToValue(result.getArrayValue())).toStrictEqual([ [1], [7], @@ -346,7 +346,7 @@ describe('Test if function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(logicTest, valueIfTrue, valueIfFalse); + const result = testFunction.calculate(logicTest, valueIfTrue, valueIfFalse); expect(transformToValue(result.getArrayValue())).toStrictEqual([ ['no1', 'yes2', '#N/A', '#N/A'], ['yes1', 'yes2', '#N/A', '#N/A'], @@ -396,7 +396,7 @@ describe('Test if function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(logicTest, valueIfTrue, valueIfFalse); + const result = testFunction.calculate(logicTest, valueIfTrue, valueIfFalse); expect(transformToValue(result.getArrayValue())).toStrictEqual([ ['no1', 'no2', 'no3', '#N/A'], ['yes2', 'yes3', 'yes4', 'yes5'], @@ -446,7 +446,7 @@ describe('Test if function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(logicTest, valueIfTrue, valueIfFalse); + const result = testFunction.calculate(logicTest, valueIfTrue, valueIfFalse); expect(transformToValue(result.getArrayValue())).toStrictEqual([ ['no1', 'yes2', '#N/A', '#N/A'], ['no2', 'yes3', '#N/A', '#N/A'], @@ -493,7 +493,7 @@ describe('Test if function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(logicTest, valueIfTrue, valueIfFalse); + const result = testFunction.calculate(logicTest, valueIfTrue, valueIfFalse); expect(transformToValue(result.getArrayValue())).toStrictEqual([ ['no1', 'no2', 'no3', '#N/A'], ['yes1', 'yes2', 'yes3', 'yes4'], diff --git a/packages/engine-formula/src/functions/logical/iferror/__tests__/index.spec.ts b/packages/engine-formula/src/functions/logical/iferror/__tests__/index.spec.ts index 50303a2b3a..9a12cce2a7 100644 --- a/packages/engine-formula/src/functions/logical/iferror/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/logical/iferror/__tests__/index.spec.ts @@ -24,20 +24,20 @@ import { ErrorValueObject } from '../../../../engine/value-object/base-value-obj import { ErrorType } from '../../../../basics/error-type'; describe('Test iferror function', () => { - const textFunction = new Iferror(FUNCTION_NAMES_LOGICAL.IFERROR); + const testFunction = new Iferror(FUNCTION_NAMES_LOGICAL.IFERROR); describe('Iferror', () => { it('Value is normal', () => { const value = NumberValueObject.create(1); const valueIfError = StringValueObject.create('error'); - const result = textFunction.calculate(value, valueIfError); + const result = testFunction.calculate(value, valueIfError); expect(result.getValue()).toBe(1); }); it('Value is error', () => { const value = ErrorValueObject.create(ErrorType.NA); const valueIfError = StringValueObject.create('error'); - const result = textFunction.calculate(value, valueIfError); + const result = testFunction.calculate(value, valueIfError); expect(result.getValue()).toBe(ErrorType.NA); }); @@ -56,7 +56,7 @@ describe('Test iferror function', () => { column: 0, }); const valueIfError = StringValueObject.create('error'); - const result = textFunction.calculate(value, valueIfError); + const result = testFunction.calculate(value, valueIfError); expect(transformToValue(result.getArrayValue())).toStrictEqual([ [1], ['error'], @@ -89,7 +89,7 @@ describe('Test iferror function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(value, valueIfError); + const result = testFunction.calculate(value, valueIfError); expect(transformToValue(result.getArrayValue())).toStrictEqual([[1, 1, 1], ['a1', 'a2', 'a3'], ['a1', 'a2', 'a3']]); }); }); diff --git a/packages/engine-formula/src/functions/logical/makearray/__test__/index.spec.ts b/packages/engine-formula/src/functions/logical/makearray/__test__/index.spec.ts index 57b5427348..0055ba506c 100644 --- a/packages/engine-formula/src/functions/logical/makearray/__test__/index.spec.ts +++ b/packages/engine-formula/src/functions/logical/makearray/__test__/index.spec.ts @@ -33,7 +33,7 @@ import { Makearray } from '../index'; import type { BaseValueObject } from '../../../../engine/value-object/base-value-object'; describe('Test makearray', () => { - // const textFunction = new Makearray(FUNCTION_NAMES_LOGICAL.MAKEARRAY); + // const testFunction = new Makearray(FUNCTION_NAMES_LOGICAL.MAKEARRAY); let get: Injector['get']; let lexer: Lexer; let astTreeBuilder: AstTreeBuilder; diff --git a/packages/engine-formula/src/functions/logical/or/__tests__/index.spec.ts b/packages/engine-formula/src/functions/logical/or/__tests__/index.spec.ts index 186cbb90b0..c71db99a84 100644 --- a/packages/engine-formula/src/functions/logical/or/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/logical/or/__tests__/index.spec.ts @@ -23,42 +23,42 @@ import { ErrorType } from '../../../../basics/error-type'; import { Or } from '../index'; describe('Test or function', () => { - const textFunction = new Or(FUNCTION_NAMES_LOGICAL.OR); + const testFunction = new Or(FUNCTION_NAMES_LOGICAL.OR); describe('Or', () => { it('logical1 string', () => { const logical1 = StringValueObject.create('a1'); - const result = textFunction.calculate(logical1); + const result = testFunction.calculate(logical1); expect(result.getValue()).toBe(ErrorType.VALUE); }); it('logical1 number 1', () => { const logical1 = NumberValueObject.create(1); - const result = textFunction.calculate(logical1); + const result = testFunction.calculate(logical1); expect(result.getValue()).toBe(true); }); it('logical1 number 0', () => { const logical1 = NumberValueObject.create(0); - const result = textFunction.calculate(logical1); + const result = testFunction.calculate(logical1); expect(result.getValue()).toBe(false); }); it('logical1 null', () => { const logical1 = NullValueObject.create(); - const result = textFunction.calculate(logical1); + const result = testFunction.calculate(logical1); expect(result.getValue()).toBe(ErrorType.VALUE); }); it('logical1 true', () => { const logical1 = BooleanValueObject.create(true); - const result = textFunction.calculate(logical1); + const result = testFunction.calculate(logical1); expect(result.getValue()).toBe(true); }); it('logical2 false', () => { const logical1 = BooleanValueObject.create(true); const logical2 = BooleanValueObject.create(false); - const result = textFunction.calculate(logical1, logical2); + const result = testFunction.calculate(logical1, logical2); expect(result.getValue()).toBe(true); }); @@ -75,7 +75,7 @@ describe('Test or function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(logical1); + const result = testFunction.calculate(logical1); expect(result.getValue()).toBe(ErrorType.VALUE); }); @@ -104,7 +104,7 @@ describe('Test or function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(logical1, logical2); + const result = testFunction.calculate(logical1, logical2); expect(result.getValue()).toBe(true); }); @@ -133,7 +133,7 @@ describe('Test or function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(logical1, logical2); + const result = testFunction.calculate(logical1, logical2); expect(result.getValue()).toBe('#NAME?'); }); }); diff --git a/packages/engine-formula/src/functions/lookup/hlookup/__tests__/index.spec.ts b/packages/engine-formula/src/functions/lookup/hlookup/__tests__/index.spec.ts index 347f193d41..46c0d599d6 100644 --- a/packages/engine-formula/src/functions/lookup/hlookup/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/lookup/hlookup/__tests__/index.spec.ts @@ -39,11 +39,11 @@ const matchArrayValueObject = ArrayValueObject.create(/*ts*/ `{ }`); describe('Test hlookup', () => { - const textFunction = new Hlookup(FUNCTION_NAMES_LOOKUP.HLOOKUP); + const testFunction = new Hlookup(FUNCTION_NAMES_LOOKUP.HLOOKUP); describe('Exact match', () => { it('Search two', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(2), arrayValueObject1.clone(), NumberValueObject.create(2), @@ -53,7 +53,7 @@ describe('Test hlookup', () => { }); it('Search eight', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(8), arrayValueObject1.clone(), NumberValueObject.create(2), @@ -63,7 +63,7 @@ describe('Test hlookup', () => { }); it('Exceeding columns', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(8), arrayValueObject1.clone(), NumberValueObject.create(3), @@ -73,7 +73,7 @@ describe('Test hlookup', () => { }); it('Not match', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(100), arrayValueObject1.clone(), NumberValueObject.create(2), @@ -83,7 +83,7 @@ describe('Test hlookup', () => { }); it('array', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( matchArrayValueObject.clone(), arrayValueObject1.clone(), NumberValueObject.create(2), @@ -98,7 +98,7 @@ describe('Test hlookup', () => { describe('Approximate match', () => { it('Approximate search two', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(2), arrayValueObject1.clone(), NumberValueObject.create(2), @@ -108,7 +108,7 @@ describe('Test hlookup', () => { }); it('Approximate search eight', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(8), arrayValueObject1.clone(), NumberValueObject.create(2) @@ -117,7 +117,7 @@ describe('Test hlookup', () => { }); it('Approximate exceeding columns', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(8), arrayValueObject1.clone(), NumberValueObject.create(3) @@ -126,7 +126,7 @@ describe('Test hlookup', () => { }); it('Approximate not match', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(100), arrayValueObject1.clone(), NumberValueObject.create(2), @@ -136,7 +136,7 @@ describe('Test hlookup', () => { }); it('Approximate not order data', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(2), arrayValueObject2.clone(), NumberValueObject.create(2), @@ -146,7 +146,7 @@ describe('Test hlookup', () => { }); it('Approximate not order data match', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(8), arrayValueObject2.clone(), NumberValueObject.create(2) @@ -156,7 +156,7 @@ describe('Test hlookup', () => { }); describe('Error', () => { it('TableArray is number', () => { - const result = textFunction.calculate( + const result = testFunction.calculate( NumberValueObject.create(1), NumberValueObject.create(1), NumberValueObject.create(1) diff --git a/packages/engine-formula/src/functions/lookup/indirect/__test__/index.spec.ts b/packages/engine-formula/src/functions/lookup/indirect/__test__/index.spec.ts index 34b2492c6b..21da987814 100644 --- a/packages/engine-formula/src/functions/lookup/indirect/__test__/index.spec.ts +++ b/packages/engine-formula/src/functions/lookup/indirect/__test__/index.spec.ts @@ -35,7 +35,7 @@ import { FUNCTION_NAMES_LOOKUP } from '../../function-names'; import { Indirect } from '../index'; describe('Test indirect', () => { - // const textFunction = new Makearray(FUNCTION_NAMES_LOGICAL.MAKEARRAY); + // const testFunction = new Makearray(FUNCTION_NAMES_LOGICAL.MAKEARRAY); let get: Injector['get']; let lexer: Lexer; let astTreeBuilder: AstTreeBuilder; diff --git a/packages/engine-formula/src/functions/lookup/lookup/__tests__/index.spec.ts b/packages/engine-formula/src/functions/lookup/lookup/__tests__/index.spec.ts index 07a089ce40..a20a1054ac 100644 --- a/packages/engine-formula/src/functions/lookup/lookup/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/lookup/lookup/__tests__/index.spec.ts @@ -63,11 +63,11 @@ const matchArrayValueObject = ArrayValueObject.create(/*ts*/ `{ }`); describe('Test vlookup', () => { - const textFunction = new Lookup(FUNCTION_NAMES_LOOKUP.LOOKUP); + const testFunction = new Lookup(FUNCTION_NAMES_LOOKUP.LOOKUP); describe('Vector', () => { it('Search eight', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(8), arrayValueObject2, arrayValueObject3 @@ -76,7 +76,7 @@ describe('Test vlookup', () => { }); it('Exceeding columns', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(11), arrayValueObject2, arrayValueObject3 @@ -85,7 +85,7 @@ describe('Test vlookup', () => { }); it('Match string', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( StringValueObject.create('999'), arrayValueObject2, arrayValueObject3 @@ -96,7 +96,7 @@ describe('Test vlookup', () => { describe('Array', () => { it('Search two', async () => { - const resultObject = textFunction.calculate(NumberValueObject.create(2), arrayValueObject1) as BaseValueObject; + const resultObject = testFunction.calculate(NumberValueObject.create(2), arrayValueObject1) as BaseValueObject; expect(resultObject.getValue().toString()).toBe('Second'); }); }); diff --git a/packages/engine-formula/src/functions/lookup/match/__tests__/index.spec.ts b/packages/engine-formula/src/functions/lookup/match/__tests__/index.spec.ts index ba6730ca2c..2857b94d04 100644 --- a/packages/engine-formula/src/functions/lookup/match/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/lookup/match/__tests__/index.spec.ts @@ -25,7 +25,7 @@ import { Match } from '../index'; import { ErrorType } from '../../../../basics/error-type'; describe('Test match', () => { - const textFunction = new Match(FUNCTION_NAMES_LOOKUP.MATCH); + const testFunction = new Match(FUNCTION_NAMES_LOOKUP.MATCH); describe('The value of the match', () => { it('LookupArray asc, default matchType', async () => { @@ -42,7 +42,7 @@ describe('Test match', () => { column: 0, }); - const resultObject = textFunction.calculate(lookupValue, lookupArray); + const resultObject = testFunction.calculate(lookupValue, lookupArray); expect(resultObject.getValue()).toBe(2); }); it('LookupArray asc, matchType is 1', async () => { @@ -60,7 +60,7 @@ describe('Test match', () => { }); const matchType = NumberValueObject.create(1); - const resultObject = textFunction.calculate(lookupValue, lookupArray, matchType); + const resultObject = testFunction.calculate(lookupValue, lookupArray, matchType); expect(resultObject.getValue()).toBe(2); }); it('LookupArray desc, matchType is 1', async () => { @@ -78,7 +78,7 @@ describe('Test match', () => { }); const matchType = NumberValueObject.create(1); - const resultObject = textFunction.calculate(lookupValue, lookupArray, matchType); + const resultObject = testFunction.calculate(lookupValue, lookupArray, matchType); // FIXME: fix this test // expect(resultObject.getValue()).toBe(ErrorType.NA); @@ -99,7 +99,7 @@ describe('Test match', () => { }); const matchType = NumberValueObject.create(0); - const resultObject = textFunction.calculate(lookupValue, lookupArray, matchType); + const resultObject = testFunction.calculate(lookupValue, lookupArray, matchType); expect(resultObject.getValue()).toBe(ErrorType.NA); }); @@ -118,7 +118,7 @@ describe('Test match', () => { }); const matchType = NumberValueObject.create(-1); - const resultObject = textFunction.calculate(lookupValue, lookupArray, matchType); + const resultObject = testFunction.calculate(lookupValue, lookupArray, matchType); // FIXME: fix this test // expect(resultObject.getValue()).toBe(ErrorType.NA); @@ -138,7 +138,7 @@ describe('Test match', () => { }); const matchType = NumberValueObject.create(-1); - const resultObject = textFunction.calculate(lookupValue, lookupArray, matchType); + const resultObject = testFunction.calculate(lookupValue, lookupArray, matchType); expect(resultObject.getValue()).toBe(2); }); diff --git a/packages/engine-formula/src/functions/lookup/vlookup/__tests__/index.spec.ts b/packages/engine-formula/src/functions/lookup/vlookup/__tests__/index.spec.ts index 79f8d9ceeb..b56e4016b3 100644 --- a/packages/engine-formula/src/functions/lookup/vlookup/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/lookup/vlookup/__tests__/index.spec.ts @@ -81,11 +81,11 @@ const rangeLookupArrayValueObject = ArrayValueObject.create(/*ts*/ `{ }`); describe('Test vlookup', () => { - const textFunction = new Vlookup(FUNCTION_NAMES_LOOKUP.VLOOKUP); + const testFunction = new Vlookup(FUNCTION_NAMES_LOOKUP.VLOOKUP); describe('Exact match', () => { it('Search two', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(2), arrayValueObject1.clone(), NumberValueObject.create(2), @@ -95,7 +95,7 @@ describe('Test vlookup', () => { }); it('Search eight', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(8), arrayValueObject1.clone(), NumberValueObject.create(2), @@ -105,7 +105,7 @@ describe('Test vlookup', () => { }); it('Exceeding columns', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(8), arrayValueObject1.clone(), NumberValueObject.create(3), @@ -115,7 +115,7 @@ describe('Test vlookup', () => { }); it('Not match', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(100), arrayValueObject1.clone(), NumberValueObject.create(2), @@ -125,7 +125,7 @@ describe('Test vlookup', () => { }); it('LookupValue is array, colIndexNum is single cell', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( matchArrayValueObject.clone(), arrayValueObject1.clone(), NumberValueObject.create(2), @@ -139,7 +139,7 @@ describe('Test vlookup', () => { }); it('LookupValue is single cell, colIndexNum is array', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(2), arrayValueObject1.clone(), colIndexNumArrayValueObject.clone(), @@ -151,7 +151,7 @@ describe('Test vlookup', () => { }); it('LookupValue is single cell, colIndexNum is array and gets colIndexNum error', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(2), arrayValueObject1.clone(), colIndexNumArrayValueObject2.clone(), @@ -161,7 +161,7 @@ describe('Test vlookup', () => { }); it('LookupValue is single cell, colIndexNum is array and gets lookupValue error', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( StringValueObject.create('lookupValue'), arrayValueObject1.clone(), ArrayValueObject.create(/*ts*/ `{ @@ -173,7 +173,7 @@ describe('Test vlookup', () => { }); it('LookupValue is single cell, colIndexNum is array and gets rangeLookup error', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( StringValueObject.create('lookupValue'), arrayValueObject1.clone(), colIndexNumArrayValueObject2.clone(), @@ -183,7 +183,7 @@ describe('Test vlookup', () => { }); it('LookupValue is array, colIndexNum is array', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( matchArrayValueObject.clone(), arrayValueObject1.clone(), colIndexNumArrayValueObject.clone(), @@ -197,7 +197,7 @@ describe('Test vlookup', () => { }); it('LookupValue is array and gets error, colIndexNum is array and gets error', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( ArrayValueObject.create(/*ts*/ `{ "Univer"; 2 @@ -211,7 +211,7 @@ describe('Test vlookup', () => { }); it('LookupValue is array and gets error, colIndexNum is array and gets error,rangeLookup gets error', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( ArrayValueObject.create(/*ts*/ `{ "Univer"; 2 @@ -226,7 +226,7 @@ describe('Test vlookup', () => { }); it('LookupValue is array, colIndexNum is array, rangeLookup is array', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( matchArrayValueObject2.clone(), arrayValueObject1.clone(), colIndexNumArrayValueObject3.clone(), @@ -236,7 +236,7 @@ describe('Test vlookup', () => { }); it('LookupValue is string, case sensitive', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( StringValueObject.create('second'), arrayValueObject3.clone(), NumberValueObject.create(2), @@ -248,7 +248,7 @@ describe('Test vlookup', () => { describe('Approximate match', () => { it('Approximate search two', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(2), arrayValueObject1.clone(), NumberValueObject.create(2), @@ -258,7 +258,7 @@ describe('Test vlookup', () => { }); it('Approximate search eight', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(8), arrayValueObject1.clone(), NumberValueObject.create(2) @@ -267,7 +267,7 @@ describe('Test vlookup', () => { }); it('Approximate exceeding columns', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(8), arrayValueObject1.clone(), NumberValueObject.create(3) @@ -276,7 +276,7 @@ describe('Test vlookup', () => { }); it('Approximate not match', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(100), arrayValueObject1.clone(), NumberValueObject.create(2), @@ -286,7 +286,7 @@ describe('Test vlookup', () => { }); it('Approximate not order data', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(2), arrayValueObject2.clone(), NumberValueObject.create(2), @@ -296,7 +296,7 @@ describe('Test vlookup', () => { }); it('Approximate not order data match', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(8), arrayValueObject2.clone(), NumberValueObject.create(2) diff --git a/packages/engine-formula/src/functions/lookup/xlookup/__tests__/index.spec.ts b/packages/engine-formula/src/functions/lookup/xlookup/__tests__/index.spec.ts index 64647cf4d7..e5b6e7932b 100644 --- a/packages/engine-formula/src/functions/lookup/xlookup/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/lookup/xlookup/__tests__/index.spec.ts @@ -63,11 +63,11 @@ const arrayValueObject4 = ArrayValueObject.create(/*ts*/ `{ }`); describe('Test vlookup', () => { - const textFunction = new Xlookup(FUNCTION_NAMES_LOOKUP.XLOOKUP); + const testFunction = new Xlookup(FUNCTION_NAMES_LOOKUP.XLOOKUP); describe('The value of the lookup', () => { it('Search normal', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( StringValueObject.create('Second'), arrayValueObject1.slice(undefined, [1, 2])!, arrayValueObject1.slice(undefined, [3, 4])! @@ -76,7 +76,7 @@ describe('Test vlookup', () => { }); it('Search normal2', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( StringValueObject.create('Second'), arrayValueObject1.slice(undefined, [1, 2])!, arrayValueObject1.slice(undefined, [0, 1])! @@ -85,7 +85,7 @@ describe('Test vlookup', () => { }); it('Search horizon', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( StringValueObject.create('Second'), arrayValueObject1.transpose().slice([1, 2])!, arrayValueObject1.transpose().slice([0, 1])! @@ -94,7 +94,7 @@ describe('Test vlookup', () => { }); it('Search array', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( arrayValueObject2.slice(undefined, [1, 2])!, arrayValueObject1.slice(undefined, [1, 2])!, arrayValueObject1.slice(undefined, [3, 4])! @@ -103,7 +103,7 @@ describe('Test vlookup', () => { }); it('Search across multiple columns', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(5), arrayValueObject1.slice(undefined, [0, 1])!, arrayValueObject1.slice(undefined, [1])! @@ -114,7 +114,7 @@ describe('Test vlookup', () => { describe('Approximate match test', () => { it('Approximate match1', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( StringValueObject.create('s*'), arrayValueObject1.slice(undefined, [1, 2])!, arrayValueObject1.slice(undefined, [3, 4])!, @@ -125,7 +125,7 @@ describe('Test vlookup', () => { }); it('Approximate asc', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( StringValueObject.create('???th'), arrayValueObject1.slice(undefined, [1, 2])!, arrayValueObject1.slice(undefined, [3, 4])!, @@ -136,7 +136,7 @@ describe('Test vlookup', () => { }); it('Approximate desc', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( StringValueObject.create('???th'), arrayValueObject1.slice(undefined, [1, 2])!, arrayValueObject1.slice(undefined, [3, 4])!, @@ -148,7 +148,7 @@ describe('Test vlookup', () => { }); it('match_mode is -1', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(110), arrayValueObject3.slice(undefined, [0, 1])!, arrayValueObject3.slice(undefined, [1])!, @@ -159,7 +159,7 @@ describe('Test vlookup', () => { }); it('match_mode 1', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(110), arrayValueObject3.slice(undefined, [0, 1])!, arrayValueObject3.slice(undefined, [1])!, @@ -170,7 +170,7 @@ describe('Test vlookup', () => { }); it('match_mode binary asc', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(660), arrayValueObject4.slice(undefined, [0, 1])!, arrayValueObject4.slice(undefined, [1])!, @@ -182,7 +182,7 @@ describe('Test vlookup', () => { }); it('match_mode binary desc', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(660), arrayValueObject4.slice(undefined, [0, 1])!, arrayValueObject4.slice(undefined, [1])!, diff --git a/packages/engine-formula/src/functions/lookup/xmatch/__tests__/index.spec.ts b/packages/engine-formula/src/functions/lookup/xmatch/__tests__/index.spec.ts index ce2f3e771e..f6aba60e99 100644 --- a/packages/engine-formula/src/functions/lookup/xmatch/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/lookup/xmatch/__tests__/index.spec.ts @@ -59,11 +59,11 @@ const arrayValueObject4 = ArrayValueObject.create(/*ts*/ `{ }`); describe('Test xmatch', () => { - const textFunction = new Xmatch(FUNCTION_NAMES_LOOKUP.XLOOKUP); + const testFunction = new Xmatch(FUNCTION_NAMES_LOOKUP.XLOOKUP); describe('The value of the lookup', () => { it('Search single string', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( StringValueObject.create('Second'), arrayValueObject1.slice(undefined, [1, 2])! ); @@ -71,7 +71,7 @@ describe('Test xmatch', () => { }); it('Search single string horizon', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( StringValueObject.create('Second'), arrayValueObject1.transpose().slice([1, 2])! ); @@ -79,7 +79,7 @@ describe('Test xmatch', () => { }); it('Search single number ', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(5), arrayValueObject1.slice(undefined, [0, 1])! ); @@ -87,7 +87,7 @@ describe('Test xmatch', () => { }); it('Search array', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( arrayValueObject2.slice(undefined, [1, 2])!, arrayValueObject1.slice(undefined, [1, 2])! ); @@ -97,7 +97,7 @@ describe('Test xmatch', () => { describe('Approximate match test', () => { it('Approximate match1', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( StringValueObject.create('s*'), arrayValueObject1.slice(undefined, [1, 2])!, NumberValueObject.create(2) @@ -106,7 +106,7 @@ describe('Test xmatch', () => { }); it('Approximate asc', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( StringValueObject.create('???th'), arrayValueObject1.slice(undefined, [1, 2])!, NumberValueObject.create(2) @@ -115,7 +115,7 @@ describe('Test xmatch', () => { }); it('Approximate desc', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( StringValueObject.create('???th'), arrayValueObject1.slice(undefined, [1, 2])!, NumberValueObject.create(2), @@ -125,7 +125,7 @@ describe('Test xmatch', () => { }); it('match_mode is -1', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(110), arrayValueObject3.slice(undefined, [0, 1])!, NumberValueObject.create(-1) @@ -134,7 +134,7 @@ describe('Test xmatch', () => { }); it('match_mode 1', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(110), arrayValueObject3.slice(undefined, [0, 1])!, NumberValueObject.create(1) @@ -143,7 +143,7 @@ describe('Test xmatch', () => { }); it('match_mode binary asc', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(660), arrayValueObject4.slice(undefined, [0, 1])!, NumberValueObject.create(0), @@ -154,7 +154,7 @@ describe('Test xmatch', () => { }); it('match_mode binary desc', async () => { - const resultObject = textFunction.calculate( + const resultObject = testFunction.calculate( NumberValueObject.create(660), arrayValueObject4.slice(undefined, [0, 1])!, NumberValueObject.create(0), diff --git a/packages/engine-formula/src/functions/math/abs/__tests__/index.spec.ts b/packages/engine-formula/src/functions/math/abs/__tests__/index.spec.ts index c7f88f0f70..5c5226f6fd 100644 --- a/packages/engine-formula/src/functions/math/abs/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/math/abs/__tests__/index.spec.ts @@ -22,17 +22,17 @@ import { NumberValueObject, StringValueObject } from '../../../../engine/value-o import { ArrayValueObject, transformToValue, transformToValueObject } from '../../../../engine/value-object/array-value-object'; describe('Test abs function', () => { - const textFunction = new Abs(FUNCTION_NAMES_MATH.ABS); + const testFunction = new Abs(FUNCTION_NAMES_MATH.ABS); describe('Abs', () => { it('Value is normal', () => { const value = NumberValueObject.create(1); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe(1); }); it('Value is string number', () => { const value = new StringValueObject('1'); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe(1); }); @@ -50,7 +50,7 @@ describe('Test abs function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(valueArray); + const result = testFunction.calculate(valueArray); expect(transformToValue(result.getArrayValue())).toStrictEqual([[1, 2], [2, 3], [3, 4]]); diff --git a/packages/engine-formula/src/functions/math/acos/__tests__/index.spec.ts b/packages/engine-formula/src/functions/math/acos/__tests__/index.spec.ts index 25bd62aa60..e76d485e27 100644 --- a/packages/engine-formula/src/functions/math/acos/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/math/acos/__tests__/index.spec.ts @@ -22,18 +22,18 @@ import { NumberValueObject, StringValueObject } from '../../../../engine/value-o import { ArrayValueObject, transformToValue, transformToValueObject } from '../../../../engine/value-object/array-value-object'; describe('Test acos function', () => { - const textFunction = new Acos(FUNCTION_NAMES_MATH.ACOS); + const testFunction = new Acos(FUNCTION_NAMES_MATH.ACOS); describe('Acos', () => { it('Value is normal', () => { const value = NumberValueObject.create(1); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe(0); }); it('Value is string number', () => { const value = new StringValueObject('1'); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe(0); }); @@ -50,7 +50,7 @@ describe('Test acos function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(valueArray); + const result = testFunction.calculate(valueArray); expect(transformToValue(result.getArrayValue())).toStrictEqual([[0, '#VALUE!', '#NUM!', 0, 1.5707963267948966], [1.5707963267948966, '#NUM!', '#NUM!', '#VALUE!', '#NUM!']]); }); diff --git a/packages/engine-formula/src/functions/math/acosh/__tests__/index.spec.ts b/packages/engine-formula/src/functions/math/acosh/__tests__/index.spec.ts index 7ae1c8066c..7506b2e400 100644 --- a/packages/engine-formula/src/functions/math/acosh/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/math/acosh/__tests__/index.spec.ts @@ -22,18 +22,18 @@ import { NumberValueObject, StringValueObject } from '../../../../engine/value-o import { ArrayValueObject, transformToValue, transformToValueObject } from '../../../../engine/value-object/array-value-object'; describe('Test acosh function', () => { - const textFunction = new Acosh(FUNCTION_NAMES_MATH.ACOSH); + const testFunction = new Acosh(FUNCTION_NAMES_MATH.ACOSH); describe('Acosh', () => { it('Value is normal', () => { const value = NumberValueObject.create(1); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe(0); }); it('Value is string number', () => { const value = new StringValueObject('1'); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe(0); }); @@ -50,7 +50,7 @@ describe('Test acosh function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(valueArray); + const result = testFunction.calculate(valueArray); expect(transformToValue(result.getArrayValue())).toStrictEqual([[0, '#VALUE!', 0.6658635291565548, 0, '#NUM!'], ['#NUM!', 5.298292365610484, 1.494153066724473, '#VALUE!', '#NUM!']]); }); diff --git a/packages/engine-formula/src/functions/math/acot/__tests__/index.spec.ts b/packages/engine-formula/src/functions/math/acot/__tests__/index.spec.ts index 9557e5f805..64499d2595 100644 --- a/packages/engine-formula/src/functions/math/acot/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/math/acot/__tests__/index.spec.ts @@ -22,18 +22,18 @@ import { NumberValueObject, StringValueObject } from '../../../../engine/value-o import { ArrayValueObject, transformToValue, transformToValueObject } from '../../../../engine/value-object/array-value-object'; describe('Test acot function', () => { - const textFunction = new Acot(FUNCTION_NAMES_MATH.ACOT); + const testFunction = new Acot(FUNCTION_NAMES_MATH.ACOT); describe('Acot', () => { it('Value is normal', () => { const value = NumberValueObject.create(1); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe(0.7853981633974483); }); it('Value is string number', () => { const value = new StringValueObject('1'); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe(0.7853981633974483); }); @@ -50,7 +50,7 @@ describe('Test acot function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(valueArray); + const result = testFunction.calculate(valueArray); expect(transformToValue(result.getArrayValue())).toStrictEqual([[0.7853981633974483, '#VALUE!', 0.682622552417217, 0.7853981633974483, 1.5707963267948966], [1.5707963267948966, 0.009999666686665238, 0.40385979490737667, '#VALUE!', -0.3217505543966422]]); }); diff --git a/packages/engine-formula/src/functions/math/mod/__tests__/index.spec.ts b/packages/engine-formula/src/functions/math/mod/__tests__/index.spec.ts index 9f2da2fad4..4950983d91 100644 --- a/packages/engine-formula/src/functions/math/mod/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/math/mod/__tests__/index.spec.ts @@ -24,31 +24,31 @@ import { ErrorType } from '../../../../basics/error-type'; import { stripArrayValue } from '../../../__tests__/create-function-test-bed'; describe('Test mod function', () => { - const textFunction = new Mod(FUNCTION_NAMES_MATH.MOD); + const testFunction = new Mod(FUNCTION_NAMES_MATH.MOD); describe('Mod', () => { it('Number is single cell, power is single cell', () => { const number = NumberValueObject.create(5); const power = NumberValueObject.create(2); - const result = textFunction.calculate(number, power); + const result = testFunction.calculate(number, power); expect(result.getValue()).toBe(1); }); it('Number is single cell, power is single cell, the number does not exceed the regulations', () => { const number = NumberValueObject.create(1125899999999); const power = NumberValueObject.create(1); - const result = textFunction.calculate(number, power); + const result = testFunction.calculate(number, power); expect(result.getValue()).toBe(0); }); it('Number is single cell, power is single cell, the number exceeds the regulations', () => { const number = NumberValueObject.create(1125900000000); const power = NumberValueObject.create(1); - const result = textFunction.calculate(number, power); + const result = testFunction.calculate(number, power); expect(result.getValue()).toBe(ErrorType.NUM); }); it('Number is single string number, power is single string number', () => { const number = new StringValueObject('5'); const power = new StringValueObject('2'); - const result = textFunction.calculate(number, power); + const result = testFunction.calculate(number, power); expect(result.getValue()).toBe(1); }); @@ -66,7 +66,7 @@ describe('Test mod function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(number, power); + const result = testFunction.calculate(number, power); expect(stripArrayValue(transformToValue(result.getArrayValue()))).toStrictEqual([ [0, ErrorType.VALUE, 0.08, 0, '#DIV/0!', '#DIV/0!'], ['#DIV/0!', 5, 0.32, ErrorType.VALUE, -1, ErrorType.VALUE], @@ -87,7 +87,7 @@ describe('Test mod function', () => { column: 0, }); const power = NumberValueObject.create(2); - const result = textFunction.calculate(number, power); + const result = testFunction.calculate(number, power); expect(stripArrayValue(transformToValue(result.getArrayValue()))).toStrictEqual([ [1, ErrorType.VALUE, 1.23, 1, 0, 0], [0, 0, 0.34, ErrorType.VALUE, 1, ErrorType.VALUE], @@ -120,7 +120,7 @@ describe('Test mod function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(number, power); + const result = testFunction.calculate(number, power); expect(stripArrayValue(transformToValue(result.getArrayValue()))).toStrictEqual([ [0, ErrorType.VALUE, 0.23, 0, 0, 0], [0, 0, 0.34, ErrorType.VALUE, 1, ErrorType.VALUE], diff --git a/packages/engine-formula/src/functions/math/power/__tests__/index.spec.ts b/packages/engine-formula/src/functions/math/power/__tests__/index.spec.ts index 0531039515..2684c5293a 100644 --- a/packages/engine-formula/src/functions/math/power/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/math/power/__tests__/index.spec.ts @@ -24,19 +24,19 @@ import { ErrorType } from '../../../../basics/error-type'; import { stripArrayValue } from '../../../__tests__/create-function-test-bed'; describe('Test power function', () => { - const textFunction = new Power(FUNCTION_NAMES_MATH.POWER); + const testFunction = new Power(FUNCTION_NAMES_MATH.POWER); describe('Power', () => { it('Number is single cell, power is single cell', () => { const number = NumberValueObject.create(5); const power = NumberValueObject.create(2); - const result = textFunction.calculate(number, power); + const result = testFunction.calculate(number, power); expect(result.getValue()).toBe(25); }); it('Number is single string number, power is single string number', () => { const number = new StringValueObject('5'); const power = new StringValueObject('2'); - const result = textFunction.calculate(number, power); + const result = testFunction.calculate(number, power); expect(result.getValue()).toBe(25); }); @@ -54,7 +54,7 @@ describe('Test power function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(number, power); + const result = testFunction.calculate(number, power); expect(transformToValue(result.getArrayValue())).toStrictEqual([ [2, ErrorType.VALUE, 2.3456698984637576, 2, 1, 1], [1, 1.2676506002282294e+30, 5.063026375881119, ErrorType.VALUE, 0.125, ErrorType.VALUE], @@ -75,7 +75,7 @@ describe('Test power function', () => { column: 0, }); const power = NumberValueObject.create(2); - const result = textFunction.calculate(number, power); + const result = testFunction.calculate(number, power); expect(stripArrayValue(transformToValue(result.getArrayValue()))).toStrictEqual([ [1, ErrorType.VALUE, 1.5129, 1, 0, 0], [0, 10000, 5.4756, ErrorType.VALUE, 9, ErrorType.VALUE], @@ -108,7 +108,7 @@ describe('Test power function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(number, power); + const result = testFunction.calculate(number, power); expect(stripArrayValue(transformToValue(result.getArrayValue()))).toStrictEqual([ [1, ErrorType.VALUE, 1.23, 1, 0, 0], [0, 10000, 5.4756, ErrorType.VALUE, 9, ErrorType.VALUE], diff --git a/packages/engine-formula/src/functions/math/product/__tests__/index.spec.ts b/packages/engine-formula/src/functions/math/product/__tests__/index.spec.ts index ab27c2f4d7..ad50e2923a 100644 --- a/packages/engine-formula/src/functions/math/product/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/math/product/__tests__/index.spec.ts @@ -24,54 +24,54 @@ import { Product } from '../index'; import { ErrorValueObject } from '../../../../engine/value-object/base-value-object'; describe('Test product function', () => { - const textFunction = new Product(FUNCTION_NAMES_MATH.PRODUCT); + const testFunction = new Product(FUNCTION_NAMES_MATH.PRODUCT); describe('Product', () => { it('Var1 is number, var2 is number', () => { const var1 = NumberValueObject.create(1); const var2 = NumberValueObject.create(2); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(2); }); it('Var1 is string number, var2 is string number', () => { const var1 = new StringValueObject('1'); const var2 = new StringValueObject('2'); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(2); }); it('Var1 is number, var2 is string', () => { const var1 = NumberValueObject.create(1); const var2 = StringValueObject.create('test'); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); }); it('Var1 is number, var2 is string number', () => { const var1 = NumberValueObject.create(1); const var2 = StringValueObject.create('2'); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(2); }); it('Var1 is number, var2 is boolean', () => { const var1 = NumberValueObject.create(2); let var2 = BooleanValueObject.create(true); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(2); var2 = BooleanValueObject.create(false); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0); }); it('Var1 is number, var2 is null', () => { const var1 = NumberValueObject.create(1); const var2 = NullValueObject.create(); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1); }); it('Var1 is number, var2 is error', () => { const var1 = NumberValueObject.create(1); const var2 = ErrorValueObject.create(ErrorType.NA); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.NA); }); @@ -89,7 +89,7 @@ describe('Test product function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); }); @@ -107,7 +107,7 @@ describe('Test product function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(-1726.92); }); }); diff --git a/packages/engine-formula/src/functions/math/sum/__tests__/index.spec.ts b/packages/engine-formula/src/functions/math/sum/__tests__/index.spec.ts index 626ebab894..9ee3158665 100644 --- a/packages/engine-formula/src/functions/math/sum/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/math/sum/__tests__/index.spec.ts @@ -25,48 +25,48 @@ import { ErrorValueObject } from '../../../../engine/value-object/base-value-obj import { stripErrorMargin } from '../../../../engine/utils/math-kit'; describe('Test sum function', () => { - const textFunction = new Sum(FUNCTION_NAMES_MATH.SUM); + const testFunction = new Sum(FUNCTION_NAMES_MATH.SUM); describe('Sum', () => { it('Var1 is number, var2 is number', () => { const var1 = NumberValueObject.create(1); const var2 = NumberValueObject.create(2); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(3); }); it('Var1 is number, var2 is string', () => { const var1 = NumberValueObject.create(1); const var2 = StringValueObject.create('test'); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); }); it('Var1 is number, var2 is string number', () => { const var1 = NumberValueObject.create(1); const var2 = StringValueObject.create('2'); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(3); }); it('Var1 is number, var2 is boolean', () => { const var1 = NumberValueObject.create(2); let var2 = BooleanValueObject.create(true); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(3); var2 = BooleanValueObject.create(false); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(2); }); it('Var1 is number, var2 is null', () => { const var1 = NumberValueObject.create(1); const var2 = NullValueObject.create(); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1); }); it('Var1 is number, var2 is error', () => { const var1 = NumberValueObject.create(1); const var2 = ErrorValueObject.create(ErrorType.NA); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.NA); }); @@ -84,7 +84,7 @@ describe('Test sum function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); }); @@ -102,7 +102,7 @@ describe('Test sum function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(stripErrorMargin(Number(result.getValue()))).toBe(103.57); }); }); diff --git a/packages/engine-formula/src/functions/math/sumif/__tests__/index.spec.ts b/packages/engine-formula/src/functions/math/sumif/__tests__/index.spec.ts index 33746442cb..5e141eb316 100644 --- a/packages/engine-formula/src/functions/math/sumif/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/math/sumif/__tests__/index.spec.ts @@ -22,7 +22,7 @@ import { Sumif } from '../index'; import { StringValueObject } from '../../../../engine/value-object/primitive-object'; describe('Test sumif function', () => { - const textFunction = new Sumif(FUNCTION_NAMES_MATH.SUMIF); + const testFunction = new Sumif(FUNCTION_NAMES_MATH.SUMIF); describe('Sumif', () => { it('Range and criteria', async () => { @@ -35,7 +35,7 @@ describe('Test sumif function', () => { const criteria = StringValueObject.create('>40'); - const resultObject = textFunction.calculate(range, criteria); + const resultObject = testFunction.calculate(range, criteria); expect(resultObject.getValue()).toBe(488); }); @@ -56,7 +56,7 @@ describe('Test sumif function', () => { 1 }`); - const resultObject = textFunction.calculate(range, criteria, sumRange); + const resultObject = testFunction.calculate(range, criteria, sumRange); expect(resultObject.getValue()).toBe(2); }); @@ -75,7 +75,7 @@ describe('Test sumif function', () => { 444 }`); - const resultObject = textFunction.calculate(range, criteria); + const resultObject = testFunction.calculate(range, criteria); expect(transformToValue(resultObject.getArrayValue())).toStrictEqual([[4], [4], [44], [444]]); }); }); diff --git a/packages/engine-formula/src/functions/math/sumifs/__tests__/index.spec.ts b/packages/engine-formula/src/functions/math/sumifs/__tests__/index.spec.ts index 2c3e773c26..2f46df8fb5 100644 --- a/packages/engine-formula/src/functions/math/sumifs/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/math/sumifs/__tests__/index.spec.ts @@ -22,7 +22,7 @@ import { Sumifs } from '../index'; import { NumberValueObject, StringValueObject } from '../../../../engine/value-object/primitive-object'; describe('Test sumifs function', () => { - const textFunction = new Sumifs(FUNCTION_NAMES_MATH.SUMIF); + const testFunction = new Sumifs(FUNCTION_NAMES_MATH.SUMIF); describe('Sumifs', () => { it('Range and criteria', async () => { @@ -39,7 +39,7 @@ describe('Test sumifs function', () => { const criteria = StringValueObject.create('>2'); - const resultObject = textFunction.calculate(sumRange, range, criteria); + const resultObject = testFunction.calculate(sumRange, range, criteria); expect(transformToValue(resultObject.getArrayValue())).toStrictEqual([[2]]); }); @@ -61,7 +61,7 @@ describe('Test sumifs function', () => { >4 }`); - const resultObject = textFunction.calculate(sumRange, range, criteria); + const resultObject = testFunction.calculate(sumRange, range, criteria); expect(transformToValue(resultObject.getArrayValue())).toStrictEqual([[2], [1], [0]]); }); @@ -88,7 +88,7 @@ describe('Test sumifs function', () => { const criteria2 = StringValueObject.create('<5'); - const resultObject = textFunction.calculate(sumRange, range1, criteria1, range2, criteria2); + const resultObject = testFunction.calculate(sumRange, range1, criteria1, range2, criteria2); expect(transformToValue(resultObject.getArrayValue())).toStrictEqual([[1]]); }); @@ -119,7 +119,7 @@ describe('Test sumifs function', () => { const criteria2 = NumberValueObject.create(5); - const resultObject = textFunction.calculate(sumRange, range1, criteria1, range2, criteria2); + const resultObject = testFunction.calculate(sumRange, range1, criteria1, range2, criteria2); expect(transformToValue(resultObject.getArrayValue())).toStrictEqual([[1], [1], [0]]); }); @@ -155,7 +155,7 @@ describe('Test sumifs function', () => { 4 }`); - const resultObject = textFunction.calculate(sumRange, range1, criteria1, range2, criteria2); + const resultObject = testFunction.calculate(sumRange, range1, criteria1, range2, criteria2); expect(transformToValue(resultObject.getArrayValue())).toStrictEqual([[1], [0], [0], [0]]); }); }); diff --git a/packages/engine-formula/src/functions/statistical/average/__tests__/index.spec.ts b/packages/engine-formula/src/functions/statistical/average/__tests__/index.spec.ts index b5fbaca585..ef8317b43c 100644 --- a/packages/engine-formula/src/functions/statistical/average/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/statistical/average/__tests__/index.spec.ts @@ -24,48 +24,48 @@ import { ErrorType } from '../../../../basics/error-type'; import { ErrorValueObject } from '../../../../engine/value-object/base-value-object'; describe('Test average function', () => { - const textFunction = new Average(FUNCTION_NAMES_STATISTICAL.AVERAGE); + const testFunction = new Average(FUNCTION_NAMES_STATISTICAL.AVERAGE); describe('Average', () => { it('Var1 is number, var2 is number', () => { const var1 = NumberValueObject.create(1); const var2 = NumberValueObject.create(2); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1.5); }); it('Var1 is number, var2 is string', () => { const var1 = NumberValueObject.create(1); const var2 = StringValueObject.create('test'); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); }); it('Var1 is number, var2 is string number', () => { const var1 = NumberValueObject.create(1); const var2 = StringValueObject.create('2'); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1.5); }); it('Var1 is number, var2 is boolean', () => { const var1 = NumberValueObject.create(2); let var2 = BooleanValueObject.create(true); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1.5); var2 = BooleanValueObject.create(false); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1); }); it('Var1 is number, var2 is null', () => { const var1 = NumberValueObject.create(1); const var2 = NullValueObject.create(); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1); }); it('Var1 is number, var2 is error', () => { const var1 = NumberValueObject.create(1); const var2 = ErrorValueObject.create(ErrorType.NA); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.NA); }); @@ -83,7 +83,7 @@ describe('Test average function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); }); @@ -101,7 +101,7 @@ describe('Test average function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(14.795714285714286); }); }); diff --git a/packages/engine-formula/src/functions/statistical/count/__tests__/index.spec.ts b/packages/engine-formula/src/functions/statistical/count/__tests__/index.spec.ts index e3345b9852..ba063536cc 100644 --- a/packages/engine-formula/src/functions/statistical/count/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/statistical/count/__tests__/index.spec.ts @@ -24,53 +24,53 @@ import { ErrorType } from '../../../../basics/error-type'; import { ErrorValueObject } from '../../../../engine/value-object/base-value-object'; describe('Test count function', () => { - const textFunction = new Count(FUNCTION_NAMES_STATISTICAL.COUNT); + const testFunction = new Count(FUNCTION_NAMES_STATISTICAL.COUNT); describe('Count', () => { it('Var1 is error', () => { const var1 = ErrorValueObject.create(ErrorType.NA); - const result = textFunction.calculate(var1); + const result = testFunction.calculate(var1); expect(result.getValue()).toBe(0); }); it('Var1 is number, var2 is number', () => { const var1 = NumberValueObject.create(1); const var2 = NumberValueObject.create(2); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(2); }); it('Var1 is number, var2 is string', () => { const var1 = NumberValueObject.create(1); const var2 = StringValueObject.create('test'); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1); }); it('Var1 is number, var2 is string number', () => { const var1 = NumberValueObject.create(1); const var2 = StringValueObject.create('2'); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(2); }); it('Var1 is number, var2 is boolean', () => { const var1 = NumberValueObject.create(2); let var2 = BooleanValueObject.create(true); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(2); var2 = BooleanValueObject.create(false); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(2); }); it('Var1 is number, var2 is null', () => { const var1 = NumberValueObject.create(1); const var2 = NullValueObject.create(); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1); }); it('Var1 is number, var2 is error', () => { const var1 = NumberValueObject.create(1); const var2 = ErrorValueObject.create(ErrorType.NA); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1); }); @@ -88,7 +88,7 @@ describe('Test count function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(3); }); @@ -106,7 +106,7 @@ describe('Test count function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(7); }); }); diff --git a/packages/engine-formula/src/functions/statistical/counta/__tests__/index.spec.ts b/packages/engine-formula/src/functions/statistical/counta/__tests__/index.spec.ts index ea30f7a488..ad7213f60a 100644 --- a/packages/engine-formula/src/functions/statistical/counta/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/statistical/counta/__tests__/index.spec.ts @@ -24,53 +24,53 @@ import { ErrorType } from '../../../../basics/error-type'; import { ErrorValueObject } from '../../../../engine/value-object/base-value-object'; describe('Test counta function', () => { - const textFunction = new Counta(FUNCTION_NAMES_STATISTICAL.COUNTA); + const testFunction = new Counta(FUNCTION_NAMES_STATISTICAL.COUNTA); describe('Counta', () => { it('Var1 is error', () => { const var1 = ErrorValueObject.create(ErrorType.NA); - const result = textFunction.calculate(var1); + const result = testFunction.calculate(var1); expect(result.getValue()).toBe(1); }); it('Var1 is number, var2 is number', () => { const var1 = NumberValueObject.create(1); const var2 = NumberValueObject.create(2); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(2); }); it('Var1 is number, var2 is string', () => { const var1 = NumberValueObject.create(1); const var2 = StringValueObject.create('test'); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(2); }); it('Var1 is number, var2 is string number', () => { const var1 = NumberValueObject.create(1); const var2 = StringValueObject.create('2'); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(2); }); it('Var1 is number, var2 is boolean', () => { const var1 = NumberValueObject.create(2); let var2 = BooleanValueObject.create(true); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(2); var2 = BooleanValueObject.create(false); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(2); }); it('Var1 is number, var2 is null', () => { const var1 = NumberValueObject.create(1); const var2 = NullValueObject.create(); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1); }); it('Var1 is number, var2 is error', () => { const var1 = NumberValueObject.create(1); const var2 = ErrorValueObject.create(ErrorType.NA); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(2); }); @@ -88,7 +88,7 @@ describe('Test counta function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(4); }); @@ -106,7 +106,7 @@ describe('Test counta function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(11); }); }); diff --git a/packages/engine-formula/src/functions/statistical/max/__tests__/index.spec.ts b/packages/engine-formula/src/functions/statistical/max/__tests__/index.spec.ts index ea9320e662..29a70e5bbf 100644 --- a/packages/engine-formula/src/functions/statistical/max/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/statistical/max/__tests__/index.spec.ts @@ -24,48 +24,48 @@ import { ErrorType } from '../../../../basics/error-type'; import { ErrorValueObject } from '../../../../engine/value-object/base-value-object'; describe('Test max function', () => { - const textFunction = new Max(FUNCTION_NAMES_STATISTICAL.MAX); + const testFunction = new Max(FUNCTION_NAMES_STATISTICAL.MAX); describe('Max', () => { it('Var1 is number, var2 is number', () => { const var1 = NumberValueObject.create(1); const var2 = NumberValueObject.create(2); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(2); }); it('Var1 is number, var2 is string', () => { const var1 = NumberValueObject.create(1); const var2 = StringValueObject.create('test'); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); }); it('Var1 is number, var2 is string number', () => { const var1 = NumberValueObject.create(1); const var2 = StringValueObject.create('2'); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(2); }); it('Var1 is number, var2 is boolean', () => { const var1 = NumberValueObject.create(2); let var2 = BooleanValueObject.create(true); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(2); var2 = BooleanValueObject.create(false); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(2); }); it('Var1 is number, var2 is null', () => { const var1 = NumberValueObject.create(1); const var2 = NullValueObject.create(); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1); }); it('Var1 is number, var2 is error', () => { const var1 = NumberValueObject.create(1); const var2 = ErrorValueObject.create(ErrorType.NA); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.NA); }); @@ -83,7 +83,7 @@ describe('Test max function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); }); it('Var1 is array not includes error, ignore boolean value ', () => { @@ -99,7 +99,7 @@ describe('Test max function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1); + const result = testFunction.calculate(var1); expect(result.getValue()).toBe(-3); }); @@ -117,7 +117,7 @@ describe('Test max function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(100); }); @@ -144,7 +144,7 @@ describe('Test max function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0); }); }); diff --git a/packages/engine-formula/src/functions/statistical/maxifs/__tests__/index.spec.ts b/packages/engine-formula/src/functions/statistical/maxifs/__tests__/index.spec.ts index 6df5598e99..2c29fb709a 100644 --- a/packages/engine-formula/src/functions/statistical/maxifs/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/statistical/maxifs/__tests__/index.spec.ts @@ -21,7 +21,7 @@ import { ArrayValueObject, transformToValue } from '../../../../engine/value-obj import { NumberValueObject, StringValueObject } from '../../../../engine/value-object/primitive-object'; describe('Test maxifs function', () => { - const textFunction = new Maxifs(FUNCTION_NAMES_STATISTICAL.MAXIFS); + const testFunction = new Maxifs(FUNCTION_NAMES_STATISTICAL.MAXIFS); describe('Maxifs', () => { it('Range and criteria', async () => { @@ -37,7 +37,7 @@ describe('Test maxifs function', () => { }`); const criteria = StringValueObject.create('>2'); - const resultObject = textFunction.calculate(maxRange, range, criteria); + const resultObject = testFunction.calculate(maxRange, range, criteria); expect(transformToValue(resultObject.getArrayValue())).toStrictEqual([[3]]); }); @@ -60,7 +60,7 @@ describe('Test maxifs function', () => { >4 }`); - const resultObject = textFunction.calculate(maxRange, range, criteria); + const resultObject = testFunction.calculate(maxRange, range, criteria); expect(transformToValue(resultObject.getArrayValue())).toStrictEqual([[3], [3], [0]]); }); @@ -87,7 +87,7 @@ describe('Test maxifs function', () => { const criteria2 = StringValueObject.create('<5'); - const resultObject = textFunction.calculate(maxRange, range1, criteria1, range2, criteria2); + const resultObject = testFunction.calculate(maxRange, range1, criteria1, range2, criteria2); expect(transformToValue(resultObject.getArrayValue())).toStrictEqual([[2]]); }); @@ -118,7 +118,7 @@ describe('Test maxifs function', () => { const criteria2 = NumberValueObject.create(5); - const resultObject = textFunction.calculate(maxRange, range1, criteria1, range2, criteria2); + const resultObject = testFunction.calculate(maxRange, range1, criteria1, range2, criteria2); expect(transformToValue(resultObject.getArrayValue())).toStrictEqual([[3], [3], [0]]); }); @@ -154,7 +154,7 @@ describe('Test maxifs function', () => { 4 }`); - const resultObject = textFunction.calculate(maxRange, range1, criteria1, range2, criteria2); + const resultObject = testFunction.calculate(maxRange, range1, criteria1, range2, criteria2); expect(transformToValue(resultObject.getArrayValue())).toStrictEqual([[2], [0], [0], [0]]); }); }); diff --git a/packages/engine-formula/src/functions/statistical/min/__tests__/index.spec.ts b/packages/engine-formula/src/functions/statistical/min/__tests__/index.spec.ts index 0092b4fa33..7b2001fc29 100644 --- a/packages/engine-formula/src/functions/statistical/min/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/statistical/min/__tests__/index.spec.ts @@ -24,48 +24,48 @@ import { ErrorType } from '../../../../basics/error-type'; import { ErrorValueObject } from '../../../../engine/value-object/base-value-object'; describe('Test min function', () => { - const textFunction = new Min(FUNCTION_NAMES_STATISTICAL.MIN); + const testFunction = new Min(FUNCTION_NAMES_STATISTICAL.MIN); describe('Min', () => { it('Var1 is number, var2 is number', () => { const var1 = NumberValueObject.create(1); const var2 = NumberValueObject.create(2); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1); }); it('Var1 is number, var2 is string', () => { const var1 = NumberValueObject.create(1); const var2 = StringValueObject.create('test'); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); }); it('Var1 is number, var2 is string number', () => { const var1 = NumberValueObject.create(2); const var2 = StringValueObject.create('1'); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1); }); it('Var1 is number, var2 is boolean', () => { const var1 = NumberValueObject.create(2); let var2 = BooleanValueObject.create(true); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1); var2 = BooleanValueObject.create(false); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0); }); it('Var1 is number, var2 is null', () => { const var1 = NumberValueObject.create(1); const var2 = NullValueObject.create(); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1); }); it('Var1 is number, var2 is error', () => { const var1 = NumberValueObject.create(1); const var2 = ErrorValueObject.create(ErrorType.NA); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.NA); }); @@ -83,7 +83,7 @@ describe('Test min function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); }); it('Var1 is array not includes error, ignore boolean value ', () => { @@ -99,7 +99,7 @@ describe('Test min function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1); + const result = testFunction.calculate(var1); expect(result.getValue()).toBe(3); }); @@ -117,7 +117,7 @@ describe('Test min function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(-3); }); it('Var1 is array, var2 is array', () => { @@ -143,7 +143,7 @@ describe('Test min function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0); }); }); diff --git a/packages/engine-formula/src/functions/statistical/stdev-p/__tests__/index.spec.ts b/packages/engine-formula/src/functions/statistical/stdev-p/__tests__/index.spec.ts index ca61c11b32..c4b6baec53 100644 --- a/packages/engine-formula/src/functions/statistical/stdev-p/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/statistical/stdev-p/__tests__/index.spec.ts @@ -24,56 +24,56 @@ import { ErrorType } from '../../../../basics/error-type'; import { ErrorValueObject } from '../../../../engine/value-object/base-value-object'; describe('Test stdev.p function', () => { - const textFunction = new StdevP(FUNCTION_NAMES_STATISTICAL.STDEV_P); + const testFunction = new StdevP(FUNCTION_NAMES_STATISTICAL.STDEV_P); describe('StdevP', () => { it('Var1 is number, var2 is number', () => { const var1 = NumberValueObject.create(1); const var2 = NumberValueObject.create(2); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.5); }); it('Var1 is number, var2 is string', () => { const var1 = NumberValueObject.create(1); let var2 = StringValueObject.create('test'); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); var2 = StringValueObject.create('2'); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.5); }); it('Var1 is number, var2 is boolean', () => { const var1 = NumberValueObject.create(2); let var2 = BooleanValueObject.create(true); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.5); var2 = BooleanValueObject.create(false); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1); }); it('Var1 is number, var2 is null', () => { const var1 = NumberValueObject.create(1); const var2 = NullValueObject.create(); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.5); }); it('Var1 is zero', () => { const var1 = NumberValueObject.create(0); - const result = textFunction.calculate(var1); + const result = testFunction.calculate(var1); expect(result.getValue()).toBe(0); }); it('Var1 is null', () => { const var1 = NullValueObject.create(); - const result = textFunction.calculate(var1); + const result = testFunction.calculate(var1); expect(result.getValue()).toBe(0); }); it('Var1 is number, var2 is error', () => { const var1 = NumberValueObject.create(1); const var2 = ErrorValueObject.create(ErrorType.NA); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.NA); }); @@ -91,7 +91,7 @@ describe('Test stdev.p function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); }); @@ -109,7 +109,7 @@ describe('Test stdev.p function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(34.82321961694232); }); }); diff --git a/packages/engine-formula/src/functions/statistical/stdev-s/__tests__/index.spec.ts b/packages/engine-formula/src/functions/statistical/stdev-s/__tests__/index.spec.ts index 617a2b4e75..ad83dce696 100644 --- a/packages/engine-formula/src/functions/statistical/stdev-s/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/statistical/stdev-s/__tests__/index.spec.ts @@ -24,56 +24,56 @@ import { ErrorType } from '../../../../basics/error-type'; import { ErrorValueObject } from '../../../../engine/value-object/base-value-object'; describe('Test stdev.s function', () => { - const textFunction = new StdevS(FUNCTION_NAMES_STATISTICAL.STDEV_S); + const testFunction = new StdevS(FUNCTION_NAMES_STATISTICAL.STDEV_S); describe('Stdev.s', () => { it('Var1 is number, var2 is number', () => { const var1 = NumberValueObject.create(1); const var2 = NumberValueObject.create(2); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.7071067811865476); }); it('Var1 is number, var2 is string', () => { const var1 = NumberValueObject.create(1); let var2 = StringValueObject.create('test'); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); var2 = StringValueObject.create('2'); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.7071067811865476); }); it('Var1 is number, var2 is boolean', () => { const var1 = NumberValueObject.create(2); let var2 = BooleanValueObject.create(true); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.7071067811865476); var2 = BooleanValueObject.create(false); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1.4142135623730951); }); it('Var1 is number, var2 is null', () => { const var1 = NumberValueObject.create(1); const var2 = NullValueObject.create(); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBeCloseTo(0.707106781, 7); }); it('Var1 is zero', () => { const var1 = NumberValueObject.create(0); - const result = textFunction.calculate(var1); + const result = testFunction.calculate(var1); expect(result.getValue()).toBe(ErrorType.DIV_BY_ZERO); }); it('Var1 is null', () => { const var1 = NullValueObject.create(); - const result = textFunction.calculate(var1); + const result = testFunction.calculate(var1); expect(result.getValue()).toBe(ErrorType.DIV_BY_ZERO); }); it('Var1 is number, var2 is error', () => { const var1 = NumberValueObject.create(1); const var2 = ErrorValueObject.create(ErrorType.NA); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.NA); }); @@ -91,7 +91,7 @@ describe('Test stdev.s function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); }); @@ -109,7 +109,7 @@ describe('Test stdev.s function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(37.61337610351884); }); }); diff --git a/packages/engine-formula/src/functions/statistical/stdeva/__tests__/index.spec.ts b/packages/engine-formula/src/functions/statistical/stdeva/__tests__/index.spec.ts index a762932ccd..74d17bb628 100644 --- a/packages/engine-formula/src/functions/statistical/stdeva/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/statistical/stdeva/__tests__/index.spec.ts @@ -24,46 +24,46 @@ import { ErrorType } from '../../../../basics/error-type'; import { ErrorValueObject } from '../../../../engine/value-object/base-value-object'; describe('Test stdeva function', () => { - const textFunction = new Stdeva(FUNCTION_NAMES_STATISTICAL.STDEVA); + const testFunction = new Stdeva(FUNCTION_NAMES_STATISTICAL.STDEVA); describe('Stdeva', () => { it('Var1 is number, var2 is number', () => { const var1 = NumberValueObject.create(1); const var2 = NumberValueObject.create(2); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.7071067811865476); }); it('Var1 is number, var2 is string', () => { const var1 = NumberValueObject.create(1); let var2 = StringValueObject.create('test'); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); var2 = StringValueObject.create('2'); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.7071067811865476); }); it('Var1 is number, var2 is boolean', () => { const var1 = NumberValueObject.create(2); let var2 = BooleanValueObject.create(true); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.7071067811865476); var2 = BooleanValueObject.create(false); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1.4142135623730951); }); it('Var1 is number, var2 is null', () => { const var1 = NumberValueObject.create(1); const var2 = NullValueObject.create(); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBeCloseTo(0.707106781, 7); }); it('Var1 is number, var2 is error', () => { const var1 = NumberValueObject.create(1); const var2 = ErrorValueObject.create(ErrorType.NA); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.NA); }); @@ -81,7 +81,7 @@ describe('Test stdeva function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); }); @@ -99,7 +99,7 @@ describe('Test stdeva function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(30.04647742173025); }); }); diff --git a/packages/engine-formula/src/functions/statistical/stdevpa/__tests__/index.spec.ts b/packages/engine-formula/src/functions/statistical/stdevpa/__tests__/index.spec.ts index 8e82441af6..211a979407 100644 --- a/packages/engine-formula/src/functions/statistical/stdevpa/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/statistical/stdevpa/__tests__/index.spec.ts @@ -24,46 +24,46 @@ import { ErrorType } from '../../../../basics/error-type'; import { ErrorValueObject } from '../../../../engine/value-object/base-value-object'; describe('Test stdevpa function', () => { - const textFunction = new Stdevpa(FUNCTION_NAMES_STATISTICAL.STDEVPA); + const testFunction = new Stdevpa(FUNCTION_NAMES_STATISTICAL.STDEVPA); describe('Stdevpa', () => { it('Var1 is number, var2 is number', () => { const var1 = NumberValueObject.create(1); const var2 = NumberValueObject.create(2); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.5); }); it('Var1 is number, var2 is string', () => { const var1 = NumberValueObject.create(1); let var2 = StringValueObject.create('test'); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); var2 = StringValueObject.create('2'); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.5); }); it('Var1 is number, var2 is boolean', () => { const var1 = NumberValueObject.create(2); let var2 = BooleanValueObject.create(true); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.5); var2 = BooleanValueObject.create(false); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1); }); it('Var1 is number, var2 is null', () => { const var1 = NumberValueObject.create(1); const var2 = NullValueObject.create(); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.5); }); it('Var1 is number, var2 is error', () => { const var1 = NumberValueObject.create(1); const var2 = ErrorValueObject.create(ErrorType.NA); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.NA); }); @@ -81,7 +81,7 @@ describe('Test stdevpa function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); }); @@ -99,7 +99,7 @@ describe('Test stdevpa function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(28.648192160232153); }); }); diff --git a/packages/engine-formula/src/functions/statistical/var-p/__tests__/index.spec.ts b/packages/engine-formula/src/functions/statistical/var-p/__tests__/index.spec.ts index 9ff634e86b..3ae271cbef 100644 --- a/packages/engine-formula/src/functions/statistical/var-p/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/statistical/var-p/__tests__/index.spec.ts @@ -24,46 +24,46 @@ import { ErrorType } from '../../../../basics/error-type'; import { ErrorValueObject } from '../../../../engine/value-object/base-value-object'; describe('Test var.p function', () => { - const textFunction = new VarP(FUNCTION_NAMES_STATISTICAL.VAR_P); + const testFunction = new VarP(FUNCTION_NAMES_STATISTICAL.VAR_P); describe('VarP', () => { it('Var1 is number, var2 is number', () => { const var1 = NumberValueObject.create(1); const var2 = NumberValueObject.create(2); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.25); }); it('Var1 is number, var2 is string', () => { const var1 = NumberValueObject.create(1); let var2 = StringValueObject.create('test'); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); var2 = StringValueObject.create('2'); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.25); }); it('Var1 is number, var2 is boolean', () => { const var1 = NumberValueObject.create(2); let var2 = BooleanValueObject.create(true); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.25); var2 = BooleanValueObject.create(false); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1); }); it('Var1 is number, var2 is null', () => { const var1 = NumberValueObject.create(1); const var2 = NullValueObject.create(); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.25); }); it('Var1 is number, var2 is error', () => { const var1 = NumberValueObject.create(1); const var2 = ErrorValueObject.create(ErrorType.NA); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.NA); }); @@ -81,7 +81,7 @@ describe('Test var.p function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); }); @@ -99,7 +99,7 @@ describe('Test var.p function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1212.656624489796); }); }); diff --git a/packages/engine-formula/src/functions/statistical/var-s/__tests__/index.spec.ts b/packages/engine-formula/src/functions/statistical/var-s/__tests__/index.spec.ts index fd435482bd..425f0a0a35 100644 --- a/packages/engine-formula/src/functions/statistical/var-s/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/statistical/var-s/__tests__/index.spec.ts @@ -24,46 +24,46 @@ import { ErrorType } from '../../../../basics/error-type'; import { ErrorValueObject } from '../../../../engine/value-object/base-value-object'; describe('Test var.s function', () => { - const textFunction = new VarS(FUNCTION_NAMES_STATISTICAL.VAR_S); + const testFunction = new VarS(FUNCTION_NAMES_STATISTICAL.VAR_S); describe('Var.s', () => { it('Var1 is number, var2 is number', () => { const var1 = NumberValueObject.create(1); const var2 = NumberValueObject.create(2); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.5); }); it('Var1 is number, var2 is string', () => { const var1 = NumberValueObject.create(1); let var2 = StringValueObject.create('test'); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); var2 = StringValueObject.create('2'); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.5); }); it('Var1 is number, var2 is boolean', () => { const var1 = NumberValueObject.create(2); let var2 = BooleanValueObject.create(true); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.5); var2 = BooleanValueObject.create(false); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(2); }); it('Var1 is number, var2 is null', () => { const var1 = NumberValueObject.create(1); const var2 = NullValueObject.create(); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.5); }); it('Var1 is number, var2 is error', () => { const var1 = NumberValueObject.create(1); const var2 = ErrorValueObject.create(ErrorType.NA); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.NA); }); @@ -81,7 +81,7 @@ describe('Test var.s function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); }); @@ -99,7 +99,7 @@ describe('Test var.s function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1414.766061904762); }); }); diff --git a/packages/engine-formula/src/functions/statistical/vara/__tests__/index.spec.ts b/packages/engine-formula/src/functions/statistical/vara/__tests__/index.spec.ts index a957841ed4..21bab6fd86 100644 --- a/packages/engine-formula/src/functions/statistical/vara/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/statistical/vara/__tests__/index.spec.ts @@ -24,46 +24,46 @@ import { ErrorType } from '../../../../basics/error-type'; import { ErrorValueObject } from '../../../../engine/value-object/base-value-object'; describe('Test vara function', () => { - const textFunction = new Vara(FUNCTION_NAMES_STATISTICAL.VARA); + const testFunction = new Vara(FUNCTION_NAMES_STATISTICAL.VARA); describe('Vara', () => { it('Var1 is number, var2 is number', () => { const var1 = NumberValueObject.create(1); const var2 = NumberValueObject.create(2); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.5); }); it('Var1 is number, var2 is string', () => { const var1 = NumberValueObject.create(1); let var2 = StringValueObject.create('test'); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); var2 = StringValueObject.create('2'); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.5); }); it('Var1 is number, var2 is boolean', () => { const var1 = NumberValueObject.create(2); let var2 = BooleanValueObject.create(true); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.5); var2 = BooleanValueObject.create(false); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(2); }); it('Var1 is number, var2 is null', () => { const var1 = NumberValueObject.create(1); const var2 = NullValueObject.create(); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.5); }); it('Var1 is number, var2 is error', () => { const var1 = NumberValueObject.create(1); const var2 = ErrorValueObject.create(ErrorType.NA); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.NA); }); @@ -81,7 +81,7 @@ describe('Test vara function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); }); @@ -99,7 +99,7 @@ describe('Test vara function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(902.7908054545456); }); }); diff --git a/packages/engine-formula/src/functions/statistical/varpa/__tests__/index.spec.ts b/packages/engine-formula/src/functions/statistical/varpa/__tests__/index.spec.ts index d3f175d97a..8a00138a11 100644 --- a/packages/engine-formula/src/functions/statistical/varpa/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/statistical/varpa/__tests__/index.spec.ts @@ -24,46 +24,46 @@ import { ErrorType } from '../../../../basics/error-type'; import { ErrorValueObject } from '../../../../engine/value-object/base-value-object'; describe('Test varpa function', () => { - const textFunction = new Varpa(FUNCTION_NAMES_STATISTICAL.VARPA); + const testFunction = new Varpa(FUNCTION_NAMES_STATISTICAL.VARPA); describe('Varpa', () => { it('Var1 is number, var2 is number', () => { const var1 = NumberValueObject.create(1); const var2 = NumberValueObject.create(2); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.25); }); it('Var1 is number, var2 is string', () => { const var1 = NumberValueObject.create(1); let var2 = StringValueObject.create('test'); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); var2 = StringValueObject.create('2'); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.25); }); it('Var1 is number, var2 is boolean', () => { const var1 = NumberValueObject.create(2); let var2 = BooleanValueObject.create(true); - let result = textFunction.calculate(var1, var2); + let result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.25); var2 = BooleanValueObject.create(false); - result = textFunction.calculate(var1, var2); + result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(1); }); it('Var1 is number, var2 is null', () => { const var1 = NumberValueObject.create(1); const var2 = NullValueObject.create(); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(0.25); }); it('Var1 is number, var2 is error', () => { const var1 = NumberValueObject.create(1); const var2 = ErrorValueObject.create(ErrorType.NA); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.NA); }); @@ -81,7 +81,7 @@ describe('Test varpa function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(ErrorType.VALUE); }); @@ -99,7 +99,7 @@ describe('Test varpa function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(var1, var2); + const result = testFunction.calculate(var1, var2); expect(result.getValue()).toBe(820.7189140495869); }); }); diff --git a/packages/engine-formula/src/functions/text/concatenate/__tests__/index.spec.ts b/packages/engine-formula/src/functions/text/concatenate/__tests__/index.spec.ts index 54fb79acca..2575447cf1 100644 --- a/packages/engine-formula/src/functions/text/concatenate/__tests__/index.spec.ts +++ b/packages/engine-formula/src/functions/text/concatenate/__tests__/index.spec.ts @@ -22,19 +22,19 @@ import { StringValueObject } from '../../../../engine/value-object/primitive-obj import { ArrayValueObject, transformToValue, transformToValueObject } from '../../../../engine/value-object/array-value-object'; describe('Test concatenate function', () => { - const textFunction = new Concatenate(FUNCTION_NAMES_TEXT.CONCATENATE); + const testFunction = new Concatenate(FUNCTION_NAMES_TEXT.CONCATENATE); describe('Concatenate', () => { it('Text is single cell', () => { const text1 = StringValueObject.create('Start '); const text2 = StringValueObject.create('End'); - const result = textFunction.calculate(text1, text2); + const result = testFunction.calculate(text1, text2); expect(transformToValue(result.getArrayValue())).toStrictEqual([['Start End']]); }); it('Text is single cell with quotation marks', () => { const text1 = StringValueObject.create('"Hello ""World"'); - const result = textFunction.calculate(text1); + const result = testFunction.calculate(text1); expect(transformToValue(result.getArrayValue())).toStrictEqual([['Hello "World']]); }); @@ -53,7 +53,7 @@ describe('Test concatenate function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(text1, text2); + const result = testFunction.calculate(text1, text2); expect(transformToValue(result.getArrayValue())).toStrictEqual([['a1', 'a2', 'a3'], ['a2', 'a3', 'a4'], ['a3', 'a4', 'a5']]); }); @@ -72,7 +72,7 @@ describe('Test concatenate function', () => { column: 0, }); const text2 = StringValueObject.create('a'); - const result = textFunction.calculate(text1, text2); + const result = testFunction.calculate(text1, text2); expect(transformToValue(result.getArrayValue())).toStrictEqual([['1a', '2a', '3a'], ['2a', '3a', '4a'], ['3a', '4a', '5a']]); }); @@ -101,7 +101,7 @@ describe('Test concatenate function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(text1, text2); + const result = testFunction.calculate(text1, text2); expect(transformToValue(result.getArrayValue())).toStrictEqual([['a1', 'a2', 'a3'], ['b1', 'b2', 'b3'], ['c1', 'c2', 'c3']]); }); @@ -131,7 +131,7 @@ describe('Test concatenate function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(text1, text2); + const result = testFunction.calculate(text1, text2); expect(transformToValue(result.getArrayValue())).toStrictEqual([['a1', 'd2', '#N/A'], ['00', '', '#N/A'], ['#N/A', '#N/A', '#N/A']]); }); }); diff --git a/packages/engine-formula/src/functions/text/len/__test__/index.spec.ts b/packages/engine-formula/src/functions/text/len/__test__/index.spec.ts index 32a823b7fa..49eed6a158 100644 --- a/packages/engine-formula/src/functions/text/len/__test__/index.spec.ts +++ b/packages/engine-formula/src/functions/text/len/__test__/index.spec.ts @@ -23,12 +23,12 @@ import { ArrayValueObject, transformToValue, transformToValueObject } from '../. import { ErrorType } from '../../../../basics/error-type'; describe('Test len function', () => { - const textFunction = new Len(FUNCTION_NAMES_TEXT.LEN); + const testFunction = new Len(FUNCTION_NAMES_TEXT.LEN); describe('Len', () => { it('Text is single cell', () => { const text = StringValueObject.create('Univer'); - const result = textFunction.calculate(text); + const result = testFunction.calculate(text); expect(result.getValue()).toStrictEqual(6); }); @@ -45,7 +45,7 @@ describe('Test len function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(text); + const result = testFunction.calculate(text); expect(transformToValue(result.getArrayValue())).toStrictEqual([ [1, 1, 4, 4, 5, 0, 16], [1, 3, 4, 4, 2, '#VALUE!', 0], @@ -75,7 +75,7 @@ describe('Test len function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(text); + const result = testFunction.calculate(text); expect(transformToValue(result.getArrayValue())).toStrictEqual([[1], [1], [1], [1], [1], [1], [1], [2], [2], [8], [2], [2], [1]]); }); }); diff --git a/packages/engine-formula/src/functions/text/lenb/__test__/index.spec.ts b/packages/engine-formula/src/functions/text/lenb/__test__/index.spec.ts index eac1794eb4..6e6b0b756a 100644 --- a/packages/engine-formula/src/functions/text/lenb/__test__/index.spec.ts +++ b/packages/engine-formula/src/functions/text/lenb/__test__/index.spec.ts @@ -23,12 +23,12 @@ import { ArrayValueObject, transformToValue, transformToValueObject } from '../. import { ErrorType } from '../../../../basics/error-type'; describe('Test lenb function', () => { - const textFunction = new Lenb(FUNCTION_NAMES_TEXT.LENB); + const testFunction = new Lenb(FUNCTION_NAMES_TEXT.LENB); describe('Lenb', () => { it('Text is single cell', () => { const text = StringValueObject.create('Univer'); - const result = textFunction.calculate(text); + const result = testFunction.calculate(text); expect(result.getValue()).toStrictEqual(6); }); @@ -45,7 +45,7 @@ describe('Test lenb function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(text); + const result = testFunction.calculate(text); expect(transformToValue(result.getArrayValue())).toStrictEqual([ [1, 1, 4, 4, 5, 0, 26], [1, 3, 4, 4, 2, '#VALUE!', 0], @@ -76,7 +76,7 @@ describe('Test lenb function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(text); + const result = testFunction.calculate(text); expect(transformToValue(result.getArrayValue())).toStrictEqual([[1], [1], [1], [1], [1], [2], [2], [2], [2], [8], [2], [2], [1]]); }); }); diff --git a/packages/engine-formula/src/functions/text/lower/__test__/index.spec.ts b/packages/engine-formula/src/functions/text/lower/__test__/index.spec.ts index c51b4e32f3..643e69d2f6 100644 --- a/packages/engine-formula/src/functions/text/lower/__test__/index.spec.ts +++ b/packages/engine-formula/src/functions/text/lower/__test__/index.spec.ts @@ -23,24 +23,24 @@ import { ArrayValueObject, transformToValue, transformToValueObject } from '../. import { ErrorType } from '../../../../basics/error-type'; describe('Test lower function', () => { - const textFunction = new Lower(FUNCTION_NAMES_TEXT.LOWER); + const testFunction = new Lower(FUNCTION_NAMES_TEXT.LOWER); describe('Lower', () => { it('Value is normal', () => { const value = StringValueObject.create('Apt. 2B'); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe('apt. 2b'); }); it('Value is number', () => { const value = NumberValueObject.create(1); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe('1'); }); it('Value is boolean', () => { const value = BooleanValueObject.create(true); - const result = textFunction.calculate(value); + const result = testFunction.calculate(value); expect(result.getValue()).toBe('true'); }); @@ -57,7 +57,7 @@ describe('Test lower function', () => { row: 0, column: 0, }); - const result = textFunction.calculate(text); + const result = testFunction.calculate(text); expect(transformToValue(result.getArrayValue())).toStrictEqual([ ['1', ' ', '1.23', 'true', 'false', '', 'univer表格シート繁體한국인'], ['0', '100', '2.34', 'test', '-3', '#VALUE!', ''], diff --git a/packages/engine-formula/src/functions/text/text/__test__/index.spec.ts b/packages/engine-formula/src/functions/text/text/__test__/index.spec.ts index fa732ff5b8..e7b03e4504 100644 --- a/packages/engine-formula/src/functions/text/text/__test__/index.spec.ts +++ b/packages/engine-formula/src/functions/text/text/__test__/index.spec.ts @@ -22,13 +22,13 @@ import { NumberValueObject, StringValueObject } from '../../../../engine/value-o import { transformToValue } from '../../../../engine/value-object/array-value-object'; describe('Test text function', () => { - const textFunction = new Text(FUNCTION_NAMES_TEXT.TEXT); + const testFunction = new Text(FUNCTION_NAMES_TEXT.TEXT); describe('Text', () => { it('Text is single cell, format text is single cell', () => { const text1 = NumberValueObject.create(111); const formatText = StringValueObject.create('$#,##0.00'); - const result = textFunction.calculate(text1, formatText); + const result = testFunction.calculate(text1, formatText); const resultArray = result.getArrayValue(); expect(transformToValue(resultArray)).toStrictEqual([['$111.00']]); }); diff --git a/packages/sheets-ui/src/services/selection/__test__/selection-render.test.ts b/packages/sheets-ui/src/services/selection/__test__/selection-render.test.ts index aa579a23df..d4203b8f91 100644 --- a/packages/sheets-ui/src/services/selection/__test__/selection-render.test.ts +++ b/packages/sheets-ui/src/services/selection/__test__/selection-render.test.ts @@ -164,7 +164,6 @@ class MockEngine extends ThinEngine { } describe('Test indirect', () => { - // const textFunction = new Makearray(FUNCTION_NAMES_LOGICAL.MAKEARRAY); let get: Injector['get']; let themeService: ThemeService;