Java_2/src/test/java/de/joethei/hs/java2/tests/KlausurenServerTest2.java

199 lines
6.6 KiB
Java

package de.joethei.hs.java2.tests;
import de.joethei.hs.java2.praktikum.praktikum4.KlausurenServer;
import org.junit.Before;
import org.junit.Test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
public class KlausurenServerTest2 {
PrintWriter ausSo;
BufferedReader einSo;
Socket so;
String line;
public void opensocket() throws IOException {
so = new Socket("localhost", 6769); //Port 6769 wird erwartet!
ausSo = new PrintWriter(so.getOutputStream(), true);
einSo = new BufferedReader(new InputStreamReader(so.getInputStream()));
}
public void closesocket() throws IOException {
so.close();
}
@Before
public void setUp() throws IOException {
new KlausurenServer(6769);
System.out.println("INITIALISIERUNG");
opensocket();
ausSo.println("del mail1");
line = einSo.readLine();
closesocket();
opensocket();
ausSo.println("del mail2");
line = einSo.readLine();
closesocket();
opensocket();
ausSo.println("del mail3");
line = einSo.readLine();
closesocket();
opensocket();
ausSo.println("del mail4");
line = einSo.readLine();
closesocket();
opensocket();
ausSo.println("del mail5");
line = einSo.readLine();
closesocket();
System.out.println("INITIALISIERUNG OK"+"\n");
}
@Test //alles in einer Test-Methode, weil die richtige Reihenfolge sonst nicht gewährleistet ist!
public void all() throws IOException {
System.out.println("TEST: del mail1");
opensocket();
ausSo.println("del mail1");
line = einSo.readLine();
//System.out.println(line);
assertEquals(line,"0");
closesocket();
System.out.println("TEST: OK"+"\n");
System.out.println("TEST: put mail2 22,23,24");
opensocket();
ausSo.println("put mail2 22,23,24");
line = einSo.readLine();
//System.out.println(line);
assertTrue(line.equals("1 ")||line.equals("1"));
closesocket();
System.out.println("TEST: OK"+"\n");
System.out.println("TEST: put mail2 33,34,35");
opensocket();
ausSo.println("put mail2 33,34,35");
line = einSo.readLine();
//System.out.println(line);
assertEquals(line,"1 22,23,24");
closesocket();
System.out.println("TEST: OK"+"\n");
System.out.println("TEST: get mail2");
opensocket();
ausSo.println("get mail2");
line = einSo.readLine();
//System.out.println(line);
assertEquals(line,"1 33,34,35");
closesocket();
System.out.println("TEST: OK"+"\n");
System.out.println("TEST: put mail3 44,45,46");
opensocket();
ausSo.println("put mail3 44,45,46");
line = einSo.readLine();
//System.out.println(line);
assertTrue(line.equals("1 ")||line.equals("1"));
closesocket();
System.out.println("TEST: OK"+"\n");
System.out.println("TEST: put mail4 44,45");
opensocket();
ausSo.println("put mail5 44,45");
line = einSo.readLine();
//System.out.println(line);
assertTrue(line.equals("1 ")||line.equals("1"));
closesocket();
System.out.println("TEST: OK"+"\n");
System.out.println("TEST: getall");
opensocket();
ausSo.println("getall");
line = einSo.readLine();
//System.out.println(line);
assertTrue(line.equals("1 [33,34,35],[44,45,46]")||line.equals("1 [44,45,46],[33,34,35]"));
// assertEquals(line,"1 [33,34,35],[44,45,46]");
closesocket();
System.out.println("TEST: OK"+"\n");
System.out.println("TEST: del mail2");
opensocket();
ausSo.println("del mail2");
line = einSo.readLine();
//System.out.println(line);
assertEquals(line,"1 33,34,35");
closesocket();
System.out.println("TEST: OK"+"\n");
System.out.println("TEST: del mail3");
opensocket();
ausSo.println("del mail3");
line = einSo.readLine();
//System.out.println(line);
assertEquals(line,"1 44,45,46");
closesocket();
System.out.println("TEST: OK"+"\n");
System.out.println("TEST: get mail2");
opensocket();
ausSo.println("get mail2");
line = einSo.readLine();
//System.out.println(line);
assertEquals(line,"0");
closesocket();
System.out.println("TEST: OK"+"\n");
System.out.println("TEST: getall");
opensocket();
ausSo.println("getall");
line = einSo.readLine();
//System.out.println(line);
assertEquals(line,"1 [44,45]");
closesocket();
System.out.println("TEST: OK"+"\n");
System.out.println("TEST: put mail2 45,46");
opensocket();
ausSo.println("put mail2 45,46");
line = einSo.readLine();
//System.out.println(line);
assertTrue(line.equals("1 ")||line.equals("1"));
closesocket();
System.out.println("TEST: OK"+"\n");
System.out.println("TEST: put mail3 44,46");
opensocket();
ausSo.println("put mail3 44,46");
line = einSo.readLine();
//System.out.println(line);
assertTrue(line.equals("1 ")||line.equals("1"));
closesocket();
System.out.println("TEST: OK"+"\n");
System.out.println("TEST: getall");
opensocket();
ausSo.println("getall");
line = einSo.readLine();
//System.out.println(line);
assertTrue(line.equals("1 [44,45],[44,46],[45,46]")||line.equals("1 [44,45],[45,46],[44,46]")||line.equals("1 [44,46],[44,45],[45,46]")||line.equals("1 [44,46],[45,46],[44,45]")||line.equals("1 [45,46],[44,45],[44,46]")||line.equals("1 [45,46],[44,46],[44,45]")||line.equals("1 [44,45,46]"));
// assertEquals(line,"1 [44,45],[44,46],[45,46]");
closesocket();
System.out.println("TEST: OK"+"\n");
System.out.println("TEST: stop");
opensocket();
ausSo.println("stop");
line = einSo.readLine();
//System.out.println(line);
assertTrue(line.equals("1 ")||line.equals("1"));
closesocket();
System.out.println("TEST: OK"+"\n");
}
}