Files
Party-Parrots-At-Sea/src/test/java/seng302/serverDiscovery/ServerTableTest.java
T
Michael Rausch 5e3ae40d03 Made discovery more reliable & added docs/tests
- Added unit tests
- Added documentation for discovery classes
- Improved error handling

Tags: #story[1281]
2017-09-22 00:01:13 +12:00

58 lines
1.6 KiB
Java

package seng302.serverDiscovery;
import org.junit.BeforeClass;
import org.junit.Test;
import seng302.discoveryServer.util.ServerListing;
import seng302.discoveryServer.util.ServerTable;
import java.util.Objects;
import static org.junit.Assert.assertTrue;
public class ServerTableTest {
private static ServerTable serverTable;
@BeforeClass
public static void setup(){
serverTable = new ServerTable();
}
@Test
public void testAddServer(){
ServerListing listing = new ServerListing("", "", "", 12, 12);
serverTable.addServer(listing);
assertTrue(serverTable.getAllServers().contains(listing));
}
@Test
public void testGetNextRoomCodeIsUnique(){
assertTrue(!Objects.equals(serverTable.getNextRoomCode(), serverTable.getNextRoomCode()));
}
@Test
public void testGetServerRoomCode(){
ServerListing listing = new ServerListing("123", "", "", 12, 12);
listing.setRoomCode(serverTable.getNextRoomCode().toString());
serverTable.addServer(listing);
ServerListing result = serverTable.getServerByRoomCode(listing.getRoomCode());
assertTrue(result.equals(listing));
}
@Test
public void testServersRemovedOnExpiry() throws InterruptedException {
ServerListing listing = new ServerListing("432", "221", "", 12, 12);
listing.setTtl(1);
serverTable.addServer(listing);
listing.decrementTtl();
Thread.sleep(1000);
assertTrue(!serverTable.getAllServers().contains(listing));
}
}