diff --git a/FunctionSpace/BasisTest.cpp b/FunctionSpace/BasisTest.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..94a55c3fc64307d353db2646d1ebf96b394f086b
--- /dev/null
+++ b/FunctionSpace/BasisTest.cpp
@@ -0,0 +1,37 @@
+#include <iostream>
+#include "Mesh.h"
+#include "Gmsh.h"
+
+#include "QuadNodeBasis.h"
+#include "QuadEdgeBasis.h"
+
+#include "TriNodeBasis.h"
+#include "TriEdgeBasis.h"
+#include "TriNedelecBasis.h"
+
+#include "HexNodeBasis.h"
+#include "HexEdgeBasis.h"
+
+#include "PlotBasis.h"
+
+using namespace std;
+
+int main(int argc, char** argv){
+  // Init Gmsh //
+  GmshInitialize(argc, argv);
+
+  // Get Mesh //
+  Mesh msh(argv[1]);
+
+  // Plot Basis //
+  QuadEdgeBasis b(1);
+  
+  PlotBasis plot(msh.getGroup(2), b);
+  plot.write("basis");
+  
+  // Stop Gmsh //
+  GmshFinalize();
+  
+  return 0;
+}
+
diff --git a/FunctionSpace/CMakeLists.txt b/FunctionSpace/CMakeLists.txt
index 4ac9bdc39e3cfbf55eca514507ccb9017ef7b78e..6630f7738bbcf2f6e3323069826171fe991f4bb3 100644
--- a/FunctionSpace/CMakeLists.txt
+++ b/FunctionSpace/CMakeLists.txt
@@ -19,6 +19,8 @@ set(SRC
   HexEdgeBasis.cpp
 
   FunctionSpace.cpp
+
+  BasisTest.cpp
 )
 
 file(GLOB HDR RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h)