summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore14
-rw-r--r--build.gradle34
-rw-r--r--gradle/wrapper/gradle-wrapper.jarbin0 -> 52818 bytes
-rw-r--r--gradle/wrapper/gradle-wrapper.properties6
-rwxr-xr-xgradlew169
-rw-r--r--gradlew.bat84
-rw-r--r--settings.gradle19
-rw-r--r--src/main/java/Lager.java40
-rw-r--r--src/main/java/LagerGUI.java125
-rw-r--r--src/test/java/LagerTest.java215
10 files changed, 706 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a1fc39c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,14 @@
+.gradle
+/build/
+
+# Ignore Gradle GUI config
+gradle-app.setting
+
+# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
+!gradle-wrapper.jar
+
+# Cache of project
+.gradletasknamecache
+
+# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898
+# gradle/wrapper/gradle-wrapper.properties
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000..3347ea8
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,34 @@
+/*
+ * This build file was auto generated by running the Gradle 'init' task
+ * by 'aentfs' at '28.10.16 10:33' with Gradle 3.0
+ *
+ * This generated file contains a sample Java project to get you started.
+ * For more details take a look at the Java Quickstart chapter in the Gradle
+ * user guide available at https://docs.gradle.org/3.0/userguide/tutorial_java_projects.html
+ */
+
+// Apply the java plugin to add support for Java
+apply plugin: 'java'
+apply plugin: 'application'
+
+// In this section you declare where to find the dependencies of your project
+repositories {
+ // Use 'jcenter' for resolving your dependencies.
+ // You can declare any Maven/Ivy/file repository here.
+ jcenter()
+}
+
+// In this section you declare the dependencies for your production and test code
+dependencies {
+ // The production code uses the SLF4J logging API at compile time
+ compile 'org.slf4j:slf4j-api:1.7.21'
+
+ // Declare the dependency for your favourite test framework you want to use in your tests.
+ // TestNG is also supported by the Gradle Test task. Just change the
+ // testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add
+ // 'test.useTestNG()' to your build script.
+ testCompile 'junit:junit:4.12'
+}
+
+// Config
+mainClassName = "LagerGUI"
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000..deedc7f
--- /dev/null
+++ b/gradle/wrapper/gradle-wrapper.jar
Binary files differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..db3be49
--- /dev/null
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Fri Oct 28 10:33:34 CEST 2016
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-3.0-bin.zip
diff --git a/gradlew b/gradlew
new file mode 100755
index 0000000..9aa616c
--- /dev/null
+++ b/gradlew
@@ -0,0 +1,169 @@
+#!/usr/bin/env bash
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn ( ) {
+ echo "$*"
+}
+
+die ( ) {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+ NONSTOP* )
+ nonstop=true
+ ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+ JAVACMD=`cygpath --unix "$JAVACMD"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=$((i+1))
+ done
+ case $i in
+ (0) set -- ;;
+ (1) set -- "$args0" ;;
+ (2) set -- "$args0" "$args1" ;;
+ (3) set -- "$args0" "$args1" "$args2" ;;
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
+function splitJvmOpts() {
+ JVM_OPTS=("$@")
+}
+eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
+JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
+
+# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
+if [[ "$(uname)" == "Darwin" ]] && [[ "$HOME" == "$PWD" ]]; then
+ cd "$(dirname "$0")"
+fi
+
+exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
diff --git a/gradlew.bat b/gradlew.bat
new file mode 100644
index 0000000..f955316
--- /dev/null
+++ b/gradlew.bat
@@ -0,0 +1,84 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windows variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/settings.gradle b/settings.gradle
new file mode 100644
index 0000000..0ee18f1
--- /dev/null
+++ b/settings.gradle
@@ -0,0 +1,19 @@
+/*
+ * This settings file was auto generated by the Gradle buildInit task
+ * by 'aentfs' at '28.10.16 10:33' with Gradle 3.0
+ *
+ * The settings file is used to specify which projects to include in your build.
+ * In a single project build this file can be empty or even removed.
+ *
+ * Detailed information about configuring a multi-project build in Gradle can be found
+ * in the user guide at https://docs.gradle.org/3.0/userguide/multi_project_builds.html
+ */
+
+/*
+// To declare projects as part of a multi-project build use the 'include' method
+include 'shared'
+include 'api'
+include 'services:webservice'
+*/
+
+rootProject.name = 'Lager'
diff --git a/src/main/java/Lager.java b/src/main/java/Lager.java
new file mode 100644
index 0000000..7661f40
--- /dev/null
+++ b/src/main/java/Lager.java
@@ -0,0 +1,40 @@
+public class Lager
+{
+ public boolean Einlieferung(String strHolzart, int iLaenge, int iAnzahl,
+ String strAuftragsnummer)
+ {
+
+ if (strHolzart.equals("Eiche") || strHolzart.equals("Buche")
+ || strHolzart.equals("Kiefer") || strHolzart.equals("Esche"))
+ {
+ }
+ else
+ {
+ return false;
+ }
+
+ if (iLaenge <= 0 || iLaenge > 500)
+ {
+ return false;
+ }
+
+ if (iAnzahl <= 0 || iAnzahl >= 10000)
+ {
+ return false;
+ }
+
+ if ('H' != strAuftragsnummer.charAt(0))
+ {
+ return false;
+ }
+
+ String sub = strAuftragsnummer.substring(1);
+
+ int i = Integer.parseInt(sub);
+
+ if (i < 1 || i > 9999)
+ return false;
+
+ return true;
+ }
+}
diff --git a/src/main/java/LagerGUI.java b/src/main/java/LagerGUI.java
new file mode 100644
index 0000000..cbf774d
--- /dev/null
+++ b/src/main/java/LagerGUI.java
@@ -0,0 +1,125 @@
+/*
+ * Generated with JinBean Java GUI Builder v0.9.7
+ * 2006-05-01 09:34:48
+ *
+ * Copyright (c) 2005 Jens Becker
+ * <a href="mailto:jb@intermitto.net">jb@intermitto.net</a>
+ *
+ * See <a href="http://jinbean.intermitto.net/">http://jinbean.intermitto.net</a>
+ * for license and details.
+ */
+
+import java.awt.*;
+import javax.swing.*;
+import java.awt.event.*;
+
+/**
+ * Place JavaDoc information for this class here.
+ */
+public class LagerGUI extends JFrame implements ActionListener
+{
+ // attributes
+ private JButton jButton3;
+ private JTextField jTextField5;
+ private JLabel jLabel7;
+ private JTextField jTextField9;
+ private JLabel jLabel11;
+ private JTextField jTextField13;
+ private JLabel jLabel15;
+ private JTextField jTextField17;
+ private JLabel jLabel19;
+
+ /**
+ * Default Constructor. Sets frame preferences and initializes the GUI.
+ */
+ public LagerGUI() {
+ // init contentPane and components
+ this.initGUI();
+
+ // frame properties
+ this.setVisible(true);
+ }
+
+ /**
+ * Create graphical components and display them.
+ */
+ private void initGUI() {
+ // components
+ jButton3 = new JButton("Einliefern");
+ jTextField5 = new JTextField();
+ jLabel7 = new JLabel("Auftragsnummer");
+ jTextField9 = new JTextField();
+ jLabel11 = new JLabel("Anzahl");
+ jTextField13 = new JTextField();
+ jLabel15 = new JLabel("Länge");
+ jTextField17 = new JTextField();
+ jLabel19 = new JLabel("Holzart");
+
+ // Properties and methods
+ this.setSize(new Dimension(306, 266));
+ this.getContentPane().add(jButton3);
+ this.getContentPane().add(jTextField5);
+ this.getContentPane().add(jLabel7);
+ this.getContentPane().add(jTextField9);
+ this.getContentPane().add(jLabel11);
+ this.getContentPane().add(jTextField13);
+ this.getContentPane().add(jLabel15);
+ this.getContentPane().add(jTextField17);
+ this.getContentPane().add(jLabel19);
+ this.getContentPane().setLayout(null);
+ this.getContentPane().setName(null);
+ this.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
+ this.setMinimumSize(new Dimension(7, 27));
+ this.setName("LagerGUI");
+ this.setPreferredSize(new Dimension(306, 266));
+ this.setResizable(false);
+ this.setTitle("LagerGUI");
+ jButton3.setBounds(new Rectangle(90, 190, 100, 20));
+ jTextField5.setBounds(new Rectangle(130, 150, 80, 20));
+ jLabel7.setBounds(new Rectangle(30, 150, 90, 20));
+ jTextField9.setBounds(new Rectangle(130, 110, 80, 20));
+ jLabel11.setBounds(new Rectangle(30, 110, 90, 20));
+ jTextField13.setBounds(new Rectangle(130, 70, 80, 20));
+ jLabel15.setBounds(new Rectangle(30, 70, 90, 20));
+ jTextField17.setBounds(new Rectangle(130, 30, 80, 20));
+ jLabel19.setBounds(new Rectangle(30, 30, 80, 20));
+
+ // ActionListener
+ jButton3.addActionListener(this);
+
+ }
+
+ /**
+ * The entry point of this class when starting the class directly.
+ *
+ * @param arguments String[] command line arguments
+ */
+ public static void main(String[] arguments) {
+ new LagerGUI();
+ }
+
+ /**
+ * This operation is called when an ActionEvent occurs.
+ *
+ * @param event ActionEvent
+ */
+ public void actionPerformed(ActionEvent event)
+ {
+ boolean ret;
+ System.out.println(""+event);
+ Lager meinLager = new Lager();
+ ret = meinLager.Einlieferung(jTextField17.getText(),
+ Integer.parseInt(jTextField13.getText()),
+ Integer.parseInt(jTextField9.getText()),
+ jTextField5.getText());
+ if(ret==true)
+ {
+ jTextField17.setText("");
+ jTextField13.setText("");
+ jTextField9.setText("");
+ jTextField5.setText("");
+ }
+
+ // to get source component: event.getSource()
+ }
+}
diff --git a/src/test/java/LagerTest.java b/src/test/java/LagerTest.java
new file mode 100644
index 0000000..a56d94a
--- /dev/null
+++ b/src/test/java/LagerTest.java
@@ -0,0 +1,215 @@
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+/**
+ * Tests the Lager class.
+ *
+ * @author Stefan Suhren
+ */
+public class LagerTest
+{
+
+ private static final String goodHolzart = "Eiche";
+
+ private static final int goodAnzahl = 5000;
+
+ private static final int goodLaenge = 250;
+
+ private static final String goodAuftragsnummer = "H5000";
+
+ /**
+ * Test method for
+ * {@link Lager#Einlieferung(java.lang.String, int, int, java.lang.String)}.
+ *
+ * Check if null values are caught.
+ */
+ @Test
+ public void testEinlieferungArgumentsNull()
+ {
+ Lager testClass = new Lager();
+
+ assertFalse(testClass.Einlieferung(null, goodLaenge, goodAnzahl,
+ goodAuftragsnummer));
+ assertFalse(testClass.Einlieferung(goodHolzart, goodLaenge, goodAnzahl,
+ null));
+ }
+
+ /**
+ * Test method for
+ * {@link Lager#Einlieferung(java.lang.String, int, int, java.lang.String)}.
+ *
+ * Check for incorrect Holzart.
+ */
+ @Test
+ public void testEinlieferungWrongHolzart()
+ {
+ Lager testClass = new Lager();
+
+ assertFalse(testClass.Einlieferung("Esche", goodLaenge, goodAnzahl,
+ goodAuftragsnummer));
+ assertFalse(testClass.Einlieferung("Kastanie", goodLaenge, goodAnzahl,
+ goodAuftragsnummer));
+ }
+
+ /**
+ * Test method for
+ * {@link Lager#Einlieferung(java.lang.String, int, int, java.lang.String)}.
+ *
+ * Check for correct Holzart.
+ */
+ @Test
+ public void testEinlieferungCorrectHolzart()
+ {
+ Lager testClass = new Lager();
+
+ assertTrue(testClass.Einlieferung("Eiche", goodLaenge, goodAnzahl,
+ goodAuftragsnummer));
+ assertTrue(testClass.Einlieferung("Buche", goodLaenge, goodAnzahl,
+ goodAuftragsnummer));
+ assertTrue(testClass.Einlieferung("Kiefer", goodLaenge, goodAnzahl,
+ goodAuftragsnummer));
+ }
+
+ /**
+ * Test method for
+ * {@link Lager#Einlieferung(java.lang.String, int, int, java.lang.String)}.
+ *
+ * Check for incorrect Auftragsnummer.
+ */
+ @Test
+ public void testEinlieferungWrongAuftragsnummer()
+ {
+ Lager testClass = new Lager();
+
+ assertFalse(testClass.Einlieferung(goodHolzart, goodLaenge, goodAnzahl,
+ "h123sjdf"));
+ assertFalse(testClass.Einlieferung(goodHolzart, goodLaenge, goodAnzahl,
+ "H123sjdf"));
+ assertFalse(testClass.Einlieferung(goodHolzart, goodLaenge, goodAnzahl,
+ "j67df"));
+ assertFalse(
+ testClass.Einlieferung(goodHolzart, goodLaenge, goodAnzahl, "h"));
+ assertFalse(
+ testClass.Einlieferung(goodHolzart, goodLaenge, goodAnzahl, "j"));
+ assertFalse(testClass.Einlieferung(goodHolzart, goodLaenge, goodAnzahl,
+ "498293"));
+
+ // Test number formats
+ assertFalse(testClass.Einlieferung(goodHolzart, goodLaenge, goodAnzahl,
+ "H-1"));
+ assertFalse(testClass.Einlieferung(goodHolzart, goodLaenge, goodAnzahl,
+ "H-1000"));
+
+ // Test boundaries for Auftragsnummer
+ assertFalse(testClass.Einlieferung(goodHolzart, goodLaenge, goodAnzahl,
+ "H0"));
+ assertFalse(testClass.Einlieferung(goodHolzart, goodLaenge, goodAnzahl,
+ "H0000"));
+ assertFalse(testClass.Einlieferung(goodHolzart, goodLaenge, goodAnzahl,
+ "H10000"));
+ }
+
+ /**
+ * Test method for
+ * {@link Lager#Einlieferung(java.lang.String, int, int, java.lang.String)}.
+ *
+ * Check for correct Auftragsnummer.
+ */
+ @Test
+ public void testEinlieferungCorrectAuftragsnummer()
+ {
+ Lager testClass = new Lager();
+
+ assertTrue(testClass.Einlieferung(goodHolzart, goodLaenge, goodAnzahl,
+ "H1212"));
+ assertTrue(testClass.Einlieferung(goodHolzart, goodLaenge, goodAnzahl,
+ "H2323"));
+ assertTrue(testClass.Einlieferung(goodHolzart, goodLaenge, goodAnzahl,
+ "H124"));
+ assertTrue(testClass.Einlieferung(goodHolzart, goodLaenge, goodAnzahl,
+ "H0124"));
+
+ // Test boundaries for Auftragsnummer
+ assertTrue(testClass.Einlieferung(goodHolzart, goodLaenge, goodAnzahl,
+ "H1"));
+ assertTrue(testClass.Einlieferung(goodHolzart, goodLaenge, goodAnzahl,
+ "H0001"));
+ assertTrue(testClass.Einlieferung(goodHolzart, goodLaenge, goodAnzahl,
+ "H9999"));
+ }
+
+ /**
+ * Test method for
+ * {@link Lager#Einlieferung(java.lang.String, int, int, java.lang.String)}.
+ *
+ * Check for incorrect boundaries on Laenge.
+ */
+ @Test
+ public void testEinlieferungWrongBoundariesLaenge()
+ {
+ Lager testClass = new Lager();
+
+ assertFalse(testClass.Einlieferung(goodHolzart, 99, goodAnzahl,
+ goodAuftragsnummer));
+ assertFalse(testClass.Einlieferung(goodHolzart, 501, goodAnzahl,
+ goodAuftragsnummer));
+ }
+
+ /**
+ * Test method for
+ * {@link Lager#Einlieferung(java.lang.String, int, int, java.lang.String)}.
+ *
+ * Check for correct boundaries on Laenge.
+ */
+ @Test
+ public void testEinlieferungCorrectBoundariesAndValuesLaenge()
+ {
+ Lager testClass = new Lager();
+
+ assertTrue(testClass.Einlieferung(goodHolzart, 100, goodAnzahl,
+ goodAuftragsnummer));
+ assertTrue(testClass.Einlieferung(goodHolzart, 500, goodAnzahl,
+ goodAuftragsnummer));
+ assertTrue(testClass.Einlieferung(goodHolzart, goodLaenge, goodAnzahl,
+ goodAuftragsnummer));
+ }
+
+ /**
+ * Test method for
+ * {@link Lager#Einlieferung(java.lang.String, int, int, java.lang.String)}.
+ *
+ * Check for incorrect boundaries on Anzahl.
+ */
+ @Test
+ public void testEinlieferungWrongBoundariesAnzahl()
+ {
+ Lager testClass = new Lager();
+
+ assertFalse(testClass.Einlieferung(goodHolzart, goodLaenge, 0,
+ goodAuftragsnummer));
+ assertFalse(testClass.Einlieferung(goodHolzart, goodLaenge, 10000,
+ goodAuftragsnummer));
+ }
+
+ /**
+ * Test method for
+ * {@link Lager#Einlieferung(java.lang.String, int, int, java.lang.String)}.
+ *
+ * Check for correct boundaries on Anzahl.
+ */
+ @Test
+ public void testEinlieferungCorrectBoundariesAndValuesAnzahl()
+ {
+ Lager testClass = new Lager();
+
+ assertTrue(testClass.Einlieferung(goodHolzart, goodLaenge, 1,
+ goodAuftragsnummer));
+ assertTrue(testClass.Einlieferung(goodHolzart, goodLaenge, 9999,
+ goodAuftragsnummer));
+ assertTrue(testClass.Einlieferung(goodHolzart, goodLaenge, goodAnzahl,
+ goodAuftragsnummer));
+ }
+
+}