diff --git a/tests/cd.cpp b/tests/cd.cpp
new file mode 100644
index 0000000..39487a3
--- /dev/null
+++ b/tests/cd.cpp
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2018 CESNET, https://photonics.cesnet.cz/
+ * Copyright (C) 2018 FIT CVUT, https://fit.cvut.cz/
+ *
+ * Written by Václav Kubernát <kubervac@fit.cvut.cz>
+ *
+*/
+
+#include "trompeloeil_catch.h"
+#include "CParser.hpp"
+#include "CTree.hpp"
+#include "ast.hpp"
+
+TEST_CASE("cd")
+{
+    CTree tree;
+    tree.addContainer("", "a");
+    tree.addContainer("", "b");
+    tree.addContainer("a", "a2");
+    tree.addContainer("b", "b2");
+    tree.addContainer("a/a2", "a3");
+    tree.addContainer("b/b2", "b3");
+
+    CParser parser(tree);
+    cd_ expected;
+
+    std::string input;
+
+    SECTION("basic cd parsing")
+    {
+        SECTION("a")
+        {
+            input = "cd a";
+            expected.m_path.m_nodes.push_back(container_("a"));
+        }
+
+        SECTION("b")
+        {
+            input = "cd b";
+            expected.m_path.m_nodes.push_back(container_("b"));
+        }
+
+
+        SECTION("a/a2")
+        {
+            input = "cd a/a2";
+            expected.m_path.m_nodes.push_back(container_("a"));
+            expected.m_path.m_nodes.push_back(container_("a2"));
+        }
+
+        SECTION("b/b2")
+        {
+            input = "cd b/b2";
+            expected.m_path.m_nodes.push_back(container_("b"));
+            expected.m_path.m_nodes.push_back(container_("b2"));
+        }
+
+        cd_ command = parser.parseCommand(input);
+        REQUIRE(command == expected);
+    }
+
+    SECTION("InvalidNodeException")
+    {
+        SECTION("x")
+        {
+            input = "cd x";
+        }
+
+        SECTION("a/x")
+        {
+            input = "cd a/x";
+        }
+        REQUIRE_THROWS_AS(parser.parseCommand(input), InvalidNodeException);
+    }
+}
