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

Side by Side Diff: remoting/android/javatests/src/org/chromium/chromoting/EventTest.java

Issue 2385593002: [Chromoting] PromisedRaisable in Android client (Closed)
Patch Set: Created 4 years, 2 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.chromoting; 5 package org.chromium.chromoting;
6 6
7 import android.test.InstrumentationTestCase; 7 import android.test.InstrumentationTestCase;
8 import android.test.suitebuilder.annotation.MediumTest; 8 import android.test.suitebuilder.annotation.MediumTest;
9 import android.test.suitebuilder.annotation.SmallTest; 9 import android.test.suitebuilder.annotation.SmallTest;
10 10
11 import org.chromium.base.test.util.Feature; 11 import org.chromium.base.test.util.Feature;
12 import org.chromium.chromoting.test.util.MutableReference; 12 import org.chromium.chromoting.test.util.MutableReference;
13 13
14 import java.util.ArrayList;
15 import java.util.List;
16
14 /** 17 /**
15 * Tests for {@link Event}. 18 * Tests for {@link Event}.
16 */ 19 */
17 public class EventTest extends InstrumentationTestCase { 20 public class EventTest extends InstrumentationTestCase {
18 @SmallTest 21 @SmallTest
19 @Feature({"Chromoting"}) 22 @Feature({"Chromoting"})
20 public static void testBasicScenario() { 23 public static void testBasicScenario() {
21 Event.Raisable<Void> event = new Event.Raisable<>(); 24 Event.Raisable<Void> event = new Event.Raisable<>();
22 final MutableReference<Integer> callTimes = new MutableReference<Integer >(0); 25 final MutableReference<Integer> callTimes = new MutableReference<Integer >(0);
23 Object eventId1 = event.add(new Event.ParameterRunnable<Void>() { 26 Object eventId1 = event.add(new Event.ParameterRunnable<Void>() {
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 nextReturn.set(false); 139 nextReturn.set(false);
137 assertEquals(event.raise(null), 1); 140 assertEquals(event.raise(null), 1);
138 assertTrue(called.get()); 141 assertTrue(called.get());
139 assertTrue(event.isEmpty()); 142 assertTrue(event.isEmpty());
140 called.set(false); 143 called.set(false);
141 nextReturn.set(true); 144 nextReturn.set(true);
142 assertEquals(event.raise(null), 0); 145 assertEquals(event.raise(null), 0);
143 assertFalse(called.get()); 146 assertFalse(called.get());
144 assertTrue(event.isEmpty()); 147 assertTrue(event.isEmpty());
145 } 148 }
149
150 @SmallTest
151 @Feature({"Chromoting"})
152 public static void testReproducibleEvent() {
153 Event.Raisable<Object> event = new Event.ReproducibleRaisable<>();
154 final List<Object> called1 = new ArrayList<>();
155 final List<Object> called2 = new ArrayList<>();
156 final List<Object> called3 = new ArrayList<>();
157 final List<Object> called4 = new ArrayList<>();
158 final List<Object> parameters = new ArrayList<>();
159 event.add(new Event.ParameterRunnable<Object>() {
160 @Override
161 public void run(Object obj) {
162 called1.add(obj);
163 }
164 });
165 Object parameter = new Object();
166 event.raise(parameter);
167 parameters.add(parameter);
168 event.add(new Event.ParameterRunnable<Object>() {
169 @Override
170 public void run(Object obj) {
171 called2.add(obj);
172 }
173 });
174 parameter = new Object();
175 event.raise(parameter);
176 parameters.add(parameter);
177 event.add(new Event.ParameterRunnable<Object>() {
178 @Override
179 public void run(Object obj) {
180 called3.add(obj);
181 }
182 });
183 parameter = new Object();
184 event.raise(parameter);
185 parameters.add(parameter);
186 event.add(new Event.ParameterRunnable<Object>() {
187 @Override
188 public void run(Object obj) {
189 called4.add(obj);
190 }
191 });
192
193 assertEquals(called1.size(), 3);
194 assertEquals(called2.size(), 3);
195 assertEquals(called3.size(), 2);
196 assertEquals(called4.size(), 1);
197
198 for (int i = 0; i < 3; i++) {
199 assertTrue(called1.get(i) == parameters.get(i));
200 assertTrue(called2.get(i) == parameters.get(i));
201 }
202 for (int i = 0; i < 2; i++) {
203 assertTrue(called3.get(i) == parameters.get(i + 1));
204 }
205 assertTrue(called4.get(0) == parameters.get(2));
206 }
146 } 207 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698