add append_parameters to utils and unit test
[clinton/Smoothieware.git] / src / testframework / unittests / libs / TEST_utils.cpp
CommitLineData
93ea6adb
JM
1#include "utils.h"
2
3#include <vector>
4#include <stdio.h>
5
6#include "easyunit/test.h"
7
8TEST(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
18TEST(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
28TEST(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}
bbb23db2
JM
37
38TEST(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}