* Result type for console mocks
*/
export interface ConsoleMockResult {
- errorMock: { mock: { calls: unknown[][] } }
- infoMock: { mock: { calls: unknown[][] } }
- warnMock: { mock: { calls: unknown[][] } }
+ errorMock: { mock: { calls: MockCall[] } }
+ infoMock: { mock: { calls: MockCall[] } }
+ warnMock: { mock: { calls: MockCall[] } }
}
/**
* Result type for logger mocks
*/
export interface LoggerMockResult {
- errorMock: { mock: { calls: unknown[][] } }
- warnMock: { mock: { calls: unknown[][] } }
+ errorMock: { mock: { calls: MockCall[] } }
+ warnMock: { mock: { calls: MockCall[] } }
}
/**
apis?: MockableTimerAPI[]
}
+/**
+ * Single mock function call record matching Node.js test runner runtime shape
+ */
+interface MockCall {
+ arguments: unknown[]
+}
+
/**
* Mock context type for Node.js test module
*/
interface MockContext {
mock: {
- method: (object: object, methodName: string) => { mock: { calls: unknown[][] } }
+ method: (object: object, methodName: string) => { mock: { calls: MockCall[] } }
}
}
import { ACElectricUtils, DCElectricUtils } from '../../src/utils/ElectricUtils.js'
import { standardCleanup } from '../helpers/TestLifecycleHelpers.js'
+const COS_PHI_RESIDENTIAL = 0.85
+const COS_PHI_POOR = 0.9
+const COS_PHI_INDUSTRIAL = 0.95
+
await describe('ElectricUtils', async () => {
afterEach(() => {
standardCleanup()
expect(ACElectricUtils.amperagePerPhaseFromPower(-1, 690, 230)).toBe(0)
})
await it('should round AC power per phase with non-unity cosPhi', () => {
- expect(ACElectricUtils.powerPerPhase(230, 10, 0.85)).toBe(1955)
+ expect(ACElectricUtils.powerPerPhase(230, 10, COS_PHI_RESIDENTIAL)).toBe(1955)
})
await it('should round DC amperage when power is not evenly divisible by voltage', () => {
expect(DCElectricUtils.amperage(100, 3)).toBe(33)
})
await it('should handle industrial cosPhi values for AC calculations', () => {
- // cosPhi = 0.95 (typical industrial)
- expect(ACElectricUtils.powerPerPhase(230, 32, 0.95)).toBe(6992)
- expect(ACElectricUtils.powerTotal(3, 230, 32, 0.95)).toBe(20976)
- expect(ACElectricUtils.amperageTotalFromPower(6992, 230, 0.95)).toBe(32)
- // cosPhi = 0.9
- expect(ACElectricUtils.powerPerPhase(230, 32, 0.9)).toBe(6624)
- expect(ACElectricUtils.amperageTotalFromPower(6624, 230, 0.9)).toBe(32)
+ expect(ACElectricUtils.powerPerPhase(230, 32, COS_PHI_INDUSTRIAL)).toBe(6992)
+ expect(ACElectricUtils.powerTotal(3, 230, 32, COS_PHI_INDUSTRIAL)).toBe(20976)
+ expect(ACElectricUtils.amperageTotalFromPower(6992, 230, COS_PHI_INDUSTRIAL)).toBe(32)
+ expect(ACElectricUtils.powerPerPhase(230, 32, COS_PHI_POOR)).toBe(6624)
+ expect(ACElectricUtils.amperageTotalFromPower(6624, 230, COS_PHI_POOR)).toBe(32)
})
})