Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(166)

Side by Side Diff: chrome/common/string_index_unittest.cc

Issue 8236002: Create StringOrdinal to allow placement of strings in sorted lists (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Changing StringIndex to a class Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« chrome/common/string_index.cc ('K') | « chrome/common/string_index.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/common/string_index.h"
6 #include "testing/gtest/include/gtest/gtest.h"
7
8 TEST(StringIndexTest, IsValid) {
9 StringIndex index_ = StringIndex("B");
10 EXPECT_TRUE(index_.IsValid());
11
12 index_ = StringIndex("AB");
13 EXPECT_TRUE(index_.IsValid());
14
15 index_ = StringIndex("AA");
16 EXPECT_FALSE(index_.IsValid());
17
18 index_ = StringIndex();
19 EXPECT_FALSE(index_.IsValid());
20 }
21
22 TEST(StringIndexTest, LessThan) {
23 StringIndex small = StringIndex("B");
24 StringIndex middle = StringIndex("N");
25 StringIndex big = StringIndex("Z");
26
27 EXPECT_TRUE(small.LessThan(middle));
28 EXPECT_TRUE(small.LessThan(big));
29 EXPECT_TRUE(middle.LessThan(big));
30
31 EXPECT_FALSE(big.LessThan(small));
32 EXPECT_FALSE(big.LessThan(middle));
33 EXPECT_FALSE(middle.LessThan(small));
34 }
35
36 TEST(StringIndexTest, CreateBetweenSingleDigit) {
37 StringIndex result = StringIndex("B").CreateBetween(StringIndex("D"));
38 EXPECT_EQ("C", result.ToString());
39
40 result = StringIndex("B").CreateBetween(StringIndex("E"));
41 EXPECT_EQ("C", result.ToString());
42
43 result = StringIndex("B").CreateBetween(StringIndex("F"));
44 EXPECT_EQ("D", result.ToString());
45
46 result = StringIndex("B").CreateBetween(StringIndex("C"));
47 EXPECT_EQ("BN", result.ToString());
48
49 result = StringIndex("C").CreateBetween(StringIndex("D"));
50 EXPECT_EQ("CN", result.ToString());
51 }
52
53 TEST(StringIndexTest, CreateBetweenDifferentLengths) {
54 StringIndex result = StringIndex("B").CreateBetween(StringIndex("BB"));
55 EXPECT_EQ("BAN", result.ToString());
56
57 result = StringIndex("BZ").CreateBetween(StringIndex("C"));
58 EXPECT_EQ("BZN", result.ToString());
59 }
60
61 TEST(StringIndexTest, CreateBetweenOverflow) {
62 StringIndex result = StringIndex("AB").CreateBetween(StringIndex("BB"));
63 EXPECT_EQ("AO", result.ToString());
64
65 result = StringIndex("BB").CreateBetween(StringIndex("CB"));
66 EXPECT_EQ("BO", result.ToString());
67
68 result = StringIndex("BBB").CreateBetween(StringIndex("BCB"));
69 EXPECT_EQ("BBO", result.ToString());
70
71 result = StringIndex("AAB").CreateBetween(StringIndex("ZZZ"));
72 EXPECT_EQ("N", result.ToString());
73
74 result = StringIndex("YYY").CreateBetween(StringIndex("ZZZ"));
75 EXPECT_EQ("ZML", result.ToString());
76
77 result = StringIndex("YAB").CreateBetween(StringIndex("ZZZ"));
78 EXPECT_EQ("Z", result.ToString());
79
80 result = StringIndex("AAZ").CreateBetween(StringIndex("ZZZ"));
81 EXPECT_EQ("NAM", result.ToString());
82 }
83
84 TEST(StringIndexTest, CreateAfter) {
85 StringIndex result = StringIndex("Y").CreateAfter();
86 EXPECT_EQ("YN", result.ToString());
87
88 result = StringIndex("ZY").CreateAfter();
89 EXPECT_EQ("ZYN", result.ToString());
90
91 result = StringIndex("ZZZY").CreateAfter();
92 EXPECT_EQ("ZZZYN", result.ToString());
93
94 result = StringIndex("YY").CreateAfter();
95 EXPECT_EQ("ZL", result.ToString());
96
97 result = StringIndex("YZ").CreateAfter();
98 EXPECT_EQ("ZM", result.ToString());
99
100 result = StringIndex("Z").CreateAfter();
101 EXPECT_EQ("ZM", result.ToString());
102 }
103
104 TEST(StringIndexTest, CreateBefore) {
105 StringIndex result = StringIndex("B").CreateBefore();
106 EXPECT_EQ("AN", result.ToString());
107
108 result = StringIndex("BB").CreateBefore();
109 EXPECT_EQ("AN", result.ToString());
110
111 result = StringIndex("BC").CreateBefore();
112 EXPECT_EQ("AO", result.ToString());
113
114 result = StringIndex("BD").CreateBefore();
115 EXPECT_EQ("AO", result.ToString());
116 }
117
118 TEST(StringIndexTest, ToString) {
119 StringIndex index = StringIndex("B");
120 EXPECT_EQ(index.ToString(), "B");
121
122 index = StringIndex("AAB");
123 EXPECT_EQ(index.ToString(), "AAB");
124
125 index = StringIndex("ZZZ");
126 EXPECT_EQ(index.ToString(), "ZZZ");
127 }
OLDNEW
« chrome/common/string_index.cc ('K') | « chrome/common/string_index.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698