1 // Copyright (C) 2018-2019 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
5 #include <gtest/gtest.h>
7 #include "range_iterator.hpp"
11 using namespace InferenceEngine;
13 class RangeIteratorTests: public ::testing::Test {
15 virtual void TearDown() {
18 virtual void SetUp() {
25 TEST_F(RangeIteratorTests, canCompareSameStringsInsensitive) {
26 ASSERT_FALSE(std::lexicographical_compare(null_terminated_string("UPPer"),
27 null_terminated_string_end(),
28 null_terminated_string("upper"),
29 null_terminated_string_end(), [](char a, char b) {
31 return std::tolower(a, loc) > std::tolower(b, loc);
35 TEST_F(RangeIteratorTests, canCompareNotSameStringsInsensitive) {
36 ASSERT_TRUE(std::lexicographical_compare(null_terminated_string("UPPer"),
37 null_terminated_string_end(),
38 null_terminated_string("uppel"),
39 null_terminated_string_end(), [](char a, char b) {
41 return std::tolower(a, loc) > std::tolower(b, loc);
46 TEST_F(RangeIteratorTests, cannotDereferenceEndIterator) {
47 ASSERT_ANY_THROW(*null_terminated_string_end());
48 ASSERT_ANY_THROW(++null_terminated_string_end());
49 ASSERT_ANY_THROW(null_terminated_string_end()++);