blob: a01c6dd8e4d7f34683dbe27857193000a1c78135 [file] [log] [blame]
Brian Carlstrom7e93b502011-08-04 14:16:22 -07001// Copyright 2011 Google Inc. All Rights Reserved.
2
3#include "intern_table.h"
4
5#include "common_test.h"
6#include "object.h"
7
Brian Carlstrom7e93b502011-08-04 14:16:22 -07008namespace art {
9
Brian Carlstromf734cf52011-08-17 16:28:14 -070010class InternTableTest : public CommonTest {};
Brian Carlstrom7e93b502011-08-04 14:16:22 -070011
12TEST_F(InternTableTest, Intern) {
13 InternTable intern_table;
14 String* foo_1 = intern_table.Intern(3, "foo");
15 String* foo_2 = intern_table.Intern(3, "foo");
Elliott Hughesbfaadc82011-08-18 17:36:58 -070016 String* foo_3 = String::AllocFromModifiedUtf8("foo");
Brian Carlstrom7e93b502011-08-04 14:16:22 -070017 String* bar = intern_table.Intern(3, "bar");
18 EXPECT_TRUE(foo_1->Equals("foo"));
19 EXPECT_TRUE(foo_2->Equals("foo"));
20 EXPECT_TRUE(foo_3->Equals("foo"));
21 EXPECT_TRUE(foo_1 != NULL);
22 EXPECT_TRUE(foo_2 != NULL);
23 EXPECT_EQ(foo_1, foo_2);
24 EXPECT_NE(foo_1, bar);
25 EXPECT_NE(foo_2, bar);
26 EXPECT_NE(foo_3, bar);
27}
28
29} // namespace art