Package com.google.common.base

Examples of com.google.common.base.Ticker


    @Test
    public void testRepeatingRunnable()
            throws Exception
    {
        Ticker ticker = executorService.getTicker();
        long initialTick = ticker.read();
        Counter counter = new TickedCounter(ticker, 10, 15, 20);
        ScheduledFuture<?> future = executorService.scheduleAtFixedRate(counter, 10, 5, TimeUnit.NANOSECONDS);

        assertFalse(future.isDone());
        assertFalse(future.isCancelled());
        assertEquals(counter.getCount(), 0);

        // After 9 nanoseconds, we shouldn't have run yet, and should have 1 nanosecond left
        executorService.elapseTime(9, TimeUnit.NANOSECONDS);
        assertFalse(future.isDone());
        assertFalse(future.isCancelled());
        assertEquals(future.getDelay(TimeUnit.NANOSECONDS), 1);
        assertEquals(counter.getCount(), 0);
        assertEquals(ticker.read() - initialTick, 9);

        // After 1 more nanosecond, we should have run once, and should have 5 nanoseconds remaining
        executorService.elapseTime(1, TimeUnit.NANOSECONDS);
        assertFalse(future.isDone());
        assertFalse(future.isCancelled());
        assertEquals(future.getDelay(TimeUnit.NANOSECONDS), 5);
        assertEquals(counter.getCount(), 1);
        assertEquals(ticker.read() - initialTick, 10);

        // After another 10 nanoseconds, we should have run twice more
        executorService.elapseTime(10, TimeUnit.NANOSECONDS);
        assertEquals(counter.getCount(), 3);
        assertEquals(ticker.read() - initialTick, 20);

    }
View Full Code Here


    @Test
    public void testRepeatingRunnableWithZeroDelayExecutesImmediately()
            throws Exception
    {
        Ticker ticker = executorService.getTicker();
        long initialTick = ticker.read();
        Counter counter = new TickedCounter(ticker, 0, 5, 10);
        ScheduledFuture<?> future = executorService.scheduleAtFixedRate(counter, 0, 5, TimeUnit.NANOSECONDS);

        assertFalse(future.isDone());
        assertFalse(future.isCancelled());
        assertEquals(counter.getCount(), 1);
        assertEquals(future.getDelay(TimeUnit.NANOSECONDS), 5);

        // After another 10 nanoseconds, we should have run twice more
        executorService.elapseTime(10, TimeUnit.NANOSECONDS);
        assertEquals(counter.getCount(), 3);
        assertEquals(ticker.read() - initialTick, 10);
    }
View Full Code Here

    @Test
    public void testCancelRepeatingRunnableBeforeFirstRun()
            throws Exception
    {
        Ticker ticker = executorService.getTicker();
        long initialTick = ticker.read();
        Counter counter = new TickedCounter(ticker);
        ScheduledFuture<?> future = executorService.scheduleAtFixedRate(counter, 10, 5, TimeUnit.NANOSECONDS);

        assertFalse(future.isDone());
        assertFalse(future.isCancelled());
        assertEquals(counter.getCount(), 0);

        executorService.elapseTime(9, TimeUnit.NANOSECONDS);

        future.cancel(true);

        assertTrue(future.isDone());
        assertTrue(future.isCancelled());
        assertEquals(counter.getCount(), 0);
        assertEquals(ticker.read() - initialTick, 9);

        executorService.elapseTime(1, TimeUnit.NANOSECONDS);
        assertTrue(future.isDone());
        assertTrue(future.isCancelled());
        assertEquals(counter.getCount(), 0);
        assertEquals(ticker.read() - initialTick, 10);
    }
View Full Code Here

    @Test
    public void testCancelRepeatingRunnableAfterFirstRun()
            throws Exception
    {
        Ticker ticker = executorService.getTicker();
        long initialTick = ticker.read();
        Counter counter = new TickedCounter(ticker, 10);
        ScheduledFuture<?> future = executorService.scheduleAtFixedRate(counter, 10, 5, TimeUnit.NANOSECONDS);

        assertFalse(future.isDone());
        assertFalse(future.isCancelled());
        assertEquals(counter.getCount(), 0);

        executorService.elapseTime(10, TimeUnit.NANOSECONDS);

        future.cancel(true);

        assertTrue(future.isDone());
        assertTrue(future.isCancelled());
        assertEquals(counter.getCount(), 1);
        assertEquals(ticker.read() - initialTick, 10);

        executorService.elapseTime(5, TimeUnit.NANOSECONDS);
        assertTrue(future.isDone());
        assertTrue(future.isCancelled());
        assertEquals(counter.getCount(), 1);
        assertEquals(ticker.read() - initialTick, 15);
    }
