diff --git a/vector/test.c b/vector/test.c
new file mode 100644
index 0000000000000000000000000000000000000000..7bd51baadccd26adfa240b7deb5381763dd6cd0d
--- /dev/null
+++ b/vector/test.c
@@ -0,0 +1,96 @@
+// cmocka includes
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
+#include <stdint.h>
+#include <cmocka.h>
+
+// vector include
+#include <stdio.h>
+#include <stdbool.h>
+#include "vector.h"
+
+//* ====================
+//* Tests descriptions
+//* ====================
+static void vector_initialization() {
+    vec2 v = {2, 3};
+
+    assert_non_null(&v);
+}
+
+static void vector_addition() {
+    vec2 v1 = {2, 5};
+    vec2 v2 = {3, 7};
+    vec2 v3;
+
+    vec2 target = {5, 12};
+
+    v3 = add_vector(v1, v2);
+
+    assert_memory_equal(&v3, &target, sizeof(target));
+}
+
+static void vector_substraction() {
+    vec2 v1 = {2, 5};
+    vec2 v2 = {3, 7};
+    vec2 v3;
+
+    vec2 target = {-1, -2};
+
+    v3 = sub_vector(v1, v2);
+
+    assert_memory_equal(&v3, &target, sizeof(target));
+}
+
+static void vector_multiplication_scalar() {
+    vec2 v1 = {2, 5};
+    int scal = 2;
+    vec2 v2;
+
+    vec2 target = {4, 10};
+
+    v2 = mult_by_scalar(v1, scal);
+
+    assert_memory_equal(&v2, &target, sizeof(target));
+}
+
+static void vector_to_polar_convertion() {
+    vec2 c_v = {84.85, -84.85};
+    polarVector p_v;
+
+    polarVector target = {119.996, -45};
+
+    p_v  = to_polar(c_v);
+
+    assert_float_equal(p_v.a, target.a, 1e-3);
+    assert_float_equal(p_v.f, target.f, 1e-3);
+}
+
+static void vector_to_cartesian_convertion() {
+    polarVector p_v = {200, 60};
+    vec2 c_v;
+
+    vec2 target = {100, 173.205};
+
+    c_v = to_cartesian(p_v);
+
+    assert_float_equal(c_v.x, target.x, 1e-3);
+    assert_float_equal(c_v.y, target.y, 1e-3);
+}
+
+//* ====================
+//* Run test
+//* ====================
+int main(void) {
+    const struct CMUnitTest tests[] = {
+        cmocka_unit_test(vector_initialization),
+        cmocka_unit_test(vector_addition),
+        cmocka_unit_test(vector_substraction),
+        cmocka_unit_test(vector_multiplication_scalar),
+        cmocka_unit_test(vector_to_polar_convertion),
+        cmocka_unit_test(vector_to_cartesian_convertion),
+    };
+
+    return cmocka_run_group_tests(tests, NULL, NULL);
+}
\ No newline at end of file
diff --git a/vector/vector.c b/vector/vector.c
index 3c3b7ddeb261ecda75cb4f062f9934e6a75d8575..5aaaae322e405030e010134b8d53f0567115f4d5 100644
--- a/vector/vector.c
+++ b/vector/vector.c
@@ -16,8 +16,8 @@
     \param v1 First vector to add
     \param v2 Second vector to add
 */
