From 99d269e82cc7b7bf23d6ce51b151ae5d31d93733 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Giann=20Karlo=20Aguirre=20Sambon=C3=AD?=
 <giannkas1@gmail.com>
Date: Wed, 31 Oct 2018 18:35:33 +0100
Subject: [PATCH] printable node types

---
 src/CMakeLists.txt |  2 +-
 src/adt2amas.cpp   |  8 +++++---
 src/node_type.cpp  | 18 ++++++++++++++++++
 src/node_type.hpp  |  4 ++++
 4 files changed, 28 insertions(+), 4 deletions(-)
 create mode 100644 src/node_type.cpp

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 64d53c1..88de2d6 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -5,7 +5,7 @@ cmake_minimum_required(VERSION 3.0.0)
 project(adt2amas_exec CXX)
 
 # Libraries
-add_library(adt_libs ad_tree.cpp tree_node.cpp node_type.hpp)
+add_library(adt_libs ad_tree.cpp tree_node.cpp node_type.cpp)
 target_include_directories(adt_libs PUBLIC ${CMAKE_CURRENT_LIST_DIR})
 
 # The main programn
diff --git a/src/adt2amas.cpp b/src/adt2amas.cpp
index 023e053..47bf3e9 100644
--- a/src/adt2amas.cpp
+++ b/src/adt2amas.cpp
@@ -41,8 +41,9 @@ int main(){
 	// Removing...
 	//node_one->remove_child(node_six, node_one);
 	node_one->remove_parent_pos(0, node_six);
-	node_one->remove_child_pos(0, node_ten);
+	// node_one->remove_child_pos(0, node_ten);
 
+	// Lineage printing...
 	cout << "child associated ids of node one:" << endl;
 	for (auto& i : node_one->get_child_associated_ids()) // reference to The C++ Programming Language book, p. 899
 		cout << i << ' ';
@@ -68,7 +69,8 @@ int main(){
 
 	delete tree;
 
-	NodeType nodeTest{NodeType::Defence};
-	cout << "node type = " << static_cast<int>(nodeTest) << endl;
+	NodeType nodeTest{NodeType::Attack};
+	cout << "node type = " << to_string(nodeTest) << endl;
+
 
 }
diff --git a/src/node_type.cpp b/src/node_type.cpp
new file mode 100644
index 0000000..b34514a
--- /dev/null
+++ b/src/node_type.cpp
@@ -0,0 +1,18 @@
+#include "node_type.hpp"
+
+string to_string(NodeType nt){
+
+    string _nt = "";
+    switch (nt)
+    {
+        case NodeType::Defence :
+            _nt = "Defence";
+            break;
+        case NodeType::Attack :
+            _nt = "Attack";
+        default:
+            break;
+    }
+
+    return _nt;
+}
\ No newline at end of file
diff --git a/src/node_type.hpp b/src/node_type.hpp
index 79db265..f4a0797 100644
--- a/src/node_type.hpp
+++ b/src/node_type.hpp
@@ -2,6 +2,7 @@
 #define NODE_TYPE_HPP
 
 #include <iostream>
+#include <string>
 
 using namespace std;
 
@@ -10,4 +11,7 @@ enum class NodeType
 	Defence, // 0
 	Attack // 1
 };
+
+string to_string(NodeType nt);
+
 #endif
-- 
GitLab