diff --git a/CHANGELOG.md b/CHANGELOG.md
index 301efa22..25629534 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -21,6 +21,7 @@ and adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
- Modified `roughjs` import to be compatible with Jest's `moduleNameMapper` config option.
- Added instructions on the `memory-viz/README.md` for running the test suite.
- Fix CI build action for demo website.
+- Added data type and manual layout tests for the `draw` function.
- Updated file paths for example files under docs to import the correct file.
## [0.1.0] - 2024-04-16
diff --git a/memory-viz/package.json b/memory-viz/package.json
index 6f6d6506..f053e23d 100644
--- a/memory-viz/package.json
+++ b/memory-viz/package.json
@@ -25,6 +25,7 @@
"Yoonie Jang",
"Shannon Komguem",
"Utku Egemen Umut",
+ "Sarah Wang",
"Ziyuan (Jerry) Zhang"
],
"license": "MIT",
diff --git a/memory-viz/src/tests/__snapshots__/draw.spec.tsx.snap b/memory-viz/src/tests/__snapshots__/draw.spec.tsx.snap
index 4a828475..1e2e4a61 100644
--- a/memory-viz/src/tests/__snapshots__/draw.spec.tsx.snap
+++ b/memory-viz/src/tests/__snapshots__/draw.spec.tsx.snap
@@ -1,3 +1,41 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
+exports[`draw function renders a blank space 1`] = `""`;
+
+exports[`draw function renders a bool 1`] = `""`;
+
+exports[`draw function renders a bool using manual layout 1`] = `""`;
+
+exports[`draw function renders a dict 1`] = `""`;
+
+exports[`draw function renders a float 1`] = `""`;
+
+exports[`draw function renders a list with indexes showing 1`] = `""`;
+
+exports[`draw function renders a list without indexes showing 1`] = `""`;
+
+exports[`draw function renders a set 1`] = `""`;
+
+exports[`draw function renders a stack frame and an int 1`] = `""`;
+
+exports[`draw function renders a stack frame using manual layout 1`] = `""`;
+
+exports[`draw function renders a str 1`] = `""`;
+
+exports[`draw function renders a tuple with indexes showing 1`] = `""`;
+
+exports[`draw function renders a tuple without indexes showing 1`] = `""`;
+
+exports[`draw function renders an empty dict 1`] = `""`;
+
+exports[`draw function renders an empty list 1`] = `""`;
+
+exports[`draw function renders an empty set 1`] = `""`;
+
+exports[`draw function renders an empty tuple 1`] = `""`;
+
+exports[`draw function renders an int 1`] = `""`;
+
+exports[`draw function renders an object with no type and no value 1`] = `""`;
+
exports[`draw function should produce consistent svg when provided seed 1`] = `""`;
diff --git a/memory-viz/src/tests/draw.spec.tsx b/memory-viz/src/tests/draw.spec.tsx
index 3acc508c..6752b45e 100644
--- a/memory-viz/src/tests/draw.spec.tsx
+++ b/memory-viz/src/tests/draw.spec.tsx
@@ -27,4 +27,279 @@ describe("draw function", () => {
const svg: String = m.serializeSVG();
expect(svg).toMatchSnapshot();
});
+
+ it("renders a bool", () => {
+ const objects: Array