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

Unified Diff: ios/chrome/browser/ui/content_suggestions/content_suggestion_identifier_unittest.mm

Issue 2708623002: Add an ID to the ContentSuggestion (Closed)
Patch Set: Add tests Created 3 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: ios/chrome/browser/ui/content_suggestions/content_suggestion_identifier_unittest.mm
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestion_identifier_unittest.mm b/ios/chrome/browser/ui/content_suggestions/content_suggestion_identifier_unittest.mm
new file mode 100644
index 0000000000000000000000000000000000000000..635c58d6018bdb61330f5f89b7d46e9c58bb832c
--- /dev/null
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestion_identifier_unittest.mm
@@ -0,0 +1,92 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "ios/chrome/browser/ui/content_suggestions/content_suggestion_identifier.h"
+
+#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_section_information.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+@interface ContentSuggestionIdentifierSubclassTest : ContentSuggestionIdentifier
+@end
+
+@implementation ContentSuggestionIdentifierSubclassTest
+@end
+
+// Tests different equality scenario.
+TEST(ContentSuggestionIdentifierTest, IsEquals) {
+ // Setup.
+ std::string id1("identifier");
+ std::string id2("identifier");
+ ContentSuggestionsSectionInformation* sectionInfo =
+ [[ContentSuggestionsSectionInformation alloc]
+ initWithSectionID:ContentSuggestionsSectionArticles];
+
+ ContentSuggestionIdentifier* suggestionIdentifier1 =
+ [[ContentSuggestionIdentifier alloc] init];
+ suggestionIdentifier1.sectionInfo = sectionInfo;
+ suggestionIdentifier1.IDInSection = id1;
+
+ ContentSuggestionIdentifier* suggestionIdentifier2 =
+ [[ContentSuggestionIdentifier alloc] init];
+ suggestionIdentifier2.sectionInfo = sectionInfo;
+ suggestionIdentifier2.IDInSection = id2;
+
+ ContentSuggestionIdentifierSubclassTest* subclass =
+ [[ContentSuggestionIdentifierSubclassTest alloc] init];
+ subclass.sectionInfo = sectionInfo;
+ subclass.IDInSection = id2;
+
+ // Action and Test.
+ EXPECT_TRUE([suggestionIdentifier1 isEqual:suggestionIdentifier2]);
+ EXPECT_TRUE([suggestionIdentifier1 isEqual:suggestionIdentifier1]);
+ EXPECT_TRUE([suggestionIdentifier1 isEqual:subclass]);
+}
+
+// Test non-equality between different objects.
+TEST(ContentSuggestionIdentifierTest, IsNotEqualsDifferentObjects) {
+ // Setup.
+ NSObject* object = [[NSObject alloc] init];
+ ContentSuggestionIdentifier* suggestionIdentifier =
+ [[ContentSuggestionIdentifier alloc] init];
+
+ // Action and Test.
+ EXPECT_FALSE([suggestionIdentifier isEqual:object]);
+}
+
+// Test non-equality.
+TEST(ContentSuggestionIdentifierTest, IsNotEquals) {
+ // Setup.
+ std::string id1("identifier");
+ std::string id2("identifier2");
+ ContentSuggestionsSectionInformation* sectionInfo1 =
+ [[ContentSuggestionsSectionInformation alloc]
+ initWithSectionID:ContentSuggestionsSectionArticles];
+ ContentSuggestionsSectionInformation* sectionInfo2 =
+ [[ContentSuggestionsSectionInformation alloc]
+ initWithSectionID:ContentSuggestionsSectionBookmarks];
+
+ ContentSuggestionIdentifier* suggestionIdentifier1 =
+ [[ContentSuggestionIdentifier alloc] init];
+ suggestionIdentifier1.sectionInfo = sectionInfo1;
+ suggestionIdentifier1.IDInSection = id1;
+
+ ContentSuggestionIdentifier* suggestionIdentifier2 =
+ [[ContentSuggestionIdentifier alloc] init];
+ suggestionIdentifier2.sectionInfo = sectionInfo1;
+ suggestionIdentifier2.IDInSection = id2;
+
+ ContentSuggestionIdentifier* suggestionIdentifier3 =
+ [[ContentSuggestionIdentifier alloc] init];
+ suggestionIdentifier3.sectionInfo = sectionInfo2;
+ suggestionIdentifier3.IDInSection = id1;
+
+ // Action and Test.
+ EXPECT_FALSE([suggestionIdentifier1 isEqual:suggestionIdentifier2]);
+ EXPECT_FALSE([suggestionIdentifier2 isEqual:suggestionIdentifier3]);
+ EXPECT_FALSE([suggestionIdentifier1 isEqual:suggestionIdentifier3]);
+}

Powered by Google App Engine
This is Rietveld 408576698