-vector add_vector(vector v1, vector v2) {
-    vector resultVector;
+vec2 add_vector(vec2 v1, vec2 v2) {
+    vec2 resultVector;
 
     double finalX = v1.x + v2.x;
     double finalY = v1.y + v2.y;
@@ -33,7 +33,7 @@ vector add_vector(vector v1, vector v2) {
     \param v1 First vector
     \param v2 Vector we want to substract to the first
 */
-vector sub_vector(vector v1, vector v2) {
+vec2 sub_vector(vec2 v1, vec2 v2) {
     // First we reverse the direction of the vector we want to substract
     v2.x *= -1;
     v2.y *= -1;
@@ -47,8 +47,8 @@ vector sub_vector(vector v1, vector v2) {
     \param v1 Vector to multiply
     \param scalar Scalar to use for the multiplication
 */
-vector mult_by_scalar(vector v1, int scalar) {
-    vector resultVector = {v1.x * scalar, v1.y * scalar};
+vec2 mult_by_scalar(vec2 v1, int scalar) {
+    vec2 resultVector = {v1.x * scalar, v1.y * scalar};
 
     return resultVector;
 }
@@ -57,7 +57,7 @@ vector mult_by_scalar(vector v1, int scalar) {
     \brief Get the norm of a given vector
     \param v1 Vector to multiply
 */
-double norm(vector v1) {
+double norm(vec2 v1) {
     double vectorNorm;
 
     vectorNorm = sqrt(pow(v1.x, 2) + pow(v1.y, 2));
@@ -70,7 +70,7 @@ double norm(vector v1) {
     \param v1 First vector to multiply
     \param v2 Second vector to multiply
 */
-double dot_multiply(vector v1, vector v2) {
+double dot_multiply(vec2 v1, vec2 v2) {
     return (v1.x * v2.x) + (v1.y * v2.y);
 }
 
@@ -78,7 +78,7 @@ double dot_multiply(vector v1, vector v2) {
     \brief Convert a Cartesian vector to a Polar vector
     \param v1 Cartesian vector
 */
-polarVector to_polar(vector v1) {
+polarVector to_polar(vec2 v1) {
     polarVector p_vector;
 
     p_vector.f = norm(v1);
@@ -91,8 +91,8 @@ polarVector to_polar(vector v1) {
     \brief Convert a Polar vector to a Cartesian vector
     \param v1 Polar vector
 */
-vector to_cartesian(polarVector v1) {
-    vector c_vector;
+vec2 to_cartesian(polarVector v1) {
+    vec2 c_vector;
 
     // The cos work with radian angle. Convert degree to radiant inside the cos function to have the correct force
     c_vector.x = v1.f * cos(v1.a * (M_PI / 180.0));
diff --git a/vector/vector.h b/vector/vector.h
index 4d40c6d12209a1051413d8bfcc0dce77603bb6ee..d78bbc56e0e23a1d2eda97bf8bbb04a40687de9f 100644
--- a/vector/vector.h
+++ b/vector/vector.h
@@ -11,7 +11,7 @@
 typedef struct {
     double x;
     double y;
-} vector;
+} vec2;
 
 /**
  * @brief Polar vector used for representation only
@@ -21,13 +21,13 @@ typedef struct {
     double a; /* Angle of the vector */
 } polarVector;
 
-vector add_vector(vector v1, vector v2); /* Add a vector to another and return the result as a vector */
-vector sub_vector(vector v1, vector v2); /* Substract a vector to another vector and return the result as a vector */
-vector mult_by_scalar(vector v1, int scalar); /* Multiply a vector by a scalar */
-double dot_multiply(vector v1, vector v2); /* Multiply two vectors with the dot product formula */
-double norm(vector v1); /* Get the norm of a given vector */
-polarVector to_polar(vector v1); /* Convert a Cartesian vector to a Polar vector */
-vector to_cartesian(polarVector v1); /* Convert a Polar vector to a Cartesian vector */
+vec2 add_vector(vec2 v1, vec2 v2); /* Add a vector to another and return the result as a vector */
+vec2 sub_vector(vec2 v1, vec2 v2); /* Substract a vector to another vector and return the result as a vector */
+vec2 mult_by_scalar(vec2 v1, int scalar); /* Multiply a vector by a scalar */
+double dot_multiply(vec2 v1, vec2 v2); /* Multiply two vectors with the dot product formula */
+double norm(vec2 v1); /* Get the norm of a given vector */
+polarVector to_polar(vec2 v1); /* Convert a Cartesian vector to a Polar vector */
+vec2 to_cartesian(polarVector v1); /* Convert a Polar vector to a Cartesian vector */
 
 /* For the moment, the cross product hasn't be inplemented because it only work with vectors on 3 dimentionals plan. */