add append_parameters to utils and unit test
[clinton/Smoothieware.git] / src / testframework / unittests / libs / TEST_utils.cpp
1 #include "utils.h"
2
3 #include <vector>
4 #include <stdio.h>
5
6 #include "easyunit/test.h"
7
8 TEST(UtilsTest,split)
9 {
10 const char *s= "one two three";
11 std::vector<std::string> v= split(s, ' ');
12 ASSERT_TRUE(v.size() == 3);
13 ASSERT_TRUE(v[0] == "one");
14 ASSERT_TRUE(v[1] == "two");
15 ASSERT_TRUE(v[2] == "three");
16 }
17
18 TEST(UtilsTest,split_empty_string)
19 {
20 const char *s= "";
21 std::vector<std::string> v= split(s, ' ');
22
23 ASSERT_TRUE(v.size() == 1);
24 ASSERT_TRUE(v[0].empty());
25 ASSERT_TRUE(v[0] == "");
26 }
27
28 TEST(UtilsTest,parse_number_list)
29 {
30 const char *s= "1.1,2.2,3.3";
31 std::vector<float> v= parse_number_list(s);
32 ASSERT_TRUE(v.size() == 3);
33 ASSERT_TRUE(v[0] == 1.1F);
34 ASSERT_TRUE(v[1] == 2.2F);
35 ASSERT_TRUE(v[2] == 3.3F);
36 }
37
38 TEST(UtilsTest,append_parameters)
39 {
40 std::string str;
41
42 str= append_parameters({{'X', 1}, {'Y', 2}, {'Z', 3}});
43 ASSERT_EQUALS(str, "X1 Y2 Z3 ");
44 }