View Full Code Here

    @Test
    public void testMultipleRepeatingRunnables()
            throws Exception
    {
        Ticker ticker = executorService.getTicker();
        long initialTick = ticker.read();
        Counter countEveryMinute = new TickedCounter(ticker, 1, 2, 3, 4, 5, 6, 7);
        Counter countEveryTwoMinutes = new TickedCounter(ticker, 2, 4, 6, 8);
        ScheduledFuture<?> futureEveryNano = executorService.scheduleAtFixedRate(countEveryMinute, 1, 1, TimeUnit.NANOSECONDS);
        executorService.scheduleAtFixedRate(countEveryTwoMinutes, 2, 2, TimeUnit.NANOSECONDS);

        executorService.elapseTime(7, TimeUnit.NANOSECONDS);

        assertEquals(countEveryMinute.getCount(), 7);
        assertEquals(countEveryTwoMinutes.getCount(), 3);
        assertEquals(ticker.read() - initialTick, 7);

        futureEveryNano.cancel(true);

        executorService.elapseTime(1, TimeUnit.NANOSECONDS);
        assertEquals(countEveryMinute.getCount(), 7);
        assertEquals(countEveryTwoMinutes.getCount(), 4);
        assertEquals(ticker.read() - initialTick, 8);
    }
View Full Code Here

    }

    @Test
    public void testAdvanceNothingScheduled()
    {
        Ticker ticker = executorService.getTicker();
        long initialTick = ticker.read();

        executorService.elapseTime(10, TimeUnit.NANOSECONDS);
        assertEquals(ticker.read() - initialTick, 10);

        executorService.elapseTime(10, TimeUnit.NANOSECONDS);
        assertEquals(ticker.read() - initialTick, 20);
    }
View Full Code Here

    @Test
    public void testScheduleRunnable()
            throws Exception
    {
        Ticker ticker = executorService.getTicker();
        long initialTick = ticker.read();
        Counter counter = new TickedCounter(ticker, 10);
        Future<?> future = executorService.schedule(counter, 10, TimeUnit.NANOSECONDS);

        executorService.elapseTime(9, TimeUnit.NANOSECONDS);

        assertFalse(future.isDone());
        assertFalse(future.isCancelled());
        assertEquals(counter.getCount(), 0);
        assertEquals(ticker.read() - initialTick, 9);

        executorService.elapseTime(1, TimeUnit.NANOSECONDS);
        assertTrue(future.isDone());
        assertFalse(future.isCancelled());
        assertEquals(counter.getCount(), 1);
        assertEquals(ticker.read() - initialTick, 10);
    }
View Full Code Here

    @Test
    public void testScheduledRunnableWithZeroDelayCompletesImmediately()
            throws Exception
    {
        Ticker ticker = executorService.getTicker();
        long initialTick = ticker.read();
        Counter counter = new TickedCounter(ticker, 0);
        Future<?> future = executorService.schedule(counter, 0, TimeUnit.MINUTES);

        assertTrue(future.isDone());
        assertFalse(future.isCancelled());
        assertEquals(counter.getCount(), 1);
        assertEquals(ticker.read() - initialTick, 0);
    }
View Full Code Here

    @Test
    public void testCancelScheduledRunnable()
            throws Exception
    {
        Ticker ticker = executorService.getTicker();
        long initialTick = ticker.read();
        Counter counter = new TickedCounter(ticker);
        Future<?> future = executorService.schedule(counter, 10, TimeUnit.NANOSECONDS);

        executorService.elapseTime(9, TimeUnit.NANOSECONDS);

        assertFalse(future.isDone());
        assertFalse(future.isCancelled());
        assertEquals(counter.getCount(), 0);
        assertEquals(ticker.read() - initialTick, 9);

        future.cancel(true);
        assertTrue(future.isDone());
        assertTrue(future.isCancelled());

        executorService.elapseTime(1, TimeUnit.NANOSECONDS);
        assertEquals(counter.getCount(), 0);
        assertEquals(ticker.read() - initialTick, 10);
    }
View Full Code Here

    private final NamedInstanceMap argumentVerifierMap = new NamedInstanceMap();
    private final NamedInstanceMap superMap = new NamedInstanceMap();

    public TestingReportCollectionFactory()
    {
        super(mock(ReportExporter.class), new Ticker()
        {
            @Override
            public long read()
            {
                return 0;
View Full Code Here

TOP

Related Classes of com.google.common.base.Ticker

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.