Ejemplo n.º 1
0
 value_integer operator() (std::string const& val) const
 {
     value_integer result;
     if (util::string2int(val,result))
         return result;
     return value_integer(0);
 }
Ejemplo n.º 2
0
/**
 * Test that choice_option correctly reports its capabilities.
 */
TEST(choice_option_test, capabilities)
{
    auto short_name = std::string("f");
    auto name = std::string("foo");
    auto option = qflags::choice_option(name.c_str(), short_name.c_str(), {"bar", "baz"}, "bar");

    EXPECT_EQ(name, option.name());
    EXPECT_EQ(short_name, option.short_name());
    EXPECT_EQ(false, option.is_set());
    EXPECT_EQ(false, option.is_flag());
    EXPECT_EQ(false, option.is_command());
    EXPECT_EQ(false, option.is_array());
    EXPECT_EQ(false, option.is_boolean());
    EXPECT_EQ(false, option.is_integer());
    EXPECT_EQ(true, option.is_string());
    EXPECT_EQ(0u, option.array_size());

    EXPECT_THROW(option.value_boolean(), std::logic_error);
    EXPECT_THROW(option.value_integer(), std::logic_error);
    EXPECT_EQ("bar", option.value_string());
    EXPECT_THROW(option.value_array(0), std::logic_error);

    EXPECT_THROW(static_cast<bool>(option), std::logic_error);
    EXPECT_THROW(static_cast<int64_t>(option), std::logic_error);
    EXPECT_THROW(static_cast<int>(option), std::logic_error);
    EXPECT_EQ("bar", static_cast<std::string>(option));
}
Ejemplo n.º 3
0
 V value(F const& f) const
 {
     mapnik::value_integer type = 0;
     for (auto const& geom : f.paths())
     {
         if (type != 0 && geom.type() != type)
         {
             return value_integer(4); // Collection
         }
         type = geom.type();
     }
     return type;
 }
Ejemplo n.º 4
0
 value_integer operator() (value_null const& val) const
 {
     boost::ignore_unused_variable_warning(val);
     return value_integer(0);
 }
Ejemplo n.º 5
0
 value_type operator() (value_bool val) const
 {
     return val ? value_integer(-1) : value_integer(0);
 }
Ejemplo n.º 6
0
 value_type operator() (value_bool lhs, value_bool rhs) const
 {
     boost::ignore_unused_variable_warning(lhs);
     boost::ignore_unused_variable_warning(rhs);
     return value_integer(0);
 }
Ejemplo n.º 7
0
 value_type operator() (value_bool lhs, value_bool rhs) const
 {
     return value_integer(lhs - rhs);
 }