diff --git a/src/main/java/Enigma/model/DatenbankSqlite.java b/src/main/java/Enigma/model/DatenbankSqlite.java
index 891c011a036f01b038400dbb808d65c11a0b8f43..f9e0a9b11d03a5fa75b25bb1604c3fb689484306 100644
--- a/src/main/java/Enigma/model/DatenbankSqlite.java
+++ b/src/main/java/Enigma/model/DatenbankSqlite.java
@@ -1,8 +1,6 @@
 package Enigma.model;
 
-import javax.swing.text.html.HTML;
 import java.sql.*;
-import java.util.Random;
 
 /**
  * Dies ist die SQLite Datenbank Klasse
@@ -64,14 +62,14 @@ public class DatenbankSqlite {
 	}
 
 	//region Random New Codebuch generieren
-	/*
-	*//**
+	/**
 	 * Setzt zufällige Codebuch Einträge in die SQLite Datenbank
 	 * Tag => int
 	 * Walzenlage => String w1,w2,w3
 	 * Ringstellung => String r1,r2,r3
 	 * Steckverbindungen => s0,s1,s2,s3,s4,s5,s6,s7,s8,s9
-	 *//*
+	 */
+	/*
 	public void autoGenCodebuch() throws SQLException {
 
 		Connection conn = connect();
@@ -88,11 +86,12 @@ public class DatenbankSqlite {
 		conn.commit();
 	}
 
-	*//**
+	/**
 	 * Generiert einen String aus 3 Zufalls-Zahlen(zwischen 1 und 5)
 	 * die Zahlen sind durch Komma getrennt
 	 * @return String => walzenlage mit drei Kommaseparierten Zufallszahlen zwischen 1 und 5
-	 *//*
+	 */
+	/*
 	private static String walzenlage(){
 		String walzenlage;
 		Random random = new Random();
@@ -105,13 +104,14 @@ public class DatenbankSqlite {
 		}
 		walzenlage= w[0]+","+w[1]+","+w[2];
 		return walzenlage;
-	}
+	}*/
 
-	*//**
+	/**
 	 * Generiert einen String aus 3 Zufalls-Zahlen(zwischen 1 und 26)
 	 * die Zahlen sind durch Komma getrennt
 	 * @return String => ringstellung mit drei Kommaseparierten Zufallszahlen zwischen 1 und 26
-	 *//*
+	 */
+	/*
 	private static String ringstellung(){
 		String ringstellung;
 		Random random = new Random();
@@ -121,12 +121,13 @@ public class DatenbankSqlite {
 		}
 		ringstellung= w[0]+","+w[1]+","+w[2];
 		return ringstellung;
-	}
+	}*/
 
-	*//**
+	/**
 	 * Generiert einen String aus 10 * 2 unterschiedlichen Großbuchstaben
 	 * @return  String => 10 Buchstabenkombinationen mit Komma getrennt
-	 *//*
+	 */
+	/*
 	private static String steckverbindung(){
 		Random rnd = new Random();
 		String steckverbindung="";
diff --git a/src/main/java/Enigma/model/Funkraum.java b/src/main/java/Enigma/model/Funkraum.java
index de283e750d219646a8fbca82f81626a4b94dff0d..acb4e632acca7338eebcb5ad1044df34a7570576 100644
--- a/src/main/java/Enigma/model/Funkraum.java
+++ b/src/main/java/Enigma/model/Funkraum.java
@@ -13,7 +13,6 @@ import org.json.JSONObject;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
-import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;
 import java.util.List;
 
diff --git a/src/main/java/Enigma/model/Hardware.java b/src/main/java/Enigma/model/Hardware.java
index 4280ddc35b124f5b229a8bfab1315961a0d5c237..7af1797f40811e1dca91f9fd7c7f6b2106e33cf5 100644
--- a/src/main/java/Enigma/model/Hardware.java
+++ b/src/main/java/Enigma/model/Hardware.java
@@ -37,8 +37,8 @@ public class Hardware {
 	/**
 	 * Setzt den Startwert (position) der Walze (walze)
 	 *
-	 * @param walze
-	 * @param buchstabe
+	 * @param walze : int : Nummer der Walze
+	 * @param buchstabe : char : Buchstabe der zugewiesen soll
 	 */
 	public void setzePosition(int walze, char buchstabe) {
 	}
