View Javadoc

1   // Copyright (C) 2006 - 2009 Philip Aston
2   // All rights reserved.
3   //
4   // This file is part of The Grinder software distribution. Refer to
5   // the file LICENSE which is part of The Grinder distribution for
6   // licensing details. The Grinder distribution is available on the
7   // Internet at http://grinder.sourceforge.net/
8   //
9   // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
10  // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
11  // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
12  // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
13  // COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
14  // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
15  // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
16  // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
17  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
18  // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
19  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
20  // OF THE POSSIBILITY OF SUCH DAMAGE.
21  
22  package net.grinder.util;
23  
24  import java.util.ArrayList;
25  import java.util.List;
26  
27  import net.grinder.testutility.RandomStubFactory;
28  
29  
30  public class TimeAuthorityStubFactory extends RandomStubFactory<TimeAuthority> {
31  
32    public TimeAuthorityStubFactory() {
33      super(TimeAuthority.class);
34    }
35  
36    private long m_lastTime;
37    private List<Long> m_nextTimes = new ArrayList<Long>();
38  
39    public void nextTime(long time) {
40      m_nextTimes.add(new Long(time));
41    }
42  
43    public long override_getTimeInMilliseconds(Object proxy) {
44  
45      if (m_nextTimes.size() != 0) {
46        m_lastTime = m_nextTimes.remove(0).longValue();
47      }
48  
49      return m_lastTime;
50    }
51  }