Vowpal Wabbit
ut_opts.cc
Go to the documentation of this file.
1 #include "gtest/gtest.h"
2 #include "gmock/gmock.h"
3 
4 #include "opts.h"
5 using namespace ::testing;
6 using namespace vw_slim;
7 
8 TEST(CommandLineOptions, parsing)
9 {
10  EXPECT_THAT(find_opt("-q abc", "-q"), ElementsAre("abc"));
11  EXPECT_THAT(find_opt("-q a -q b", "-q"), ElementsAre("a", "b"));
12  EXPECT_THAT(find_opt("-q a -d -q b", "-q"), ElementsAre("a", "b"));
13  EXPECT_THAT(find_opt("-q a -d -q b -q -q abc", "-q"), ElementsAre("a", "b", "abc"));
14 }
15 
16 TEST(CommandLineOptions, parsing_empty)
17 {
18  EXPECT_THAT(find_opt("-a b -qd ", "-q").size(), 0);
19  EXPECT_THAT(find_opt("", "-q").size(), 0);
20  EXPECT_THAT(find_opt("-a", "-q").size(), 0);
21  EXPECT_THAT(find_opt("-q", "-q").size(), 0);
22  EXPECT_THAT(find_opt("-q ", "-q").size(), 0);
23  EXPECT_THAT(find_opt("-q -d", "-q").size(), 0);
24 }
25 
26 TEST(CommandLineOptions, parsing_float)
27 {
28  float value;
29  EXPECT_TRUE(find_opt_float("--epsilon 0.5", "--epsilon", value));
30  ASSERT_FLOAT_EQ(0.5f, value);
31 
32  EXPECT_TRUE(find_opt_float("--lambda -2", "--lambda", value));
33  ASSERT_FLOAT_EQ(-2.f, value);
34 
35  EXPECT_FALSE(find_opt_float("--epsilon", "--epsilon", value));
36  EXPECT_FALSE(find_opt_float("--epsilon 0.5 --epsilon 0.4", "--epsilon", value));
37 }
38 
39 TEST(CommandLineOptions, parsing_int)
40 {
41  int value;
42  EXPECT_TRUE(find_opt_int("--bag 2", "--bag", value));
43  ASSERT_EQ(2, value);
44 
45  EXPECT_FALSE(find_opt_int("--bag", "--bag", value));
46  EXPECT_FALSE(find_opt_int("--bag 2 --bag 3", "--epsilon", value));
47 }
bool find_opt_int(std::string const &command_line_args, std::string arg_name, int &value)
Definition: opts.cc:78
void find_opt(std::string const &command_line_args, std::string arg_name, std::vector< std::string > &out_values)
Definition: opts.cc:9
TEST(CommandLineOptions, parsing)
Definition: ut_opts.cc:8
float f
Definition: cache.cc:40
bool find_opt_float(std::string const &command_line_args, std::string arg_name, float &value)
Definition: opts.cc:73