@@ -55,9 +55,8 @@ public class Hardware {
 	 * String[1] = Nachricht im Klartext
 	 */
 	public String[] empfangeNachricht() {
-		String[] result = new String[2];
 
-		return result;
+		return new String[2];
 	}
 
 	/**
@@ -89,9 +88,8 @@ public class Hardware {
 	 * @return String : Die Klartext Nachricht
 	 */
 	private String decodiereNachricht(String nachricht) {
-		String result = "";
 
-		return result;
+		return "";
 	}
 
 	public Walze[] getWalzen() {
diff --git a/src/main/java/Enigma/model/Reflektor.java b/src/main/java/Enigma/model/Reflektor.java
index a3069b863341a420aa9e30cd70620d8d043706c6..1457cf3a7c6fc302ec19deae15dc826154966e11 100644
--- a/src/main/java/Enigma/model/Reflektor.java
+++ b/src/main/java/Enigma/model/Reflektor.java
@@ -10,7 +10,7 @@ package Enigma.model;
  * nach Betätigung einer Taste nicht dreht (starr montiert) und sie gibt keine Signale
  * an andere Walzen zum drehen.
  */
-public class Reflektor {
+class Reflektor {
 
     /**
      * Konstanten und Variablen der Klasse Reflektor
@@ -34,7 +34,7 @@ public class Reflektor {
      *
      * @return reflektorBuchstabeRaus: Character: Der kodierte Buchstabe aus dem Reflektor
      */
-    public char codiere(Character buchstabe) {
+    char codiere(Character buchstabe) {
         int iPositionReflektor = 0;
 
         /*Ermittelt die Position des Buchstaben buchstabe auf der Alphabetswalze*/
diff --git a/src/main/java/Enigma/model/Walze.java b/src/main/java/Enigma/model/Walze.java
index f12de2a19e99bdb33b4ef8ae9f4d50a6d875b105..8bc7bd61f7b36627fb86f9e7ee39444d71ce3107 100644
--- a/src/main/java/Enigma/model/Walze.java
+++ b/src/main/java/Enigma/model/Walze.java
@@ -26,13 +26,12 @@ public class Walze {
 	 * iPositionBuchstabeRe : gibt die Position des codierten Buchstabens im Alphabet wieder.
 	 * private Character[] walze : Character-Array der Walze
 	 */
-    /*Alphawalze*/
-    private final static Character[] walzeAlpha = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
+	/*Alphawalze*/
+	private final static Character[] walzeAlpha = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
 	private Character buchstabe;
 	private int ringstellung;
 	private int walzennr;
 	private int iPositionBuchstabe;
-	private int iPositionBuchstabeRe;
 	private Character[] walze;
 
 
@@ -58,12 +57,12 @@ public class Walze {
 	 */
 	private Character[] walzenNummer() {
 
-	    Character[] walzeEins =         {'E', 'K', 'M', 'F', 'L', 'G', 'D', 'Q', 'V', 'Z', 'N', 'T', 'O', 'W', 'Y', 'H', 'X', 'U', 'S', 'P', 'A', 'I', 'B', 'R', 'C', 'J'};
-		Character[] walzeZwei =         {'A', 'J', 'D', 'K', 'S', 'I', 'R', 'U', 'X', 'B', 'L', 'H', 'W', 'T', 'M', 'C', 'Q', 'G', 'Z', 'N', 'P', 'Y', 'F', 'V', 'O', 'E'};
-		Character[] walzeDrei =         {'B', 'D', 'F', 'H', 'J', 'L', 'C', 'P', 'R', 'T', 'X', 'V', 'Z', 'N', 'Y', 'E', 'I', 'W', 'G', 'A', 'K', 'M', 'U', 'S', 'Q', 'O'};
+		Character[] walzeEins = {'E', 'K', 'M', 'F', 'L', 'G', 'D', 'Q', 'V', 'Z', 'N', 'T', 'O', 'W', 'Y', 'H', 'X', 'U', 'S', 'P', 'A', 'I', 'B', 'R', 'C', 'J'};
+		Character[] walzeZwei = {'A', 'J', 'D', 'K', 'S', 'I', 'R', 'U', 'X', 'B', 'L', 'H', 'W', 'T', 'M', 'C', 'Q', 'G', 'Z', 'N', 'P', 'Y', 'F', 'V', 'O', 'E'};
+		Character[] walzeDrei = {'B', 'D', 'F', 'H', 'J', 'L', 'C', 'P', 'R', 'T', 'X', 'V', 'Z', 'N', 'Y', 'E', 'I', 'W', 'G', 'A', 'K', 'M', 'U', 'S', 'Q', 'O'};
 
 		Character[] walzeVier = {'E', 'S', 'O', 'V', 'P', 'Z', 'J', 'A', 'Y', 'Q', 'U', 'I', 'R', 'H', 'X', 'L', 'N', 'F', 'T', 'G', 'K', 'D', 'C', 'M', 'W', 'B'};
-		Character[] walzeFuenf ={'V', 'Z', 'B', 'R', 'G', 'I', 'T', 'Y', 'U', 'P', 'S', 'D', 'N', 'H', 'L', 'X', 'A', 'W', 'M', 'J', 'Q', 'O', 'F', 'E', 'C', 'K'};
+		Character[] walzeFuenf = {'V', 'Z', 'B', 'R', 'G', 'I', 'T', 'Y', 'U', 'P', 'S', 'D', 'N', 'H', 'L', 'X', 'A', 'W', 'M', 'J', 'Q', 'O', 'F', 'E', 'C', 'K'};
 
 		switch (this.walzennr) {
 			case 1:
@@ -90,10 +89,10 @@ public class Walze {
 	//walzenPosition() return int => Gibt die aktuelle Position des Buchstabens zurück
 	public char walzenPosition() {
 
-        /*Alphabetswalze*/
-        Character[] walzeAlphabeth = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
+		/*Alphabetswalze*/
+		Character[] walzeAlphabeth = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
 
-        return walzeAlphabeth[iPositionBuchstabe];
+		return walzeAlphabeth[iPositionBuchstabe];
 	}
 
 
@@ -132,13 +131,9 @@ public class Walze {
 			iPositionBuchstabe = 0;
 		} else {
 			iPositionBuchstabe += 1;
-    	}
+		}
 
-		if (iPositionBuchstabe == getRingstellung()) {
-			checkRing = true;
-		} else {
-			checkRing = false;
-    	}
+		checkRing = iPositionBuchstabe == getRingstellung();
 
 		return checkRing;
 	}
@@ -154,14 +149,14 @@ public class Walze {
 	 * @return chiffrierterBuchstabe : Character : chiffrierter Buchstabe
 	 */
 	public char codiere(char buchstabe) {
-        for(int i = 0; i < walzeAlpha.length; i++) {
-            if(walzeAlpha[i].equals(buchstabe)) {
-                buchstabe = walzenNummer()[i];
-                break;
-            }
-        }
-
-        return buchstabe;
+		for (int i = 0; i < walzeAlpha.length; i++) {
+			if (walzeAlpha[i].equals(buchstabe)) {
+				buchstabe = walzenNummer()[i];
+				break;
+			}
+		}
+
+		return buchstabe;
 	}
 
 
@@ -176,12 +171,12 @@ public class Walze {
 	 */
 	public char codiere2(char buchstabe) {
 
-	    for(int i = 0; i < walzenNummer().length; i++) {
-            if(walzenNummer()[i].equals(buchstabe)) {
-                buchstabe = walzeAlpha[i];
-                break;
-            }
-        }
+		for (int i = 0; i < walzenNummer().length; i++) {
+			if (walzenNummer()[i].equals(buchstabe)) {
+				buchstabe = walzeAlpha[i];
+				break;
+			}
+		}
 
 		return buchstabe;
 	}
@@ -207,17 +202,16 @@ public class Walze {
 
 		if (Character.isLetter(buchstabe)) {
 			this.buchstabe = Character.toUpperCase(buchstabe);
-			for(int i = 0; i < 25; i++) {
-			    if(walzeAlpha[i].equals(buchstabe)) {
-                    this.iPositionBuchstabe = i;
-                }
-            }
+			for (int i = 0; i < 25; i++) {
+				if (walzeAlpha[i].equals(buchstabe)) {
+					this.iPositionBuchstabe = i;
+				}
+			}
 		} else {
 			this.buchstabe = 'A';
 		}
 	}
 
-
 	//TODO: ??? Brauchen wir Setter, wo findet Überprüfung der Walzennr. statt.
 
 	/**
diff --git a/src/test/java/Enigma/model/HardwareTest.java b/src/test/java/Enigma/model/HardwareTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..1d7196ff2c6ebdfe0c8095dfcaca2f579b56f39c
--- /dev/null
+++ b/src/test/java/Enigma/model/HardwareTest.java
@@ -0,0 +1,62 @@
+package Enigma.model;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class HardwareTest {
+
+	@Test
+	public void tippeBuchstabe() {
+		Hardware h = new Hardware();
+		h.setReflektor(new Reflektor());
+		h.setSteckbrett(new Steckbrett());
+		h.setWalzen(1, 1, 1);
+		h.setWalzen(2, 2, 1);
+		h.setWalzen(3, 3, 1);
+
+		/*
+	        A = E = S = G = Y = O = Y = O
+            I = V = Y = Q = O = Z = S = S
+            F = G = R = W = K = U = H = P
+
+        In  S   1   2   3   R   3   2   1   S
+        A       E   D   H   X   S   Z   J
+        J       Z   E   J   B   D   K   N
+
+        Walze nach der Chiffrierung
+        Alphabet    {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
+        Steckbrett  {'B', 'G', 'D', 'F'}
+        Steckbrett  {'G', 'B', 'F', 'F'}
+        Walze 1     {'E', 'K', 'M', 'F', 'L', 'G', 'D', 'Q', 'V', 'Z', 'N', 'T', 'O', 'W', 'Y', 'H', 'X', 'U', 'S', 'P', 'A', 'I', 'B', 'R', 'C', 'J'};
+		Walze 2     {'A', 'J', 'D', 'K', 'S', 'I', 'R', 'U', 'X', 'B', 'L', 'H', 'W', 'T', 'M', 'C', 'Q', 'G', 'Z', 'N', 'P', 'Y', 'F', 'V', 'O', 'E'};
+		Walze 3     {'B', 'D', 'F', 'H', 'J', 'L', 'C', 'P', 'R', 'T', 'X', 'V', 'Z', 'N', 'Y', 'E', 'I', 'W', 'G', 'A', 'K', 'M', 'U', 'S', 'Q', 'O'};
+        Reflektor   {'E', 'J', 'M', 'Z', 'A', 'L', 'Y', 'X', 'V', 'B', 'W', 'F', 'C', 'R', 'Q', 'U', 'O', 'N', 'T', 'S', 'P', 'I', 'K', 'H', 'G', 'D'};
+		*/
+
+		char result = h.tippeBuchstabe('A');
+		Assert.assertEquals("Codiere: Erwartet O, erhalten "+ result, 'O', result);
+		result = h.tippeBuchstabe('I');
+		Assert.assertEquals("Codiere: Erwartet S, erhalten "+ result, 'S', result);
+		result = h.tippeBuchstabe('F');
+		Assert.assertEquals("Codiere: Erwartet P, erhalten "+ result, 'P', result);
+
+		result = h.tippeBuchstabe('O');
+		Assert.assertEquals("Decodiere: Erwartet A, erhalten "+ result, 'A', result);
+		result = h.tippeBuchstabe('S');
+		Assert.assertEquals("Decodiere: Erwartet I, erhalten "+ result, 'I', result);
+		result = h.tippeBuchstabe('P');
+		Assert.assertEquals("Decodiere: Erwartet F, erhalten "+ result, 'F', result);
+
+		h.getSteckbrett().setzeVertauschung('B', 'G');
+		h.getSteckbrett().setzeVertauschung('D', 'F');
+		h.getSteckbrett().setzeVertauschung('I', 'L');
+		h.getSteckbrett().setzeVertauschung('M', 'Q');
+		h.getSteckbrett().setzeVertauschung('T', 'X');
+
+		result = h.tippeBuchstabe('I');
+		Assert.assertEquals("Codiere: Erwartet F, erhalten "+ result, 'F', result);
+
+		result = h.tippeBuchstabe('F');
+		Assert.assertEquals("Codiere: Erwartet I, erhalten "+ result, 'I', result);
+	}
+}
\ No newline at end of file
diff --git a/src/test/java/Enigma/model/ReflektorTest.java b/src/test/java/Enigma/model/ReflektorTest.java
index dbaaa528d98b87f3e89748c5ad7b5a67108d484c..255e2ff280713b19c888c0f199ad07420fb2130b 100644
--- a/src/test/java/Enigma/model/ReflektorTest.java
+++ b/src/test/java/Enigma/model/ReflektorTest.java
@@ -14,12 +14,6 @@ public class ReflektorTest {
 		Assert.assertEquals('X', r.codiere('H'));
 		Assert.assertEquals('O', r.codiere('Q'));
 		Assert.assertEquals('I', r.codiere('V'));
-		//Assert.assertNull(null, r.codiere(null));
-	}
-
-	@Test
-	public void codiere2() {
-		Reflektor r = new Reflektor();
 		Assert.assertEquals('A', r.codiere('E'));
 		Assert.assertEquals('D', r.codiere('Z'));
 		Assert.assertEquals('H', r.codiere('X'));
diff --git a/src/test/java/Enigma/model/SteckbrettTest.java b/src/test/java/Enigma/model/SteckbrettTest.java
index 114294f23c5326f9c9fea018cb79d7ef2db5da25..f56b31eb015e3815d05aa8ff74ca766f9d10ca7c 100644
--- a/src/test/java/Enigma/model/SteckbrettTest.java
+++ b/src/test/java/Enigma/model/SteckbrettTest.java
@@ -3,8 +3,6 @@ package Enigma.model;
 import org.junit.Assert;
 import org.junit.Test;
 
-import static org.junit.Assert.*;
-
 public class SteckbrettTest {
 
 	@Test
@@ -24,13 +22,4 @@ public class SteckbrettTest {
 		Assert.assertEquals('H', sb.codiere('C'));
 		Assert.assertEquals('G', sb.codiere('A'));
 	}
-
-	@Test
-	public void codiere2() {
-		Steckbrett sb = new Steckbrett();
-		sb.setzeVertauschung('A', 'G');
-		sb.setzeVertauschung('C', 'H');
-		Assert.assertEquals('C', sb.codiere2('H'));
-		Assert.assertEquals('A', sb.codiere2('G'));
-	}
 }
\ No newline at end of file
diff --git a/src/test/java/Enigma/model/WalzeTest.java b/src/test/java/Enigma/model/WalzeTest.java
index 5b526b615288b9351fa276f90a3763ed3195d51f..3379019d7913fee1ba2e072b3cc68a6fdb792045 100644
--- a/src/test/java/Enigma/model/WalzeTest.java
+++ b/src/test/java/Enigma/model/WalzeTest.java
@@ -8,38 +8,36 @@ import static org.junit.Assert.*;
 public class WalzeTest {
 
 	@Test
-	public void setzeNotch() {
-		Walze w = new Walze(1);
-		w.setzeNotch('G');
-		Assert.assertEquals('G', w.wlazenPosition());
+	public void setRingstellung() {
+		Walze w = new Walze(1, 1);
+		Assert.assertEquals('A', w.walzenPosition());
 	}
 
 	@Test
 	public void dreheWalze() {
-		Walze w = new Walze(1);
-		w.setzeNotch('G');
-		w.dreheWalze();
-		Assert.assertEquals('H', w.wlazenPosition());
+		Walze w = new Walze(1, 3);
+		assertFalse("false erwartet, true geliefert", w.dreheWalze());
+		char temp = w.walzenPosition();
+		Assert.assertEquals("B erwartet, " + temp + " zurück gegeben", 'B', temp);
 	}
 
 	@Test
 	public void walzenPoition() {
-		Walze w = new Walze(1);
-		w.setzeNotch('G');
-		Assert.assertEquals('G', w.wlazenPosition());
+		Walze w = new Walze(1, 1);
+		Assert.assertEquals('A', w.walzenPosition());
 	}
 
 	@Test
 	public void codiere() {
-		Walze w = new Walze(1);
-		w.setzeNotch('A');
-		Assert.assertEquals('E', w.codiere('A'));
+		Walze w = new Walze(1, 1);
+		char result = w.codiere('G');
+		Assert.assertEquals("Erwartet D erhalten " + result, 'D', result);
 	}
 
 	@Test
 	public void codiere2() {
-		Walze w = new Walze(1);
-		w.setzeNotch('A');
-		Assert.assertEquals('A', w.codiere('E'));
+		Walze w = new Walze(1, 1);
+		char result = w.codiere2('E');
+		Assert.assertEquals("Erwartet A erhalten " + result, 'A', result);
 	}
 }
\ No newline at end of file