-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Basic Vitest implementation #267
Changes from 7 commits
648f14a
ab3270f
d2952db
88e5fae
3e0d5ac
88a2656
8972511
a83aec3
330093d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
export const supportedChainIds = [42069, 31337] as const; | ||
|
||
export type SupportedChainId = (typeof supportedChainIds)[number]; | ||
export type SupportedChainId = typeof supportedChainIds[number]; |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,6 +12,8 @@ | |
"dev": "turbo run dev --parallel --filter=./apps/*", | ||
"lint": "turbo run lint", | ||
"lint:packages": "turbo run lint --filter=./packages/*", | ||
"test": "yarn workspace @hyperdrive/core run test", | ||
"test:run": "yarn workspace @hyperdrive/core run test:run", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. minor: top-level package.json shouldn't include any specific project scripts. Let's add just add the |
||
"format": "turbo run format", | ||
"format:check": "turbo run format:check", | ||
"postinstall": "husky install" | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
import { multiplyBigInt } from "src/base/multiplyBigInt"; | ||
import { test, assert } from "vitest"; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. minor: Curious why we're using |
||
|
||
test("multiplyBigInt: simple multiplication", async () => { | ||
const result = multiplyBigInt([500n, 50n], 2); | ||
assert.equal(result, 250n, "5.00 * 0.50 should equal 2.50"); | ||
}); | ||
|
||
test("multiplyBigInt: when values array is empty", async () => { | ||
const result = multiplyBigInt([], 2); | ||
assert.equal(result, 0n, "Multiplying empty array should return 0"); | ||
}); | ||
|
||
test("multiplyBigInt: single value input", async () => { | ||
const result = multiplyBigInt([10n], 2); | ||
assert.equal(result, 10n, "Single value should be returned as-is"); | ||
}); | ||
|
||
test("multiplyBigInt: multiplying with zero", async () => { | ||
const result = multiplyBigInt([500n, 0n], 2); | ||
assert.equal(result, 0n, "Any value multiplied by 0 should be 0"); | ||
}); | ||
|
||
test("multiplyBigInt: multiplying multiple bigint values", async () => { | ||
// Test case: multiplying three values | ||
// Let's say our values are [2000n, 300n, 50n] and for 2 decimals, this translates to 20.00 * 3.00 * 0.50 = 30.00 | ||
const result = multiplyBigInt([2000n, 300n, 50n], 2); | ||
assert.equal(result, 3000n, "20.00 * 3.00 * 0.50 should equal 30.00"); | ||
}); |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
import { defineConfig } from "vitest/config"; | ||
import type { UserConfig as VitestUserConfigInterface } from "vitest/config"; | ||
|
||
const vitestConfig: VitestUserConfigInterface = { | ||
test: { | ||
// https://vitest.dev/config | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Setup the test config so we can customize it when needed. |
||
}, | ||
}; | ||
|
||
export default defineConfig({ | ||
test: vitestConfig.test, | ||
}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not related to this PR, but when I pulled main this file was updated. Do we need the parens here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not if it builds without em 👍