65 lines
1.5 KiB
C++
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());
|
|
}
|