From 3986c6c0f25c3ac1d0ac3dd3ec83cf8f97908e99 Mon Sep 17 00:00:00 2001 From: ShiboSoftwareDev Date: Sat, 4 Oct 2025 22:30:25 +0200 Subject: [PATCH 1/2] boost converter circuit for spice simulation --- .../spice-boost-converter-simulation.snap.svg | 83 +++++++++++++++++ .../spice-boost-converter.test.tsx | 89 +++++++++++++++++++ 2 files changed, 172 insertions(+) create mode 100644 tests/features/spice-analysis/__snapshots__/spice-boost-converter-simulation.snap.svg create mode 100644 tests/features/spice-analysis/spice-boost-converter.test.tsx diff --git a/tests/features/spice-analysis/__snapshots__/spice-boost-converter-simulation.snap.svg b/tests/features/spice-analysis/__snapshots__/spice-boost-converter-simulation.snap.svg new file mode 100644 index 000000000..fdc566e72 --- /dev/null +++ b/tests/features/spice-analysis/__snapshots__/spice-boost-converter-simulation.snap.svg @@ -0,0 +1,83 @@ +V1L11HD1C110uFR11kΩV2M1V1_pin1/L1_pin1V1_pin1/L1_pin1GNDGNDGNDGNDGNDL1_pin2/D1_pin1/M1_pin1D1_pin2/C1_pin1/R1_pin1D1_pin2/C1_pin1/R1_pin1D1_pin2/C1_pin1/R1_pin1V2_pin1/M1_pin3V2_pin1/M1_pin30246810-50510Time (ms)Voltage (V)N1 (spicey)N2 (spicey)N3 (spicey)N4 (spicey) \ No newline at end of file diff --git a/tests/features/spice-analysis/spice-boost-converter.test.tsx b/tests/features/spice-analysis/spice-boost-converter.test.tsx new file mode 100644 index 000000000..f46c1f94d --- /dev/null +++ b/tests/features/spice-analysis/spice-boost-converter.test.tsx @@ -0,0 +1,89 @@ +import { test, expect } from "bun:test" +import type { SimulationTransientVoltageGraph } from "circuit-json" +import { getTestFixture } from "tests/fixtures/get-test-fixture" + +test( + "spice-analysis01-platform-config", + async () => { + const { circuit } = getTestFixture() + + circuit.add( + + + .pin1"} to={".L1 > .pin1"} /> + .pin2"} to={".D1 > .anode"} /> + .cathode"} to={".C1 > .pin1"} /> + .cathode"} to={".R1 > .pin1"} /> + .pin2"} to={".R1 > .pin2"} /> + .pin2"} to={".V1 > .pin2"} /> + .pin2"} to={".M1 > .drain"} /> + .source"} to={".V1 > .pin2"} /> + .source"} to={"net.GND"} /> + .gate"} to={".V2 > .pin1"} /> + .pin2"} to={".V1 > .pin2"} /> + + + + + + + + , + ) + + await circuit.renderUntilSettled() + + const circuitJson = circuit.getCircuitJson() + + expect( + circuitJson.some( + (el) => el.type === "simulation_transient_voltage_graph", + ), + ).toBe(true) + + expect(circuit).toMatchSimulationSnapshot(import.meta.path) + }, + { timeout: 20000 }, +) From 87d0ff5abfef32520ff60b73a1cba775b8686303 Mon Sep 17 00:00:00 2001 From: ShiboSoftwareDev Date: Sat, 4 Oct 2025 22:32:05 +0200 Subject: [PATCH 2/2] rename --- ...svg => spice-analysis02-boost-converter-simulation.snap.svg} | 0 ...erter.test.tsx => spice-analysis02-boost-converter.test.tsx} | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename tests/features/spice-analysis/__snapshots__/{spice-boost-converter-simulation.snap.svg => spice-analysis02-boost-converter-simulation.snap.svg} (100%) rename tests/features/spice-analysis/{spice-boost-converter.test.tsx => spice-analysis02-boost-converter.test.tsx} (98%) diff --git a/tests/features/spice-analysis/__snapshots__/spice-boost-converter-simulation.snap.svg b/tests/features/spice-analysis/__snapshots__/spice-analysis02-boost-converter-simulation.snap.svg similarity index 100% rename from tests/features/spice-analysis/__snapshots__/spice-boost-converter-simulation.snap.svg rename to tests/features/spice-analysis/__snapshots__/spice-analysis02-boost-converter-simulation.snap.svg diff --git a/tests/features/spice-analysis/spice-boost-converter.test.tsx b/tests/features/spice-analysis/spice-analysis02-boost-converter.test.tsx similarity index 98% rename from tests/features/spice-analysis/spice-boost-converter.test.tsx rename to tests/features/spice-analysis/spice-analysis02-boost-converter.test.tsx index f46c1f94d..185ae6167 100644 --- a/tests/features/spice-analysis/spice-boost-converter.test.tsx +++ b/tests/features/spice-analysis/spice-analysis02-boost-converter.test.tsx @@ -3,7 +3,7 @@ import type { SimulationTransientVoltageGraph } from "circuit-json" import { getTestFixture } from "tests/fixtures/get-test-fixture" test( - "spice-analysis01-platform-config", + "spice-analysis02-boost-converter", async () => { const { circuit } = getTestFixture()