Welcome to mirror list, hosted at ThFree Co, Russian Federation.

string_slice_tests.cpp « indexer_tests « indexer - github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 813430512146ccfa73a38d5daa7fac450d2625af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include "../../testing/testing.hpp"

#include "indexer/string_slice.hpp"

#include "base/string_utils.hpp"

#include "std/iterator.hpp"

using namespace search;
using namespace strings;

namespace
{
UniString ToString(vector<UniString> const & v)
{
  StringSlice slice(v);
  UniString r;
  copy(JoinIterator::Begin(slice), JoinIterator::End(slice), back_inserter(r));
  return r;
}

UNIT_TEST(JoinIterator_Smoke)
{
  {
    vector<UniString> v;

    StringSlice slice1(v);
    auto begin1 = JoinIterator::Begin(slice1);
    auto end1 = JoinIterator::End(slice1);

    StringSlice slice2(v);
    auto begin2 = JoinIterator::Begin(slice2);
    auto end2 = JoinIterator::End(slice2);

    TEST(begin1 == end1, ());

    TEST(begin2 == end2, ());

    TEST(begin1 != begin2, ());
    TEST(end1 != end2, ());

    TEST(begin1 != end2, ());
    TEST(begin2 != end1, ());
  }

  {
    vector<UniString> const v;
    TEST_EQUAL(MakeUniString(""), ToString(v), ());
  }

  {
    vector<UniString> const v = {MakeUniString("")};
    TEST_EQUAL(MakeUniString(""), ToString(v), ());
  }

  {
    vector<UniString> const v = {MakeUniString(""), MakeUniString("")};
    TEST_EQUAL(MakeUniString(" "), ToString(v), ());
  }

  {
    vector<UniString> const v = {MakeUniString(""), MakeUniString("b"), MakeUniString("")};
    TEST_EQUAL(MakeUniString(" b "), ToString(v), ());
  }

  {
    vector<UniString> const v = {MakeUniString("Hello")};
    TEST_EQUAL(MakeUniString("Hello"), ToString(v), ());
  }

  {
    vector<UniString> const v = {MakeUniString("Hello"), MakeUniString("World!")};
    TEST_EQUAL(MakeUniString("Hello World!"), ToString(v), ());
  }
}
}  // namespace