| 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]);
|
| +}
|
|
|