SocketDealerTest.java :  » Testing » StoryTestIQ » fitnesse » responders » run » Java Open Source

Java Open Source » Testing » StoryTestIQ 
StoryTestIQ » fitnesse » responders » run » SocketDealerTest.java
// Copyright (C) 2003,2004,2005 by Object Mentor, Inc. All rights reserved.
// Released under the terms of the GNU General Public License version 2 or later.
package fitnesse.responders.run;

import junit.framework.TestCase;
import java.util.*;
import java.net.Socket;
import fitnesse.testutil.*;

public class SocketDealerTest extends TestCase {
  private SocketDealer dealer;

  private SimpleSocketSeeker seeker;

  private int ticket;

  private SimpleDoner doner;

  public void setUp() throws Exception {
    dealer = new SocketDealer();
  }

  public void tearDown() throws Exception {
  }

  public static class SimpleDoner implements SocketDoner {
    public MockSocket socket = new MockSocket("");

    boolean finished = false;

    public Socket donateSocket() {
      return socket;
    }

    public void finishedWithSocket() {
      finished = true;
    }
  }

  public void testAddSeeker() throws Exception {
    SocketSeeker seeker = new SimpleSocketSeeker();
    dealer.seekingSocket(seeker);

    Collection waiting = dealer.getWaitingList();
    assertEquals(1, waiting.size());
    assertTrue(waiting.contains(seeker));
  }

  public void testUniqueTicketNumber() throws Exception {
    int ticketNumber1 = dealer.seekingSocket(new SimpleSocketSeeker());
    int ticketNumber2 = dealer.seekingSocket(new SimpleSocketSeeker());
    assertTrue(ticketNumber1 != ticketNumber2);
  }

  public void testDealSocketTo() throws Exception {
    doSimpleDealing();
    assertSame(doner.socket, seeker.socket);
  }

  private void doSimpleDealing() throws Exception {
    seeker = new SimpleSocketSeeker();
    ticket = dealer.seekingSocket(seeker);
    doner = new SimpleDoner();
    dealer.dealSocketTo(ticket, doner);
  }

  public void testDealSocketToMultipleSeekers() throws Exception {
    SimpleSocketSeeker seeker1 = new SimpleSocketSeeker();
    SimpleSocketSeeker seeker2 = new SimpleSocketSeeker();
    int ticket1 = dealer.seekingSocket(seeker1);
    int ticket2 = dealer.seekingSocket(seeker2);
    SimpleDoner doner1 = new SimpleDoner();
    SimpleDoner doner2 = new SimpleDoner();
    dealer.dealSocketTo(ticket1, doner1);
    dealer.dealSocketTo(ticket2, doner2);

    assertSame(doner1.socket, seeker1.socket);
    assertSame(doner2.socket, seeker2.socket);
  }

  public void testSeekerRemovedAfterDeltTo() throws Exception {
    doSimpleDealing();
    Collection waiting = dealer.getWaitingList();
    assertEquals(0, waiting.size());
  }

  public void testSeekerIsWaiting() throws Exception {
    assertFalse(dealer.isWaiting(23));
    int ticket = dealer.seekingSocket(new SimpleSocketSeeker());
    assertTrue(dealer.isWaiting(ticket));
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.