aboutsummaryrefslogtreecommitdiff
path: root/android/guava-tests/test/com/google/common/util/concurrent/ThreadFactoryBuilderTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'android/guava-tests/test/com/google/common/util/concurrent/ThreadFactoryBuilderTest.java')
-rw-r--r--android/guava-tests/test/com/google/common/util/concurrent/ThreadFactoryBuilderTest.java222
1 files changed, 0 insertions, 222 deletions
diff --git a/android/guava-tests/test/com/google/common/util/concurrent/ThreadFactoryBuilderTest.java b/android/guava-tests/test/com/google/common/util/concurrent/ThreadFactoryBuilderTest.java
deleted file mode 100644
index a3a7b8e79..000000000
--- a/android/guava-tests/test/com/google/common/util/concurrent/ThreadFactoryBuilderTest.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- * Copyright (C) 2010 The Guava Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.google.common.util.concurrent;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import com.google.common.testing.NullPointerTester;
-import java.lang.Thread.UncaughtExceptionHandler;
-import java.util.Locale;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ThreadFactory;
-import junit.framework.TestCase;
-
-/**
- * Tests for ThreadFactoryBuilder.
- *
- * @author Kurt Alfred Kluever
- * @author Martin Buchholz
- */
-public class ThreadFactoryBuilderTest extends TestCase {
- private final Runnable monitoredRunnable =
- new Runnable() {
- @Override
- public void run() {
- completed = true;
- }
- };
-
- private static final UncaughtExceptionHandler UNCAUGHT_EXCEPTION_HANDLER =
- new UncaughtExceptionHandler() {
- @Override
- public void uncaughtException(Thread t, Throwable e) {
- // No-op
- }
- };
-
- private ThreadFactoryBuilder builder;
- private volatile boolean completed = false;
-
- @Override
- public void setUp() {
- builder = new ThreadFactoryBuilder();
- }
-
- public void testThreadFactoryBuilder_defaults() throws InterruptedException {
- ThreadFactory threadFactory = builder.build();
- Thread thread = threadFactory.newThread(monitoredRunnable);
- checkThreadPoolName(thread, 1);
-
- Thread defaultThread = Executors.defaultThreadFactory().newThread(monitoredRunnable);
- assertEquals(defaultThread.isDaemon(), thread.isDaemon());
- assertEquals(defaultThread.getPriority(), thread.getPriority());
- assertSame(defaultThread.getThreadGroup(), thread.getThreadGroup());
- assertSame(defaultThread.getUncaughtExceptionHandler(), thread.getUncaughtExceptionHandler());
-
- assertFalse(completed);
- thread.start();
- thread.join();
- assertTrue(completed);
-
- // Creating a new thread from the same ThreadFactory will have the same
- // pool ID but a thread ID of 2.
- Thread thread2 = threadFactory.newThread(monitoredRunnable);
- checkThreadPoolName(thread2, 2);
- assertEquals(
- thread.getName().substring(0, thread.getName().lastIndexOf('-')),
- thread2.getName().substring(0, thread.getName().lastIndexOf('-')));
-
- // Building again should give us a different pool ID.
- ThreadFactory threadFactory2 = builder.build();
- Thread thread3 = threadFactory2.newThread(monitoredRunnable);
- checkThreadPoolName(thread3, 1);
- assertThat(thread2.getName().substring(0, thread.getName().lastIndexOf('-')))
- .isNotEqualTo(thread3.getName().substring(0, thread.getName().lastIndexOf('-')));
- }
-
- private static void checkThreadPoolName(Thread thread, int threadId) {
- assertThat(thread.getName()).matches("^pool-\\d+-thread-" + threadId + "$");
- }
-
- public void testNameFormatWithPercentS_custom() {
- String format = "super-duper-thread-%s";
- ThreadFactory factory = builder.setNameFormat(format).build();
- for (int i = 0; i < 11; i++) {
- assertEquals(rootLocaleFormat(format, i), factory.newThread(monitoredRunnable).getName());
- }
- }
-
- public void testNameFormatWithPercentD_custom() {
- String format = "super-duper-thread-%d";
- ThreadFactory factory = builder.setNameFormat(format).build();
- for (int i = 0; i < 11; i++) {
- assertEquals(rootLocaleFormat(format, i), factory.newThread(monitoredRunnable).getName());
- }
- }
-
- public void testDaemon_false() {
- ThreadFactory factory = builder.setDaemon(false).build();
- Thread thread = factory.newThread(monitoredRunnable);
- assertFalse(thread.isDaemon());
- }
-
- public void testDaemon_true() {
- ThreadFactory factory = builder.setDaemon(true).build();
- Thread thread = factory.newThread(monitoredRunnable);
- assertTrue(thread.isDaemon());
- }
-
- public void testPriority_custom() {
- for (int i = Thread.MIN_PRIORITY; i <= Thread.MAX_PRIORITY; i++) {
- ThreadFactory factory = builder.setPriority(i).build();
- Thread thread = factory.newThread(monitoredRunnable);
- assertEquals(i, thread.getPriority());
- }
- }
-
- public void testPriority_tooLow() {
- try {
- builder.setPriority(Thread.MIN_PRIORITY - 1);
- fail();
- } catch (IllegalArgumentException expected) {
- }
- }
-
- public void testPriority_tooHigh() {
- try {
- builder.setPriority(Thread.MAX_PRIORITY + 1);
- fail();
- } catch (IllegalArgumentException expected) {
- }
- }
-
- public void testUncaughtExceptionHandler_custom() {
- assertEquals(
- UNCAUGHT_EXCEPTION_HANDLER,
- builder
- .setUncaughtExceptionHandler(UNCAUGHT_EXCEPTION_HANDLER)
- .build()
- .newThread(monitoredRunnable)
- .getUncaughtExceptionHandler());
- }
-
- public void testBuildMutateBuild() {
- ThreadFactory factory1 = builder.setPriority(1).build();
- assertEquals(1, factory1.newThread(monitoredRunnable).getPriority());
-
- ThreadFactory factory2 = builder.setPriority(2).build();
- assertEquals(1, factory1.newThread(monitoredRunnable).getPriority());
- assertEquals(2, factory2.newThread(monitoredRunnable).getPriority());
- }
-
- public void testBuildTwice() {
- ThreadFactory unused;
- unused = builder.build(); // this is allowed
- unused = builder.build(); // this is *also* allowed
- }
-
- public void testBuildMutate() {
- ThreadFactory factory1 = builder.setPriority(1).build();
- assertEquals(1, factory1.newThread(monitoredRunnable).getPriority());
-
- builder.setPriority(2); // change the state of the builder
- assertEquals(1, factory1.newThread(monitoredRunnable).getPriority());
- }
-
- public void testThreadFactory() throws InterruptedException {
- final String THREAD_NAME = "ludicrous speed";
- final int THREAD_PRIORITY = 1;
- final boolean THREAD_DAEMON = false;
- ThreadFactory backingThreadFactory =
- new ThreadFactory() {
- @Override
- public Thread newThread(Runnable r) {
- Thread thread = new Thread(r);
- thread.setName(THREAD_NAME);
- thread.setPriority(THREAD_PRIORITY);
- thread.setDaemon(THREAD_DAEMON);
- thread.setUncaughtExceptionHandler(UNCAUGHT_EXCEPTION_HANDLER);
- return thread;
- }
- };
-
- Thread thread =
- builder.setThreadFactory(backingThreadFactory).build().newThread(monitoredRunnable);
-
- assertEquals(THREAD_NAME, thread.getName());
- assertEquals(THREAD_PRIORITY, thread.getPriority());
- assertEquals(THREAD_DAEMON, thread.isDaemon());
- assertSame(UNCAUGHT_EXCEPTION_HANDLER, thread.getUncaughtExceptionHandler());
- assertSame(Thread.State.NEW, thread.getState());
-
- assertFalse(completed);
- thread.start();
- thread.join();
- assertTrue(completed);
- }
-
- public void testNulls() {
- NullPointerTester npTester = new NullPointerTester();
- npTester.testAllPublicConstructors(ThreadFactoryBuilder.class);
- npTester.testAllPublicStaticMethods(ThreadFactoryBuilder.class);
- npTester.testAllPublicInstanceMethods(builder);
- }
-
- private static String rootLocaleFormat(String format, Object... args) {
- return String.format(Locale.ROOT, format, args);
- }
-}