openvino/inference-engine/tests/unit/inference_engine_tests/caslesseq_tests.cpp

65 lines
1.5 KiB
C++

// Copyright (C) 2018-2019 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//
#include <gtest/gtest.h>
#include <unordered_map>
#include "details/caseless.hpp"
#include "debug.h"
using namespace std;
using namespace InferenceEngine::details;
class CaselessTests : public ::testing::Test {
protected:
virtual void TearDown() {
}
virtual void SetUp() {
}
public:
};
TEST_F(CaselessTests, emptyAreEqual) {
ASSERT_TRUE(InferenceEngine::details::equal("", ""));
}
TEST_F(CaselessTests, canIgnoreCase) {
ASSERT_TRUE(InferenceEngine::details::equal("abc", "ABC"));
}
TEST_F(CaselessTests, emptyIsNotEqualNotEmpty) {
ASSERT_FALSE(InferenceEngine::details::equal("", "abc"));
}
TEST_F(CaselessTests, canFindCaslessInMap) {
caseless_map<string, int> storage = {
{"Abc", 1},
{"bC", 2},
{"AbcD", 3},
};
ASSERT_EQ(storage["abc"], 1);
ASSERT_EQ(storage["ABC"], 1);
ASSERT_EQ(storage["BC"], 2);
ASSERT_EQ(storage["aBCd"], 3);
ASSERT_EQ(storage.find("aBd"), storage.end());
ASSERT_EQ(storage.find(""), storage.end());
}
TEST_F(CaselessTests, canFindCaslessInUnordered) {
caseless_unordered_map <string, int> storage = {
{"Abc", 1},
{"bC", 2},
{"AbcD", 3},
};
ASSERT_EQ(storage["abc"], 1);
ASSERT_EQ(storage["ABC"], 1);
ASSERT_EQ(storage["BC"], 2);
ASSERT_EQ(storage["aBCd"], 3);
ASSERT_EQ(storage.find("aBd"), storage.end());
ASSERT_EQ(storage.find(""), storage.end());
}