OLD | NEW |
---|---|
(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_ordinal.h" | |
6 #include "testing/gtest/include/gtest/gtest.h" | |
7 | |
8 TEST(StringOrdinalTest, IsValid) { | |
tfarina
2011/10/18 17:10:54
please, could you wrap this into an unnamed namesp
| |
9 StringOrdinal index_ = StringOrdinal("b"); | |
tfarina
2011/10/18 17:10:54
index_ -> index
Also can't you create the index o
| |
10 EXPECT_TRUE(index_.IsValid()); | |
akalin
2011/10/18 17:59:27
you can just do EXPECT_TRUE(StringOrdinal(...).IsV
| |
11 | |
12 index_ = StringOrdinal("ab"); | |
13 EXPECT_TRUE(index_.IsValid()); | |
14 | |
15 index_ = StringOrdinal("aa"); | |
16 EXPECT_FALSE(index_.IsValid()); | |
17 | |
18 index_ = StringOrdinal(); | |
19 EXPECT_FALSE(index_.IsValid()); | |
20 } | |
21 | |
22 TEST(StringOrdinalTest, LessThan) { | |
23 StringOrdinal small = StringOrdinal("b"); | |
akalin
2011/10/18 17:59:27
const StringOrdinal small(...);
etc.
| |
24 StringOrdinal middle = StringOrdinal("n"); | |
25 StringOrdinal big = StringOrdinal("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(StringOrdinalTest, CreateBetweenSingleDigit) { | |
37 StringOrdinal result = StringOrdinal("b").CreateBetween(StringOrdinal("d")); | |
38 EXPECT_EQ("c", result.ToString()); | |
39 | |
40 result = StringOrdinal("b").CreateBetween(StringOrdinal("e")); | |
41 EXPECT_EQ("c", result.ToString()); | |
42 | |
43 result = StringOrdinal("b").CreateBetween(StringOrdinal("f")); | |
44 EXPECT_EQ("d", result.ToString()); | |
45 | |
46 result = StringOrdinal("b").CreateBetween(StringOrdinal("c")); | |
47 EXPECT_EQ("bn", result.ToString()); | |
48 | |
akalin
2011/10/18 17:59:27
make sure to test the other direction, too
| |
49 result = StringOrdinal("c").CreateBetween(StringOrdinal("d")); | |
50 EXPECT_EQ("cn", result.ToString()); | |
51 } | |
52 | |
53 TEST(StringOrdinalTest, CreateBetweenDifferentLengths) { | |
54 StringOrdinal result = StringOrdinal("b").CreateBetween(StringOrdinal("bb")); | |
55 EXPECT_EQ("ban", result.ToString()); | |
56 | |
57 result = StringOrdinal("bz").CreateBetween(StringOrdinal("c")); | |
58 EXPECT_EQ("bzn", result.ToString()); | |
59 } | |
60 | |
61 TEST(StringOrdinalTest, CreateBetweenOverflow) { | |
62 StringOrdinal result = StringOrdinal("ab").CreateBetween(StringOrdinal("bb")); | |
63 EXPECT_EQ("ao", result.ToString()); | |
64 | |
65 result = StringOrdinal("bb").CreateBetween(StringOrdinal("cb")); | |
66 EXPECT_EQ("bo", result.ToString()); | |
67 | |
68 result = StringOrdinal("bbb").CreateBetween(StringOrdinal("bcb")); | |
69 EXPECT_EQ("bbo", result.ToString()); | |
70 | |
71 result = StringOrdinal("aab").CreateBetween(StringOrdinal("zzz")); | |
72 EXPECT_EQ("n", result.ToString()); | |
73 | |
74 result = StringOrdinal("yyy").CreateBetween(StringOrdinal("zzz")); | |
75 EXPECT_EQ("zml", result.ToString()); | |
76 | |
77 result = StringOrdinal("yab").CreateBetween(StringOrdinal("zzz")); | |
78 EXPECT_EQ("z", result.ToString()); | |
79 | |
80 result = StringOrdinal("aaz").CreateBetween(StringOrdinal("zzz")); | |
81 EXPECT_EQ("nam", result.ToString()); | |
82 } | |
83 | |
84 TEST(StringOrdinalTest, CreateAfter) { | |
85 StringOrdinal result = StringOrdinal("y").CreateAfter(); | |
86 EXPECT_EQ("yn", result.ToString()); | |
87 | |
88 result = StringOrdinal("zy").CreateAfter(); | |
89 EXPECT_EQ("zyn", result.ToString()); | |
90 | |
91 result = StringOrdinal("zzzy").CreateAfter(); | |
92 EXPECT_EQ("zzzyn", result.ToString()); | |
93 | |
94 result = StringOrdinal("yy").CreateAfter(); | |
95 EXPECT_EQ("zl", result.ToString()); | |
96 | |
97 result = StringOrdinal("yz").CreateAfter(); | |
98 EXPECT_EQ("zm", result.ToString()); | |
99 | |
100 result = StringOrdinal("z").CreateAfter(); | |
101 EXPECT_EQ("zm", result.ToString()); | |
102 } | |
103 | |
104 TEST(StringOrdinalTest, CreateBefore) { | |
105 StringOrdinal result = StringOrdinal("b").CreateBefore(); | |
106 EXPECT_EQ("an", result.ToString()); | |
107 | |
108 result = StringOrdinal("bb").CreateBefore(); | |
109 EXPECT_EQ("ao", result.ToString()); | |
110 | |
111 result = StringOrdinal("bc").CreateBefore(); | |
112 EXPECT_EQ("ao", result.ToString()); | |
113 | |
114 result = StringOrdinal("bd").CreateBefore(); | |
115 EXPECT_EQ("ap", result.ToString()); | |
116 } | |
117 | |
118 TEST(StringOrdinalTest, ToString) { | |
119 StringOrdinal index = StringOrdinal("b"); | |
120 EXPECT_EQ(index.ToString(), "b"); | |
121 | |
122 index = StringOrdinal("aab"); | |
123 EXPECT_EQ(index.ToString(), "aab"); | |
124 | |
125 index = StringOrdinal("zzz"); | |
126 EXPECT_EQ(index.ToString(), "zzz"); | |
127 } | |
128 | |
129 TEST(StringOrdinalTest, CrateBetweenLargeValueFirst) { | |
akalin
2011/10/18 17:59:27
Crate -> Create
| |
130 StringOrdinal result = StringOrdinal("d").CreateBetween(StringOrdinal("b")); | |
131 EXPECT_EQ("c", result.ToString()); | |
132 | |
133 result = StringOrdinal("zzz").CreateBetween(StringOrdinal("aaz")); | |
akalin
2011/10/18 17:59:27
indent
| |
134 EXPECT_EQ("nam", result.ToString()); | |
135 } | |
OLD | NEW |