diff --git a/tests/ButtonSet.test.svelte b/tests/ButtonSet.test.svelte
deleted file mode 100644
index f6b8bf89..00000000
--- a/tests/ButtonSet.test.svelte
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/ButtonSet/ButtonSet.test.svelte b/tests/ButtonSet/ButtonSet.test.svelte
new file mode 100644
index 00000000..102ccd53
--- /dev/null
+++ b/tests/ButtonSet/ButtonSet.test.svelte
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/tests/ButtonSet/ButtonSet.test.ts b/tests/ButtonSet/ButtonSet.test.ts
new file mode 100644
index 00000000..706a8c84
--- /dev/null
+++ b/tests/ButtonSet/ButtonSet.test.ts
@@ -0,0 +1,26 @@
+import { render, screen } from "@testing-library/svelte";
+import ButtonSet from "./ButtonSet.test.svelte";
+
+describe("ButtonSet", () => {
+ it("renders buttons juxtaposed by default", () => {
+ render(ButtonSet);
+
+ const buttonSet = screen.getByTestId("button-set");
+ expect(buttonSet).toBeInTheDocument();
+ expect(buttonSet).toHaveClass("bx--btn-set");
+ });
+
+ it("renders buttons vertically when stacked prop is true", () => {
+ render(ButtonSet, { stacked: true });
+
+ const buttonSet = screen.getByTestId("button-set");
+ expect(buttonSet).toBeInTheDocument();
+ expect(buttonSet).toHaveClass("bx--btn-set");
+ expect(buttonSet).toHaveClass("bx--btn-set--stacked");
+
+ const buttons = screen.getAllByRole("button");
+ expect(buttons).toHaveLength(2);
+ expect(buttons[0]).toHaveTextContent("Cancel");
+ expect(buttons[1]).toHaveTextContent("Submit");
+ });
+});