| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |