21#include "../execution_time_estimator.h"
23#include <gtest/gtest.h>
27TEST(SkillParserTest, EmptySkill)
30 ASSERT_EQ(s.skill_name,
"");
31 ASSERT_EQ(s.skill_args.size(), 0);
34TEST(SkillParserTest, SkillWithoutArgs)
37 ASSERT_EQ(s.skill_name,
"say");
38 ASSERT_EQ(s.skill_args.size(), 0);
41TEST(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");
49TEST(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");
61TEST(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");
70TEST(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.