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

Side by Side Diff: chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/InnerNodeTest.java

Issue 2860463002: [Suggestions] Remove TreeNode.getSuggestionAt() in favor of a visitor. (Closed)
Patch Set: review Created 3 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.ntp.cards; 5 package org.chromium.chrome.browser.ntp.cards;
6 6
7 import static org.hamcrest.CoreMatchers.is; 7 import static org.hamcrest.CoreMatchers.is;
8 import static org.junit.Assert.assertThat; 8 import static org.junit.Assert.assertThat;
9 import static org.junit.Assert.fail; 9 import static org.junit.Assert.fail;
10 import static org.mockito.ArgumentMatchers.eq; 10 import static org.mockito.ArgumentMatchers.eq;
11 import static org.mockito.Mockito.mock; 11 import static org.mockito.Mockito.mock;
12 import static org.mockito.Mockito.reset; 12 import static org.mockito.Mockito.reset;
13 import static org.mockito.Mockito.spy; 13 import static org.mockito.Mockito.spy;
14 import static org.mockito.Mockito.verify; 14 import static org.mockito.Mockito.verify;
15 import static org.mockito.Mockito.verifyNoMoreInteractions; 15 import static org.mockito.Mockito.verifyNoMoreInteractions;
16 import static org.mockito.Mockito.verifyZeroInteractions; 16 import static org.mockito.Mockito.verifyZeroInteractions;
17 import static org.mockito.Mockito.when; 17 import static org.mockito.Mockito.when;
18 18
19 import android.support.annotation.Nullable; 19 import android.support.annotation.Nullable;
20 20
21 import org.junit.Before; 21 import org.junit.Before;
22 import org.junit.Test; 22 import org.junit.Test;
23 import org.junit.runner.RunWith; 23 import org.junit.runner.RunWith;
24 import org.mockito.Mock; 24 import org.mockito.Mock;
25 import org.mockito.MockitoAnnotations; 25 import org.mockito.MockitoAnnotations;
26 import org.robolectric.annotation.Config; 26 import org.robolectric.annotation.Config;
27 27
28 import org.chromium.chrome.browser.ntp.cards.NewTabPageViewHolder.PartialBindCal lback; 28 import org.chromium.chrome.browser.ntp.cards.NewTabPageViewHolder.PartialBindCal lback;
29 import org.chromium.chrome.browser.ntp.snippets.SnippetArticle;
30 import org.chromium.testing.local.LocalRobolectricTestRunner; 29 import org.chromium.testing.local.LocalRobolectricTestRunner;
31 30
32 import java.util.ArrayList; 31 import java.util.ArrayList;
33 import java.util.List; 32 import java.util.List;
34 33
35 /** 34 /**
36 * JUnit tests for {@link InnerNode}. 35 * JUnit tests for {@link InnerNode}.
37 */ 36 */
38 @RunWith(LocalRobolectricTestRunner.class) 37 @RunWith(LocalRobolectricTestRunner.class)
39 @Config(manifest = Config.NONE) 38 @Config(manifest = Config.NONE)
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 mInnerNode.onBindViewHolder(holder, 6); 83 mInnerNode.onBindViewHolder(holder, 6);
85 mInnerNode.onBindViewHolder(holder, 11); 84 mInnerNode.onBindViewHolder(holder, 11);
86 85
87 verify(mChildren.get(0)).onBindViewHolder(holder, 0); 86 verify(mChildren.get(0)).onBindViewHolder(holder, 0);
88 verify(mChildren.get(2)).onBindViewHolder(holder, 2); 87 verify(mChildren.get(2)).onBindViewHolder(holder, 2);
89 verify(mChildren.get(4)).onBindViewHolder(holder, 0); 88 verify(mChildren.get(4)).onBindViewHolder(holder, 0);
90 verify(mChildren.get(6)).onBindViewHolder(holder, 0); 89 verify(mChildren.get(6)).onBindViewHolder(holder, 0);
91 } 90 }
92 91
93 @Test 92 @Test
94 public void testGetSuggestion() {
95 SnippetArticle article1 = mock(SnippetArticle.class);
96 SnippetArticle article2 = mock(SnippetArticle.class);
97 SnippetArticle article3 = mock(SnippetArticle.class);
98 SnippetArticle article4 = mock(SnippetArticle.class);
99
100 when(mChildren.get(0).getSuggestionAt(0)).thenReturn(article1);
101 when(mChildren.get(2).getSuggestionAt(2)).thenReturn(article2);
102 when(mChildren.get(4).getSuggestionAt(0)).thenReturn(article3);
103 when(mChildren.get(6).getSuggestionAt(0)).thenReturn(article4);
104
105 assertThat(mInnerNode.getSuggestionAt(0), is(article1));
106 assertThat(mInnerNode.getSuggestionAt(5), is(article2));
107 assertThat(mInnerNode.getSuggestionAt(6), is(article3));
108 assertThat(mInnerNode.getSuggestionAt(11), is(article4));
109 }
110
111 @Test
112 public void testAddChild() { 93 public void testAddChild() {
113 final int itemCountBefore = mInnerNode.getItemCount(); 94 final int itemCountBefore = mInnerNode.getItemCount();
114 95
115 TreeNode child = makeDummyNode(23); 96 TreeNode child = makeDummyNode(23);
116 mInnerNode.addChild(child); 97 mInnerNode.addChild(child);
117 98
118 // The child should have been initialized and the parent hierarchy notif ied about it. 99 // The child should have been initialized and the parent hierarchy notif ied about it.
119 verify(child).setParent(eq(mInnerNode)); 100 verify(child).setParent(eq(mInnerNode));
120 verify(mParent).onItemRangeInserted(mInnerNode, itemCountBefore, 23); 101 verify(mParent).onItemRangeInserted(mInnerNode, itemCountBefore, 23);
121 102
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 mNextExpectedItemCount = null; 220 mNextExpectedItemCount = null;
240 } 221 }
241 } 222 }
242 223
243 private static TreeNode makeDummyNode(int itemCount) { 224 private static TreeNode makeDummyNode(int itemCount) {
244 TreeNode node = mock(TreeNode.class); 225 TreeNode node = mock(TreeNode.class);
245 when(node.getItemCount()).thenReturn(itemCount); 226 when(node.getItemCount()).thenReturn(itemCount);
246 return node; 227 return node;
247 } 228 }
248 } 229 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698