21 #include "../execution_time_estimator.h"
23 #include <gtest/gtest.h>
27 TEST(SkillParserTest, EmptySkill)
30 ASSERT_EQ(s.skill_name,
"");
31 ASSERT_EQ(s.skill_args.size(), 0);
34 TEST(SkillParserTest, SkillWithoutArgs)
37 ASSERT_EQ(s.skill_name,
"say");
38 ASSERT_EQ(s.skill_args.size(), 0);
41 TEST(SkillParserTest, SkillWithIntArg)
43 Skill s{
"count{i=1}"};
44 ASSERT_EQ(s.skill_name,
"count");
45 ASSERT_EQ(s.skill_args.size(), 1);
46 ASSERT_EQ(s.skill_args[
"i"],
"1");
49 TEST(SkillParserTest, SkillWithStringArg)
51 Skill s(
"say{text='hello'}");
52 ASSERT_EQ(s.skill_name,
"say");
53 ASSERT_EQ(s.skill_args.size(), 1);
54 ASSERT_EQ(s.skill_args[
"text"],
"hello");
55 s =
Skill(
"say{text=\"hello\"}");
56 ASSERT_EQ(s.skill_name,
"say");
57 ASSERT_EQ(s.skill_args.size(), 1);
58 ASSERT_EQ(s.skill_args[
"text"],
"hello");
61 TEST(SkillParserTest, SkillWithMultipleArgs)
63 Skill s(
"say{text='hello', second='bye'}");
64 ASSERT_EQ(s.skill_name,
"say");
65 ASSERT_EQ(s.skill_args.size(), 2);
66 ASSERT_EQ(s.skill_args[
"text"],
"hello");
67 ASSERT_EQ(s.skill_args[
"second"],
"bye");
70 TEST(SkillParserTest, SkillWithNewline)
72 Skill s(
"say{text=\n\"hello\"}");
73 ASSERT_EQ(s.skill_name,
"say");
74 ASSERT_EQ(s.skill_args.size(), 1);
75 ASSERT_EQ(s.skill_args[
"text"],
"hello");
Skill representation for JSON transfer.
A structured representation of a skill.