blob: 140ce1ff7f9945095585ee2bd1dd82c63dc6616e [file] [log] [blame]
Jordan Halterman9bdc24f2017-04-19 23:45:12 -07001/*
2 * Copyright 2017-present Open Networking Laboratory
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.onlab.util;
17
18import java.util.concurrent.CountDownLatch;
19import java.util.concurrent.Executor;
20
21import org.junit.Test;
22
23import static org.junit.Assert.assertEquals;
24
25/**
26 * Serial executor test.
27 */
28public class SerialExecutorTest {
29
30 @Test
31 public void testSerialExecution() throws Throwable {
32 Executor executor = new SerialExecutor(SharedExecutors.getPoolThreadExecutor());
33 CountDownLatch latch = new CountDownLatch(2);
34 executor.execute(latch::countDown);
35 executor.execute(latch::countDown);
36 latch.await();
37 assertEquals(0, latch.getCount());
38 }
39
40}