diff --git a/test/bit_string_test.cpp b/test/bit_string_test.cpp
index aaf5b90..c763cf6 100644
--- a/test/bit_string_test.cpp
+++ b/test/bit_string_test.cpp
@@ -1,4 +1,4 @@
-#include <hei_user_defines.hpp>
+#include <hei_macros.hpp>
 #include <util/hei_bit_string.hpp>
 
 #include "gtest/gtest.h"
diff --git a/test/hei_user_defines.cpp b/test/hei_user_defines.cpp
new file mode 100644
index 0000000..f6e39f0
--- /dev/null
+++ b/test/hei_user_defines.cpp
@@ -0,0 +1,30 @@
+#include <assert.h>
+#include <stdarg.h>
+#include <stdio.h>
+
+namespace libhei
+{
+
+void hei_inf(char* format, ...)
+{
+    va_list args;
+
+    printf("I> ");
+    va_start(args, format);
+    vprintf(format, args);
+    va_end(args);
+    printf("\n");
+}
+
+void hei_err(char* format, ...)
+{
+    va_list args;
+
+    printf("E> ");
+    va_start(args, format);
+    vprintf(format, args);
+    va_end(args);
+    printf("\n");
+}
+
+} // namespace libhei
diff --git a/test/hei_user_defines.hpp b/test/hei_user_defines.hpp
deleted file mode 100644
index 08ddda9..0000000
--- a/test/hei_user_defines.hpp
+++ /dev/null
@@ -1,25 +0,0 @@
-#pragma once
-
-/**
- * @file hei_user_defines.hpp
- * @brief The purpose of this file is to create common defines that
- *        will be used throughout this library.
- */
-
-#include <assert.h>
-#include <inttypes.h>
-#include <stdio.h>
-
-#define HEI_INF(...)                                                           \
-    {                                                                          \
-        printf("I> " __VA_ARGS__);                                             \
-        printf("\n");                                                          \
-    }
-
-#define HEI_ERR(...)                                                           \
-    {                                                                          \
-        printf("E> " __VA_ARGS__);                                             \
-        printf("\n");                                                          \
-    }
-
-#define HEI_ASSERT(expression) assert(expression);
diff --git a/test/meson.build b/test/meson.build
index ce1e5da..209bad3 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -2,7 +2,8 @@
 subdir('simulator')
 
 # supporting files that need compiled/linked
-test_src = ['../src/util/hei_bit_string.cpp']
+test_src = ['../src/util/hei_bit_string.cpp',
+               'hei_user_defines.cpp']
 
 # build g-test framework unit tests
 gtests = [
diff --git a/test/simulator/user_interface.cpp b/test/simulator/hei_user_interface.cpp
similarity index 98%
rename from test/simulator/user_interface.cpp
rename to test/simulator/hei_user_interface.cpp
index 9f841bb..658a1ef 100644
--- a/test/simulator/user_interface.cpp
+++ b/test/simulator/hei_user_interface.cpp
@@ -7,6 +7,7 @@
 
 #include <endian.h>
 
+#include <hei_macros.hpp>
 #include <hei_user_interface.hpp>
 
 namespace libhei
diff --git a/test/simulator/meson.build b/test/simulator/meson.build
index 0f96bb3..ec5410f 100644
--- a/test/simulator/meson.build
+++ b/test/simulator/meson.build
@@ -1,28 +1,22 @@
 # Simulator sources
-sim_src = [
+sim_libhei = [
     'simulator.cpp',
-    'user_interface.cpp',
-]
-
-# Isolator sources
-iso_src = [
-    '../../src/isolator/hei_isolator.cpp',
-    '../../src/isolator/hei_isolation_chip.cpp',
-    '../../src/isolator/hei_isolation_node.cpp',
-    '../../src/register/hei_hardware_register.cpp',
-    '../../src/util/hei_bit_string.cpp',
+    'hei_user_interface.cpp',
+    '../hei_user_defines.cpp'
 ]
 
 # Test cases
-test_src = [
+test_libhei = [
     'sample_test_case.cpp',
 ]
 
 gtest = dependency('gtest', main : true, required : false, method : 'system')
 
+# Build simulator linked locally
 if gtest.found()
-    test('simulator', \
-         executable('simulator', sim_src, iso_src, test_src, \
-                    dependencies : gtest, include_directories: incdir))
+    test('simulator',
+         executable('simulator', sim_libhei, test_libhei,
+                    dependencies : gtest,
+                    link_with : libhei_static,
+                    include_directories: incdir))
 endif
-
