136 Iterator iter(root());
137 iter.SetCurrent(child9());
139 EXPECT_EQ(child8(), iter.MoveToPrev());
140 EXPECT_EQ(child8(), iter.GetCurrent());
142 EXPECT_EQ(child7(), iter.MoveToPrev());
143 EXPECT_EQ(child7(), iter.GetCurrent());
145 EXPECT_EQ(child6(), iter.MoveToPrev());
146 EXPECT_EQ(child6(), iter.GetCurrent());
148 EXPECT_EQ(child5(), iter.MoveToPrev());
149 EXPECT_EQ(child5(), iter.GetCurrent());
151 EXPECT_EQ(child4(), iter.MoveToPrev());
152 EXPECT_EQ(child4(), iter.GetCurrent());
154 EXPECT_EQ(child3(), iter.MoveToPrev());
155 EXPECT_EQ(child3(), iter.GetCurrent());
157 EXPECT_EQ(child2(), iter.MoveToPrev());
158 EXPECT_EQ(child2(), iter.GetCurrent());
160 EXPECT_EQ(child1(), iter.MoveToPrev());
161 EXPECT_EQ(child1(), iter.GetCurrent());
163 EXPECT_EQ(root(), iter.MoveToPrev());
164 EXPECT_EQ(root(), iter.GetCurrent());
166 EXPECT_FALSE(iter.MoveToPrev());
167 EXPECT_EQ(root(), iter.GetCurrent());
169 EXPECT_FALSE(iter.MoveToPrev());
170 EXPECT_EQ(root(), iter.GetCurrent());
174 Iterator iter(root());
175 iter.SetCurrent(child2());
177 EXPECT_EQ(child3(), iter.MoveToNext());
178 EXPECT_EQ(child3(), iter.GetCurrent());
180 EXPECT_EQ(child4(), iter.MoveToNext());
181 EXPECT_EQ(child4(), iter.GetCurrent());
183 EXPECT_EQ(child5(), iter.MoveToNext());
184 EXPECT_EQ(child5(), iter.GetCurrent());
186 EXPECT_EQ(child6(), iter.MoveToNext());
187 EXPECT_EQ(child6(), iter.GetCurrent());
189 EXPECT_EQ(child7(), iter.MoveToNext());
190 EXPECT_EQ(child7(), iter.GetCurrent());
192 EXPECT_EQ(child8(), iter.MoveToNext());
193 EXPECT_EQ(child8(), iter.GetCurrent());
195 EXPECT_EQ(child9(), iter.MoveToNext());
196 EXPECT_EQ(child9(), iter.GetCurrent());
198 EXPECT_FALSE(iter.MoveToNext());
199 EXPECT_FALSE(iter.GetCurrent());
201 EXPECT_FALSE(iter.MoveToNext());
202 EXPECT_FALSE(iter.GetCurrent());
214 Iterator iter(root());
215 EXPECT_EQ(child1(), iter.MoveToNext());
216 EXPECT_EQ(child2(), iter.MoveToNext());
217 EXPECT_EQ(child3(), iter.MoveToNext());
218 EXPECT_EQ(child4(), iter.MoveToNext());
219 EXPECT_EQ(child5(), iter.MoveToNext());
220 EXPECT_EQ(child4(), iter.MoveToPrev());
221 EXPECT_EQ(child3(), iter.MoveToPrev());
222 EXPECT_EQ(child2(), iter.MoveToPrev());
223 EXPECT_EQ(child1(), iter.MoveToPrev());