greenhouse/test/test_parser.cpp
Shane Loretz 9740b6209f
Initial package (#1)
* Initial package

Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>

* Use latest vision_msgs with string id

Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>

* Tiny improvements

Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>

* Add parser tests and ignore blank lines in class names

Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>

* Test when cfg file does not exist

Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>

* Rename test

Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>

* openrobotics_darknet_ros -> openrobotics::darknet_ros

Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>

* Added visibility files

Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>

* Rename files

Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>

* darknet_node -> detector_node

Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>

* Rename files

Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>

* Rename files

Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>

* DetectorNetwork and DetectorNode

Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>

* Simple readme

Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>

* Add Example section

Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>

* Example actually works

Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>

* Fix link

Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>

* Linter tests pass

Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>
2019-10-04 14:59:05 -07:00

68 lines
1.8 KiB
C++

// Copyright 2019 Open Source Robotics Foundation, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include <gtest/gtest.h>
#include <string>
#include <vector>
#include "openrobotics_darknet_ros/parse.hpp"
using openrobotics::darknet_ros::parse_class_names;
TEST(parse, names_file_does_not_exist)
{
std::vector<std::string> class_names;
class_names = parse_class_names("openrobotics_darknet_ros_file_does_not_exist");
ASSERT_EQ(0u, class_names.size());
}
TEST(parse, one_name)
{
std::vector<std::string> class_names;
class_names = parse_class_names("data/1_class_name.txt");
ASSERT_EQ(1u, class_names.size());
EXPECT_EQ("tomato", class_names[0]);
}
TEST(parse, 3_class_names_with_whitespace)
{
std::vector<std::string> class_names;
class_names = parse_class_names("data/3_class_names_with_whitespace.txt");
ASSERT_EQ(3u, class_names.size());
EXPECT_EQ("foo", class_names[0]);
EXPECT_EQ("bar", class_names[1]);
EXPECT_EQ("baz", class_names[2]);
}
TEST(parse, five_names)
{
std::vector<std::string> class_names;
class_names = parse_class_names("data/5_class_names.txt");
ASSERT_EQ(5u, class_names.size());
EXPECT_EQ("car", class_names[0]);
EXPECT_EQ("boat", class_names[1]);
EXPECT_EQ("bus", class_names[2]);
EXPECT_EQ("airplane", class_names[3]);
EXPECT_EQ("space ship", class_names[4]);
}