package server1; import static org.junit.Assert.*; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; import java.net.SocketTimeoutException; import java.util.Arrays; //import org.junit.Before; import org.junit.BeforeClass; import org.junit.AfterClass; import org.junit.Test; public class Proovitestid{ static ServerSocket ss; Socket sc1, sc2; static ChatServer server; InputStream is1, is2; OutputStream os1, os2; static final int PORT=3001; @BeforeClass public static void alusta() throws Exception { ss=new ServerSocket(PORT); ss.setSoTimeout(4000); server=new ChatServer(ss); } @AfterClass public static void lopeta() throws Exception{ ss.close(); } public void yhenduseLoomine() throws IOException{ sc1=new Socket("localhost", PORT); sc2=new Socket("localhost", PORT); sc1.setSoTimeout(3000); sc2.setSoTimeout(3000); is1=sc1.getInputStream(); is2=sc2.getInputStream(); os1=sc1.getOutputStream(); os2=sc2.getOutputStream(); } @Test public void viieBaidiKirjutamine() throws IOException{ yhenduseLoomine(); for(int i=0; i<5; i++){ os2.write(37+i); } os2.close(); for(int i=0; i<5; i++){ assertEquals(37+i, is1.read()); } sc1.close(); sc2.close(); } @Test public void kahelKorralKirjutamine() throws IOException{ viieBaidiKirjutamine(); viieBaidiKirjutamine(); } @Test public void kahesSuunasBait() throws IOException{ yhenduseLoomine(); os2.write(65); assertEquals(65, is1.read()); os1.write(43); assertEquals(43, is2.read()); sc1.close(); sc2.close(); } /* * Koostage test, mis saadaks kordamööda mitu * korda mõlemas suunas mitu baiti ning kontrolliks, et * need samasugustena ka vastu võetakse. * Uuri väljatrükkide kaudu kõnesuuna üle andmisi */ @Test public void kahesSuunasLiiklus() throws IOException{ yhenduseLoomine(); byte[] baidid={17, 23, 11, 67, 43}; os2.write(baidid); os1.write(baidid); os1.write(baidid); os2.flush(); os1.flush(); try{Thread.sleep(1000);} catch(Exception ex){} byte[] vastus=new byte[baidid.length]; is1.read(vastus); assertArrayEquals(baidid, vastus); is2.read(vastus); assertArrayEquals(baidid, vastus); is2.read(vastus); assertArrayEquals(baidid, vastus); try{ int olematu=is1.read(); fail("Saabusid olematud andmed: "+olematu); } catch(SocketTimeoutException ex){} sc1.close(); sc2.close(); } @Test public void kaksKordaKahesSuunas() throws IOException{ kahesSuunasLiiklus(); kahesSuunasLiiklus(); } @Test public void suurteAndmeteSaatmine() throws IOException{ yhenduseLoomine(); byte[] baidid=new byte[100]; for(int i=0; i