diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index de3c3ebeb5d69b8e25116061c76c1f37af7bbf23..38635a1d76bccde15b7e0ec9edce17c334b7f0ad 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -3,6 +3,7 @@ include_directories("${CATCH_INCLUDE_PATH}")
 set(EXECUTABLE_OUTPUT_PATH ${PASTIS_BINARY_DIR})
 add_executable (unit_tests
   test_main.cpp
+  test_PastisAssert.cpp
   test_RevisionInfo.cpp
   test_TinyMatrix.cpp
   test_TinyVector.cpp)
diff --git a/tests/test_PastisAssert.cpp b/tests/test_PastisAssert.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..8d07321a113be496a220cbfe62934248c3c8907b
--- /dev/null
+++ b/tests/test_PastisAssert.cpp
@@ -0,0 +1,17 @@
+#include <catch.hpp>
+
+#include <PastisAssert.hpp>
+#include <string>
+
+TEST_CASE("PastisAssert", "[assert]") {
+  SECTION("checking for assert error") {
+    const std::string filename = "filename";
+    const int line = 10;
+    const std::string function = "function";
+    const std::string message = "message";
+
+    AssertError assert_error(filename, line, function, message);
+
+    REQUIRE(Catch::Detail::stringify(assert_error) == "\n*** Assertion error ***\n at filename:10\n in function\n*** message\n");
+  }
+}