@@ -0,0 +1,3201 @@
+/*%0A * Licensed to the Apache Software Foundation (ASF) under one or more%0A * contributor license agreements.  See the NOTICE file distributed with%0A * this work for additional information regarding copyright ownership.%0A * The ASF licenses this file to You under the Apache License, Version 2.0%0A * (the %22License%22); you may not use this file except in compliance with%0A * the License.  You may obtain a copy of the License at%0A *%0A *      http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0Apackage org.apache.commons.pool2.impl;%0A%0Aimport java.util.Set;%0A%0Aimport org.apache.commons.pool2.impl.TestGenericObjectPool.SimpleFactory;%0Aimport org.junit.Assert;%0Aimport org.junit.Test;%0A%0Apublic class TestDefaultPooledObjectInfo %7B%0A%0A    @Test%0A    public void testTiming() throws Exception %7B%0A        GenericObjectPool%3CString%3E pool =%0A                new GenericObjectPool%3CString%3E(new SimpleFactory());%0A%0A        long t1 = System.currentTimeMillis();%0A%0A        Thread.sleep(50);%0A        String s1 = pool.borrowObject();%0A        Thread.sleep(50);%0A%0A        long t2 = System.currentTimeMillis();%0A%0A        Thread.sleep(50);%0A        pool.returnObject(s1);%0A        Thread.sleep(50);%0A%0A        long t3 = System.currentTimeMillis();%0A%0A        Thread.sleep(50);%0A        s1 = pool.borrowObject();%0A        Thread.sleep(50);%0A%0A        long t4 = System.currentTimeMillis();%0A%0A        Set%3CDefaultPooledObjectInfo%3E strings = pool.listAllObjects();%0A%0A        Assert.assertEquals(1, strings.size());%0A%0A        DefaultPooledObjectInfo s1Info = strings.iterator().next();%0A%0A        Assert.assertTrue(s1Info.getCreateTime() %3E t1);%0A        Assert.assertTrue(s1Info.getCreateTime() %3C t2);%0A%0A        Assert.assertTrue(s1Info.getLastReturnTime() %3E t2);%0A        Assert.assertTrue(s1Info.getLastReturnTime() %3C t3);%0A%0A        Assert.assertTrue(s1Info.getLastBorrowTime() %3E t3);%0A        Assert.assertTrue(s1Info.getLastBorrowTime() %3C t4);%0A    %7D%0A%0A    @Test%0A    public void testGetPooledObjectType() throws Exception %7B%0A        GenericObjectPool%3CString%3E pool =%0A                new GenericObjectPool%3CString%3E(new SimpleFactory());%0A%0A        pool.borrowObject();%0A%0A        Set%3CDefaultPooledObjectInfo%3E strings = pool.listAllObjects();%0A%0A        Assert.assertEquals(1, strings.size());%0A%0A        DefaultPooledObjectInfo s1Info = strings.iterator().next();%0A%0A        Assert.assertEquals(String.class.getName(),%0A                s1Info.getPooledObjectType());%0A    %7D%0A%0A    @Test%0A    public void testGetPooledObjectToString() throws Exception %7B%0A        GenericObjectPool%3CString%3E pool =%0A                new GenericObjectPool%3CString%3E(new SimpleFactory());%0A%0A        String s1 = pool.borrowObject();%0A%0A        Set%3CDefaultPooledObjectInfo%3E strings = pool.listAllObjects();%0A%0A        Assert.assertEquals(1, strings.size());%0A%0A        DefaultPooledObjectInfo s1Info = strings.iterator().next();%0A%0A        Assert.assertEquals(s1, s1Info.getPooledObjectToString());%0A    %7D%0A%7D%0A

Add some tests for DefaultPooledObjectInfo that currently has zero coverage.