From c19c01cc5350e2903715ed32576e3b2485648078 Mon Sep 17 00:00:00 2001 From: suclinton <83633094+suclinton@users.noreply.github.com> Date: Mon, 7 Mar 2022 19:21:03 +0700 Subject: [PATCH] Initial Commit --- HELP.md | 9 + mvnw | 316 ++++++++++++++++++ mvnw.cmd | 188 +++++++++++ pom.xml | 60 ++++ .../day1/gdnDay1/BubbleSort/BubbleSort.java | 20 ++ .../day1/gdnDay1/Calendar/Calendar.java | 70 ++++ .../day1/gdnDay1/Factorial/Factorial.java | 9 + .../day1/gdnDay1/GdnDay1Application.java | 13 + .../day1/gdnDay1/LetterGrade/LetterGrade.java | 11 + .../day1/gdnDay1/ToDoList/ToDoList.java | 57 ++++ src/main/resources/application.properties | 1 + .../gdnDay1/BubbleSort/BubbleSortTest.java | 38 +++ .../day1/gdnDay1/Calendar/CalendarTest.java | 53 +++ .../day1/gdnDay1/Factorial/FactorialTest.java | 28 ++ .../day1/gdnDay1/GdnDay1ApplicationTests.java | 13 + .../gdnDay1/LetterGrade/LetterGradeTest.java | 57 ++++ .../day1/gdnDay1/ToDoList/ToDoListTest.java | 69 ++++ target/classes/application.properties | 1 + .../day1/gdnDay1/BubbleSort/BubbleSort.class | Bin 0 -> 810 bytes .../day1/gdnDay1/Calendar/Calendar.class | Bin 0 -> 1590 bytes .../day1/gdnDay1/Factorial/Factorial.class | Bin 0 -> 841 bytes .../day1/gdnDay1/GdnDay1Application.class | Bin 0 -> 772 bytes .../gdnDay1/LetterGrade/LetterGrade.class | Bin 0 -> 920 bytes .../day1/gdnDay1/ToDoList/ToDoList.class | Bin 0 -> 2735 bytes .../gdnDay1/BubbleSort/BubbleSortTest.class | Bin 0 -> 2392 bytes .../day1/gdnDay1/Calendar/CalendarTest.class | Bin 0 -> 2637 bytes .../gdnDay1/Factorial/FactorialTest.class | Bin 0 -> 1929 bytes .../gdnDay1/GdnDay1ApplicationTests.class | Bin 0 -> 570 bytes .../gdnDay1/LetterGrade/LetterGradeTest.class | Bin 0 -> 2687 bytes .../day1/gdnDay1/ToDoList/ToDoListTest.class | Bin 0 -> 3445 bytes 30 files changed, 1013 insertions(+) create mode 100644 HELP.md create mode 100644 mvnw create mode 100644 mvnw.cmd create mode 100644 pom.xml create mode 100644 src/main/java/com/gdn/onboarding/day1/gdnDay1/BubbleSort/BubbleSort.java create mode 100644 src/main/java/com/gdn/onboarding/day1/gdnDay1/Calendar/Calendar.java create mode 100644 src/main/java/com/gdn/onboarding/day1/gdnDay1/Factorial/Factorial.java create mode 100644 src/main/java/com/gdn/onboarding/day1/gdnDay1/GdnDay1Application.java create mode 100644 src/main/java/com/gdn/onboarding/day1/gdnDay1/LetterGrade/LetterGrade.java create mode 100644 src/main/java/com/gdn/onboarding/day1/gdnDay1/ToDoList/ToDoList.java create mode 100644 src/main/resources/application.properties create mode 100644 src/test/java/com/gdn/onboarding/day1/gdnDay1/BubbleSort/BubbleSortTest.java create mode 100644 src/test/java/com/gdn/onboarding/day1/gdnDay1/Calendar/CalendarTest.java create mode 100644 src/test/java/com/gdn/onboarding/day1/gdnDay1/Factorial/FactorialTest.java create mode 100644 src/test/java/com/gdn/onboarding/day1/gdnDay1/GdnDay1ApplicationTests.java create mode 100644 src/test/java/com/gdn/onboarding/day1/gdnDay1/LetterGrade/LetterGradeTest.java create mode 100644 src/test/java/com/gdn/onboarding/day1/gdnDay1/ToDoList/ToDoListTest.java create mode 100644 target/classes/application.properties create mode 100644 target/classes/com/gdn/onboarding/day1/gdnDay1/BubbleSort/BubbleSort.class create mode 100644 target/classes/com/gdn/onboarding/day1/gdnDay1/Calendar/Calendar.class create mode 100644 target/classes/com/gdn/onboarding/day1/gdnDay1/Factorial/Factorial.class create mode 100644 target/classes/com/gdn/onboarding/day1/gdnDay1/GdnDay1Application.class create mode 100644 target/classes/com/gdn/onboarding/day1/gdnDay1/LetterGrade/LetterGrade.class create mode 100644 target/classes/com/gdn/onboarding/day1/gdnDay1/ToDoList/ToDoList.class create mode 100644 target/test-classes/com/gdn/onboarding/day1/gdnDay1/BubbleSort/BubbleSortTest.class create mode 100644 target/test-classes/com/gdn/onboarding/day1/gdnDay1/Calendar/CalendarTest.class create mode 100644 target/test-classes/com/gdn/onboarding/day1/gdnDay1/Factorial/FactorialTest.class create mode 100644 target/test-classes/com/gdn/onboarding/day1/gdnDay1/GdnDay1ApplicationTests.class create mode 100644 target/test-classes/com/gdn/onboarding/day1/gdnDay1/LetterGrade/LetterGradeTest.class create mode 100644 target/test-classes/com/gdn/onboarding/day1/gdnDay1/ToDoList/ToDoListTest.class diff --git a/HELP.md b/HELP.md new file mode 100644 index 0000000..2ae9570 --- /dev/null +++ b/HELP.md @@ -0,0 +1,9 @@ +# Getting Started + +### Reference Documentation +For further reference, please consider the following sections: + +* [Official Apache Maven documentation](https://maven.apache.org/guides/index.html) +* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/docs/2.6.4/maven-plugin/reference/html/) +* [Create an OCI image](https://docs.spring.io/spring-boot/docs/2.6.4/maven-plugin/reference/html/#build-image) + diff --git a/mvnw b/mvnw new file mode 100644 index 0000000..8a8fb22 --- /dev/null +++ b/mvnw @@ -0,0 +1,316 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +if [ -z "$M2_HOME" ] ; then + ## resolve links - $0 may be a link to maven's home + 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 + + saveddir=`pwd` + + M2_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + 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 + else + JAVACMD="`\\unset -f command; \\command -v java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + fi + while IFS="=" read key value; do + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + fi + + if command -v wget > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=`cygpath --path --windows "$javaClass"` + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd new file mode 100644 index 0000000..1d8ab01 --- /dev/null +++ b/mvnw.cmd @@ -0,0 +1,188 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..26399f9 --- /dev/null +++ b/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.6.4 + + + com.gdn.onboarding.day1 + gdnDay1 + 0.0.1-SNAPSHOT + gdnDay1 + Test project for Spring Boot + + 1.8 + + + + org.springframework.boot + spring-boot-starter + + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + org.jetbrains + annotations + RELEASE + compile + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/src/main/java/com/gdn/onboarding/day1/gdnDay1/BubbleSort/BubbleSort.java b/src/main/java/com/gdn/onboarding/day1/gdnDay1/BubbleSort/BubbleSort.java new file mode 100644 index 0000000..68ea659 --- /dev/null +++ b/src/main/java/com/gdn/onboarding/day1/gdnDay1/BubbleSort/BubbleSort.java @@ -0,0 +1,20 @@ +package com.gdn.onboarding.day1.gdnDay1.BubbleSort; + +public class BubbleSort { + public int[] bubbleSort(int[] arr) + { + if(arr==null){ + throw new IllegalArgumentException("array must not be null"); + } + int n = arr.length; + for (int i = 0; i < n-1; i++) + for (int j = 0; j < n-i-1; j++) + if (arr[j] > arr[j+1]) + { + int temp = arr[j]; + arr[j] = arr[j+1]; + arr[j+1] = temp; + } + return arr; + } +} diff --git a/src/main/java/com/gdn/onboarding/day1/gdnDay1/Calendar/Calendar.java b/src/main/java/com/gdn/onboarding/day1/gdnDay1/Calendar/Calendar.java new file mode 100644 index 0000000..7f95cad --- /dev/null +++ b/src/main/java/com/gdn/onboarding/day1/gdnDay1/Calendar/Calendar.java @@ -0,0 +1,70 @@ +package com.gdn.onboarding.day1.gdnDay1.Calendar; + + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class Calendar { + public Logger log = LoggerFactory.getLogger(Calendar.class); + public String printCalendar(Integer n){ + String month = null; + if(n == null){ + throw new IllegalArgumentException("Parameter cannot be null"); + } + switch(n) + { + case 1: + log.info("January"); + month = "January"; + break; + case 2: + log.info("February"); + month = "February"; + break; + case 3: + log.info("March"); + month = "March"; + break; + case 4: + log.info("April"); + month = "April"; + break; + case 5: + log.info("May"); + month = "May"; + break; + case 6: + log.info("June"); + month = "June"; + break; + case 7: + log.info("July"); + month = "July"; + break; + case 8: + log.info("August"); + month = "August"; + break; + case 9: + log.info("September"); + month = "September"; + break; + case 10: + log.info("October"); + month = "October"; + break; + case 11: + log.info("November"); + month = "November"; + break; + case 12: + log.info("December"); + month = "December"; + break; + default: + throw new IllegalArgumentException("Invalid number"); + + } + return month; + } +} diff --git a/src/main/java/com/gdn/onboarding/day1/gdnDay1/Factorial/Factorial.java b/src/main/java/com/gdn/onboarding/day1/gdnDay1/Factorial/Factorial.java new file mode 100644 index 0000000..7afea83 --- /dev/null +++ b/src/main/java/com/gdn/onboarding/day1/gdnDay1/Factorial/Factorial.java @@ -0,0 +1,9 @@ +package com.gdn.onboarding.day1.gdnDay1.Factorial; + +public class Factorial { + public Integer factorial(Integer value){ + if(value<0 || value == null) throw new IllegalArgumentException("Value must not be null or less than 0"); + if(value==0||value==1) return 1; + else return value * factorial(value-1); + } +} diff --git a/src/main/java/com/gdn/onboarding/day1/gdnDay1/GdnDay1Application.java b/src/main/java/com/gdn/onboarding/day1/gdnDay1/GdnDay1Application.java new file mode 100644 index 0000000..d5dbb71 --- /dev/null +++ b/src/main/java/com/gdn/onboarding/day1/gdnDay1/GdnDay1Application.java @@ -0,0 +1,13 @@ +package com.gdn.onboarding.day1.gdnDay1; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class GdnDay1Application { + + public static void main(String[] args) { + SpringApplication.run(GdnDay1Application.class, args); + } + +} diff --git a/src/main/java/com/gdn/onboarding/day1/gdnDay1/LetterGrade/LetterGrade.java b/src/main/java/com/gdn/onboarding/day1/gdnDay1/LetterGrade/LetterGrade.java new file mode 100644 index 0000000..9c7fc73 --- /dev/null +++ b/src/main/java/com/gdn/onboarding/day1/gdnDay1/LetterGrade/LetterGrade.java @@ -0,0 +1,11 @@ +package com.gdn.onboarding.day1.gdnDay1.LetterGrade; + +public class LetterGrade { + public String checkGrade(Integer score){ + if(score==null || score <0) throw new IllegalArgumentException("Score must not be null or less than 0"); + String grade = (score >= 90) ? "A" : (score >= 85) ? "A-" : (score >= 80) ? "B+" + : (score >= 75) ? "B" : "C"; + return grade; + } + +} diff --git a/src/main/java/com/gdn/onboarding/day1/gdnDay1/ToDoList/ToDoList.java b/src/main/java/com/gdn/onboarding/day1/gdnDay1/ToDoList/ToDoList.java new file mode 100644 index 0000000..f6f9b84 --- /dev/null +++ b/src/main/java/com/gdn/onboarding/day1/gdnDay1/ToDoList/ToDoList.java @@ -0,0 +1,57 @@ +package com.gdn.onboarding.day1.gdnDay1.ToDoList; + +import org.jetbrains.annotations.NotNull; +import sun.management.resources.agent; + +import java.util.ArrayList; +import java.util.List; +import java.util.Scanner; + +public class ToDoList { + + private Scanner scan = new Scanner(System.in); + + List list = new ArrayList<>(); + + public void printMenu() { + System.out.println("To Do List - Suclinton"); + System.out.println("=============================="); + System.out.println("1. My To Do List"); + System.out.println("2. Add"); + System.out.println("3. Remove"); + System.out.println("4. Exit"); + System.out.print(">> "); + } + + + public boolean print() { + if (list.isEmpty()) { + throw new IllegalArgumentException("List is empty"); + } + else { + System.out.println("My To Do List"); + for (int i = 1; i <= list.size();i++){ + System.out.println(i+". " +list.get(i-1)); + } + } + return true; + } + + + public void add(@NotNull String input) { + if (input.isEmpty()) throw new IllegalArgumentException("To Do List must be filled"); + list.add(input); + } + + + public void remove(Integer index) { + if (list.isEmpty()) { + throw new IllegalArgumentException("List is empty"); + } + if(index > list.size()||index < 0){ + throw new ArrayIndexOutOfBoundsException("index out of range"); + } + else list.remove((int)index); + } + +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1 @@ + diff --git a/src/test/java/com/gdn/onboarding/day1/gdnDay1/BubbleSort/BubbleSortTest.java b/src/test/java/com/gdn/onboarding/day1/gdnDay1/BubbleSort/BubbleSortTest.java new file mode 100644 index 0000000..2623f5d --- /dev/null +++ b/src/test/java/com/gdn/onboarding/day1/gdnDay1/BubbleSort/BubbleSortTest.java @@ -0,0 +1,38 @@ +package com.gdn.onboarding.day1.gdnDay1.BubbleSort; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class BubbleSortTest { + BubbleSort b = new BubbleSort(); + @Test + void bubbleSortTest() { + int[] arr = {3,2,4,1,2,5}; + int[] result = {1, 2, 2, 3, 4, 5}; + Assertions.assertArrayEquals(result,b.bubbleSort(arr)); + } + + @Test + void bubbleSortTest2() { + int[] arr = {5,2,4,11,53,5}; + int[] result = {2, 4, 5, 5, 11, 53}; + Assertions.assertArrayEquals(result,b.bubbleSort(arr)); + } + + @Test + void bubbleSortTest3() { + int[] arr = {5,2,4,11,53,5}; + int[] result = {5,2,4,11,53,5}; + Assertions.assertNotEquals(result,b.bubbleSort(arr)); + } + + @Test + void bubbleSortTest4() { + Assertions.assertThrows(IllegalArgumentException.class, () -> { + int[] result = {5,2,4,11,53,5}; + Assertions.assertEquals(result, b.bubbleSort(null)); + }); + } +} \ No newline at end of file diff --git a/src/test/java/com/gdn/onboarding/day1/gdnDay1/Calendar/CalendarTest.java b/src/test/java/com/gdn/onboarding/day1/gdnDay1/Calendar/CalendarTest.java new file mode 100644 index 0000000..aefdf98 --- /dev/null +++ b/src/test/java/com/gdn/onboarding/day1/gdnDay1/Calendar/CalendarTest.java @@ -0,0 +1,53 @@ +package com.gdn.onboarding.day1.gdnDay1.Calendar; + +import com.gdn.onboarding.day1.gdnDay1.Factorial.Factorial; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class CalendarTest { + Calendar c = new Calendar(); + @Test + void printCalendarTest() { + String calendar = c.printCalendar(1); + Assertions.assertEquals("January",calendar); + calendar = c.printCalendar(2); + Assertions.assertEquals("February",calendar); + calendar = c.printCalendar(3); + Assertions.assertEquals("March",calendar); + calendar = c.printCalendar(4); + Assertions.assertEquals("April",calendar); + calendar = c.printCalendar(5); + Assertions.assertEquals("May",calendar); + calendar = c.printCalendar(6); + Assertions.assertEquals("June",calendar); + calendar = c.printCalendar(7); + Assertions.assertEquals("July",calendar); + calendar = c.printCalendar(8); + Assertions.assertEquals("August",calendar); + calendar = c.printCalendar(9); + Assertions.assertEquals("September",calendar); + calendar = c.printCalendar(10); + Assertions.assertEquals("October",calendar); + calendar = c.printCalendar(11); + Assertions.assertEquals("November",calendar); + calendar = c.printCalendar(12); + Assertions.assertEquals("December",calendar); + } + + @Test + void calendarTest() { + Assertions.assertThrows(IllegalArgumentException.class,()->{ + String calendar = c.printCalendar(-2); + Assertions.assertEquals("December",calendar); + }); + } + @Test + void calendarTest2() { + Assertions.assertThrows(IllegalArgumentException.class,()->{ + String calendar = c.printCalendar(13); + Assertions.assertEquals("December",calendar); + }); + } +} \ No newline at end of file diff --git a/src/test/java/com/gdn/onboarding/day1/gdnDay1/Factorial/FactorialTest.java b/src/test/java/com/gdn/onboarding/day1/gdnDay1/Factorial/FactorialTest.java new file mode 100644 index 0000000..cfbe941 --- /dev/null +++ b/src/test/java/com/gdn/onboarding/day1/gdnDay1/Factorial/FactorialTest.java @@ -0,0 +1,28 @@ +package com.gdn.onboarding.day1.gdnDay1.Factorial; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class FactorialTest { + + @Test + void factorialTest() { + Integer result = new Factorial().factorial(6); + Assertions.assertEquals(720,result); + } + @Test + void factorialTest2() { + Integer result = new Factorial().factorial(3); + Assertions.assertEquals(6,result); + } + + @Test + void factorialTest3() { + Assertions.assertThrows(IllegalArgumentException.class,()->{ + Integer result = new Factorial().factorial(-1); + Assertions.assertNotEquals(6,result); + }); + } +} \ No newline at end of file diff --git a/src/test/java/com/gdn/onboarding/day1/gdnDay1/GdnDay1ApplicationTests.java b/src/test/java/com/gdn/onboarding/day1/gdnDay1/GdnDay1ApplicationTests.java new file mode 100644 index 0000000..e3aa580 --- /dev/null +++ b/src/test/java/com/gdn/onboarding/day1/gdnDay1/GdnDay1ApplicationTests.java @@ -0,0 +1,13 @@ +package com.gdn.onboarding.day1.gdnDay1; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class GdnDay1ApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/src/test/java/com/gdn/onboarding/day1/gdnDay1/LetterGrade/LetterGradeTest.java b/src/test/java/com/gdn/onboarding/day1/gdnDay1/LetterGrade/LetterGradeTest.java new file mode 100644 index 0000000..19d14cc --- /dev/null +++ b/src/test/java/com/gdn/onboarding/day1/gdnDay1/LetterGrade/LetterGradeTest.java @@ -0,0 +1,57 @@ +package com.gdn.onboarding.day1.gdnDay1.LetterGrade; + +import com.gdn.onboarding.day1.gdnDay1.Factorial.Factorial; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class LetterGradeTest { + + @Test + void checkGradeTestA() { + String grade = new LetterGrade().checkGrade(90); + Assertions.assertEquals("A",grade); + Assertions.assertNotEquals("B",grade); + } + @Test + void checkGradeTestAMin() { + String grade = new LetterGrade().checkGrade(85); + Assertions.assertEquals("A-",grade); + Assertions.assertNotEquals("B",grade); + } + @Test + void checkGradeTestBPlus() { + String grade = new LetterGrade().checkGrade(80); + Assertions.assertEquals("B+",grade); + Assertions.assertNotEquals("B",grade); + } + @Test + void checkGradeTestB() { + String grade = new LetterGrade().checkGrade(75); + Assertions.assertEquals("B",grade); + Assertions.assertNotEquals("A",grade); + } + @Test + void checkGradeTestC() { + String grade = new LetterGrade().checkGrade(50); + Assertions.assertEquals("C",grade); + Assertions.assertNotEquals("B",grade); + } + + @Test + void checkGradeTest() { + Assertions.assertThrows(IllegalArgumentException.class,()->{ + String grade = new LetterGrade().checkGrade(-20); + Assertions.assertNotEquals("C",grade); + }); + } + + @Test + void checkGradeTest2() { + Assertions.assertThrows(IllegalArgumentException.class,()->{ + String grade = new LetterGrade().checkGrade(null); + Assertions.assertNotEquals("C",grade); + }); + } +} \ No newline at end of file diff --git a/src/test/java/com/gdn/onboarding/day1/gdnDay1/ToDoList/ToDoListTest.java b/src/test/java/com/gdn/onboarding/day1/gdnDay1/ToDoList/ToDoListTest.java new file mode 100644 index 0000000..3b60345 --- /dev/null +++ b/src/test/java/com/gdn/onboarding/day1/gdnDay1/ToDoList/ToDoListTest.java @@ -0,0 +1,69 @@ +package com.gdn.onboarding.day1.gdnDay1.ToDoList; + +import com.gdn.onboarding.day1.gdnDay1.Calendar.Calendar; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.ArrayList; +import java.util.List; + + +class ToDoListTest { + public Logger log = LoggerFactory.getLogger(ToDoList.class); + + List list = new ArrayList<>(); + ToDoList tdl = new ToDoList(); + + @Test + void addTest(){ + list.add("test"); + tdl.add("test"); + Assertions.assertEquals(list.size(),tdl.list.size()); + } + + @Test + void addTest2(){ + Assertions.assertThrows(IllegalArgumentException.class, ()->{ + tdl.add(null); + }); + } + + @Test + void removeTest(){ + list.add("test1"); + tdl.add("test"); + tdl.add("test1"); + tdl.remove(0); + Assertions.assertEquals(list.get(0),tdl.list.get(0)); + } + + @Test + void removeTest2(){ + tdl.add("test"); + Assertions.assertThrows(ArrayIndexOutOfBoundsException.class, ()->{ + tdl.remove(-2); + }); + } + + @Test + void removeTest3(){ + Assertions.assertThrows(IllegalArgumentException.class, ()->{ + tdl.remove(null); + }); + } + + @Test + void printTest(){ + tdl.add("test"); + Assertions.assertTrue(tdl.print()); + } + + @Test + void printTest2(){ + Assertions.assertThrows(IllegalArgumentException.class, ()->{ + Assertions.assertTrue(tdl.print()); + }); + } +} \ No newline at end of file diff --git a/target/classes/application.properties b/target/classes/application.properties new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/target/classes/application.properties @@ -0,0 +1 @@ + diff --git a/target/classes/com/gdn/onboarding/day1/gdnDay1/BubbleSort/BubbleSort.class b/target/classes/com/gdn/onboarding/day1/gdnDay1/BubbleSort/BubbleSort.class new file mode 100644 index 0000000000000000000000000000000000000000..f3b113b1d58c08729ddc25b03fb43528b21141a0 GIT binary patch literal 810 zcmbV}O>YuW6o%i!%s`9fvr@GMrQHaUKs0SlS|zErCL~mh7^3aQJIoCo9A?P$V(h-Z z#F)6%RTE8cY2v~k#jtH*Ca4m)+ zA$rI4T~#L-rE-U0-VYo}NHtwwJ{%2f89ouV$4a&tbcNRup{w($XsRRkm~gw<4FhMBwZx;vNpUbbRz*KhMOzmAk>}|atAvgJIyxae z8{M+|va1NWQgbG@RmiuvUG88N7XLf_L_nIG?L22S_Qc-0aRz!nDaYAHC!&E1950-I zz&^nlA&C?>(VM?dn;uj?Bk>WDXIbM6=BLW|u2C=KP3JXsj7>9V<_nHas+F9nm-)Q< z1}i$*wAh|2t%=K7ty7cU{{DJuupL+4@e~7^=oZh{TqeUOd3uJ`W#+ri`Z_CHOtp(N znyfwM+EZjF^mX2|#c`T4inlxS4G1v%$vNr7&x^9E5UDuMXkdm~UI#uF?UYs}A#jz{L zsn`*z5_hCZ+>wgd38X<`NZScf!5wK5cO)e4NJSH0+i4s1Mxvkn{CU6M@BRMSzrJ|# z6u?#7O<@=l8ZM=98Kop*cuT{ijw>l7FqNXlH67Rc@HXDjaYM&V9n(5ybllQ0tK+tg zIUVyl-qlgov7q6OK#%R30{N=znWdKf;Oa)H>YAqVrUiOuEXVR^sWUpZCJ-;X4JDAR zT8>(7H|xr~FY7i5jSXq9NzV$NJ239ATP=a9s^Kcj=*5o#-Xx6qUk#R zdJyfgt0S|_sxOU?YjQJ;Uc;h5uBQBTw{cf`vZ;LKF`3k=+x85#Xa!kk4#T?~_)Fs~ zUKW`A-`Q$-FOBz6N#hJ&61Z?2T*bDPDeZaBY&VtT-}%H)o4(~T!81oe6%6S(u3xCD zg44F`Ac`doAEZ%5O+Z_cPFs2pH7uvGf+YccQPsTwu^u()8LUTQp2fD=q1cv1cpye;G*O?L8M7j`O#1cjC4;z*_N#q=isCz=U}K?uhZsWhzE{i>5K-8!dY9B zcAI%~(kqPaq(c_Oavr#Njj!A=Uq#MY&@QfGT(R@KzQU)O@EPbY?m-muu^-U$9pc}H zdgpjeaUakShmP}HrD;cPyov(vg8na1gPvj&=;0q?Le$28LFOkUKFs&-L3=j-J@iLZ z=3Y9q3A_MvlzWsqrA67M>`-z8CiKtj+c7@{Ec7{>ntEp1>3 literal 0 HcmV?d00001 diff --git a/target/classes/com/gdn/onboarding/day1/gdnDay1/Factorial/Factorial.class b/target/classes/com/gdn/onboarding/day1/gdnDay1/Factorial/Factorial.class new file mode 100644 index 0000000000000000000000000000000000000000..f7309720bf080ff2b2df989056bb486a06fc8c45 GIT binary patch literal 841 zcmbV~&2AGh6orqINhX<0(ljOEAEu=(Nh=W$unI!ruTrFxA_YZa>CCvv6vtCdJQchG zZ-ChF2(W1pNU%iWp%B;8K)T3^jjzwK@Acr0fY4<3IxMaFI3`rG8u~aB_B$1YQ4zka=_!z=$UEh zaX4kT-}9qMdlaa4q=pfXgHVmy0e^ePcu!5-;l7S2RnBJ}hT{HTo1xk49q=RGmYj0C zN{f+*JFNvCL+*&ngpgJiu9o|n`>%KT;f%4mEA%)DUhtStgcdRJI{he#eX$doi&g%y z-7)|!9F%O_aIuaJhP5+LQi>6mkK$1>5lTOMEb4uE|yVaxceVnW2nxF_J#+-*9^;ZYt}i2La20#mA-73p?~p$YrZJzISyX85 zo^HSrs-%b%H7a6~-@&38@Ob+enGdkHf1>;i*;h5|1i2r^e2n5 zlE<(~kIe#A$->g@(zZ|3rb|JdGJ# F_yZoV!$JT6 literal 0 HcmV?d00001 diff --git a/target/classes/com/gdn/onboarding/day1/gdnDay1/GdnDay1Application.class b/target/classes/com/gdn/onboarding/day1/gdnDay1/GdnDay1Application.class new file mode 100644 index 0000000000000000000000000000000000000000..0ee57d84bab9a53e7c53e37bdf4044d502e97890 GIT binary patch literal 772 zcmb7C%TC)s6g?9X986juv^@G)bQiK<1VY`ULZYc)<37|>>7uK#J(vM|CK`_m{j9E9 zvET#xQC06aNQu;RQA@s8_n!MW=i0x1-`)W@!t)SKJPxoGVjDXFb{UpmDXrWw!%}Z= z%+MT~R5GkZO3Qau5lj0?#5rZUkx4{87FPNAKG}2^s$@8d5>xOj)!gXV2%9RM@l<>} z@VPhMpH2PAWRj~yIA!#Jb`?TthOOS0=u&(YJQvh9a+bOWH5Xwsn!dRJW>|kK-Gxa% z2rCNdq@}`eWGb7;Q|0+?|GjeGZ(-Q|SZSvUIaZ}2DJNPRS5u-9$C0raFDIVExu1M( z>=loVaa>f+Bu1aBtg@1i>XO$4%xmhPg=L1r|3627CmlS+GZHqt#rybDCXS*1Pf}AF za}?-1+KP@E_vUUo%tcua7MyW!p)I YL#$DLo!%Csz_Zz?Z5Ny5{n|&sAKQ1ytN;K2 literal 0 HcmV?d00001 diff --git a/target/classes/com/gdn/onboarding/day1/gdnDay1/LetterGrade/LetterGrade.class b/target/classes/com/gdn/onboarding/day1/gdnDay1/LetterGrade/LetterGrade.class new file mode 100644 index 0000000000000000000000000000000000000000..9ac8cdaf1b5ede3749ae7771bebba74d9ed8a126 GIT binary patch literal 920 zcmbVKO>fgc5PcgbvFj!@btvB-PN6hu+PamH5Gq2Xwn`(}23{`&F_z)kF$$l-VG>XH6oV>9Ul7% zPlIXM_lFF(8*VgkdS2*6VK?Hj=Z8JV<8OCW?7s31A*F~P#oQC~>pce3?F;uP$uO*! z8;ATgcLGiX^-zkQi1#XUv9^qfo60gnH;PGCaW46%fU-Sxk`g_m`&*iCOYR;u`Ek;O zj!lL_Q^Z=&5W}G@`#iLF6!Q)Pt1+Z%TV(d> zlGr}|2Mo9VbI#PkOySe+p>X9tp~-9*mS?-B!(=f0PaN;&fqMmYmv5dI8XKh)#acsF68N}>9~kXiiy!i)y8GA HDO~vtaPZME literal 0 HcmV?d00001 diff --git a/target/classes/com/gdn/onboarding/day1/gdnDay1/ToDoList/ToDoList.class b/target/classes/com/gdn/onboarding/day1/gdnDay1/ToDoList/ToDoList.class new file mode 100644 index 0000000000000000000000000000000000000000..2f8f665f18c336f823b99997a27d912ad6b95d78 GIT binary patch literal 2735 zcmb7G>r)d~6#s1!*d;CsQ6h+s1)=gNM3mOz14V&K8y+?h4 z{eIV(e(Q&R>6bbcM5m80ozC=c>a_jcWJ3aUoGHxSyZ4-X&-tC-IrnV-{QLed0D5sd zhz>+$j8aY9Wn2@BR1o_xqaZDWRuDEaGG0*N1ksAP z5N2h#GIA0E*|=^=*dCqN7xYNZHB*roC6?hFqcUY?T?sX1$|xn&RK?7srMo%DkkGP0 zeY~(v=~glla~;!49_#0k%HyVGy8ROTZS7OEea24k@V2OF8DqKhtl>=RvnfhKQ9G`u zrgX;?Yfl((ubNp2hof;j9Z4pvh;7Z1sE)aM{Mx9V@!a|KL_$Jc+vZ3F^a|6;NHkvQb?m zv|AL2iXI%2P`jyEWGtw75sPBOl8R0|O6#Rv1CFCFiL|KbLbrq@tg=Jh+JH!2)!}aKoJWM*+pP^PnoOC$ zzh6_)hm$g1RdEAHB{b(@7C1lra&8%jmGcE({5%{Xt z`Bw27UYD@5WUf&Br*md1VK^#o;tdJDZu-B8TPohfTZ~}iZWV9i9SIGkn6z|`1kD=S zoJn{I75#Wu#(OH>7w+0h2J$42Sj_Br&K;jSZRe~+wk(E_DRi2hb2WQTb9g-s6~h8W z&;Pzv>yVGn&Kq&jCrVgiOIg=QGhCD8)fMiEX-7uH#UU+*o@PDQd-b_NAu7~Ql;sB} z#0_3MSg0%>D-%nQ^H)1Xhg}frnq*&hJ+n$o6T^?y2j(3YiGME+`IDYN^2x$ zN>Ak&RBcO3i(_PLC*Lr*ILLSjVoJpa_%O)N&PNjZi`A{o*^YL~>n>WR*srt$t=R*j zKw7iit=U5Hu^EX1wAh9ee4^l#0#^ZBc_nS6b;jEF9}Hb8W3(7VnaJZ&#h3U>e6PMn z6A^as6YAqXI|$z(+65#;^3sF+da_t?h~r^OCJ^8ou(x9cQpW@MrtiSNg1}u=a8)_I z0{JeKAMIc|lYW00p*gt&T)E45$&kK+he5}sJIeuF54^}ai(3I&(3Ma-%BCV%5TV{j1>pcQ z9X~-?#dZm|QT+frrbBfr2>&Xe?WF6#@y5c2dI{g5m*NL#AP>75m(dv7y^K9V-55x$ zVy_RsVIL*S(0KBeBz^zS?|~oa!;cdj75Kw{p-MWzUo@l`GRNJdYY#DNTsJW_&A7n% zGJjMED#Jvmu{#~Z@jP)eYjO1BBuN)>T%&anM{DOFkp1`Yapy9cilH=%Pz1ovRqXfS zydbauCIFvOlLsPlsIW>JSRpN}k)mUo^xTQJQy3tGGdy1fDa>h*&k!G(-~0UHG#3>T zH;SYW<4K|t_-=dnhX0#qqHQT7I4IWNibS+dhaOqMfdYC8SJAdEfC{o1uF6NSi&YG! zU3^5sblOGf5n>>j>hm0Y|cnB^uB>{A?lc=}%>+JSNa literal 0 HcmV?d00001 diff --git a/target/test-classes/com/gdn/onboarding/day1/gdnDay1/BubbleSort/BubbleSortTest.class b/target/test-classes/com/gdn/onboarding/day1/gdnDay1/BubbleSort/BubbleSortTest.class new file mode 100644 index 0000000000000000000000000000000000000000..1b9c18ce8f2b198a31386a9bd33272b360363069 GIT binary patch literal 2392 zcmbuAZBrXn6vzKJglrlXl7iMgK%o>Y3E1reSW7Aj6k19kDhy7huQtgoEZywJ&2B9p z!xw%KXViA8;|Fm3OpgD%8_32APSY2AbMHClp7T2oyZQ6)H-7+_$JZGQVp_w;86+@$ z4mxhA-Ao2~6x1@SVQ!eFx7Fc}TJCC?*RUWUssi^)HMe2x*B!%ks;=qPEoa}Tn@6{m z?4kNy3940F?zo;G+ZF{<4=l&>mjwD|@_PcwRktn$vL(xr+d-o$y?^F56u^*jvUSlEcDbP9Ye_KxQEX)+}E*)qK*gn zTwqeUHf)of-mq=CZ`#Y=e$bGPf5In_TX9{#<$GpxOZo?Hy_HR2i8NUaU+DM}%Q{xD zs^g*Zc)usWsA;(lO}Tm~YwX!bN3?t3x!*^Fl<8EI{hfKbkynkL`0o}jw_4I`xB0vo z9+o}NJX-rMFm1M8<9&MI;ASK3w(B43Zp@TA01;F1ZApGFgEg#Y_{u$^KlxJD0-t?6 zn0b$(&Yv=o&jP2WvN6`eFsdMY0rUtxtPykCiF2>oR2JXCT|SoLN!2?+qT*-@|Ef)8J6t|>lz8!1sA_a*d&x?JHEMBz6iDzDJ@3z9!km%s>D^``)& zk;FNCz?~l1<3n8F3HXS<5}~gjXwyf@qg?9uOr)#GKK;!;u7%|X?K~s z1g_93Mad|C!TZOkKekafBbsy!H8((<+(I0dkVyje(=5eDQzmJeoQXSvaY8N;?g=Z^ z!QE`*j$^KkyL1Zf)gEzA%O;Mi{kyuCiF<{(qr@HS33vPix5&z?fg2o77v6Ae@EVzK zI{~AKy2gf1hk>Gr8f@1k*0NlJEk1790b8afaqfRwHmgQRgd;T2i8&OG$|RG#j#*5F vaW6#vPWllIjleZVNiu;+-nq_wg7zi;W+;1tZESM1KH*t$-=vL!TQL3s)-5!T literal 0 HcmV?d00001 diff --git a/target/test-classes/com/gdn/onboarding/day1/gdnDay1/Calendar/CalendarTest.class b/target/test-classes/com/gdn/onboarding/day1/gdnDay1/Calendar/CalendarTest.class new file mode 100644 index 0000000000000000000000000000000000000000..2b592215bc0bff954057bd8fdef3cbfe15688b9c GIT binary patch literal 2637 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 H8tMN4VVXpX literal 0 HcmV?d00001 diff --git a/target/test-classes/com/gdn/onboarding/day1/gdnDay1/ToDoList/ToDoListTest.class b/target/test-classes/com/gdn/onboarding/day1/gdnDay1/ToDoList/ToDoListTest.class new file mode 100644 index 0000000000000000000000000000000000000000..87d40784fb25921ed2f3eea528867e7cbf4828ee GIT binary patch literal 3445 zcmbVOX;a%)6g@JFuo0VCvNRz}od(kuhd@G8(=@D&TPL)^B@JDLEsTheh%6CE_jKR) zAJUmDB%SFG==3*bdY&XK0dA)02S4BU-hJnuyV`#}xc?`BVf>cBA)J#jmcTeB;^@Vs zjHv_~a87Kd6NvfJ3r#rRj2vDRCoc&pAE!ix3%Dp_CP}!0*u2_=xdblbHKBM#D9(%H z*JZqsgoHwp$5f2rZE^fg5_KrZSddYaP-j?W3CX-=mopV(ad) zJ-@83sTtSNjZB^=yot~1Wm9!rTa%F5aXsqq4b?1XW*u8M%h|JhQsV2eQ;RsEa?>qBad#mpn1;9YN;ed3HvU&rlYTDb9zOmficsx9M#b+ zllTX`2rj!Mnpt*Nbw{%^>Z+azK$-%OlM)iPwqmVmK4f#a;ZV`atsldXjgrgpSS8+MR(8{VYW|!R+&2*|EVHuBGmQ!(Tb@hVgELo*WTO+Qu zBi$y$R!{*=x>%FYAgm3_xUOIw8wzgVT?OyqePQbZ34Nh0k8I8?Y3nntGqX5uxn`+S zwMg6#`T0n}$GEBB6MV|uXA(|5a=82oXb%m~EG%n9)}tRd&+o#LZC&@fV9(B0o>q&F zWpA*c%9`VMw}fMTkv^R;)Ji3rt~CT&!{ms(um@Qo61t<$eLmUr{EqXW{k@*8=r>qI zY~Y-P!-C=NRvD{QG&^V~g@m}7y5_0|yQ`rumrHZTeU2{@oRMEjkhOKK=sLtK_5IJ* z_Wj+>W6?E>f<|V_Ga;hNArvt30!>D<(E#}I`M8(h(*(XF3|^Fg;yU z4Og34l+e?ci#`lA#DMgBTxdjqx9&y!>zI0xooxU?-Xt84J_}AGKwJ4`0($Y4SiWXT zyy@emlzC71`6}2hGg99-FOt=ZZ)AL{;5+=J;5nofjEW^ImS@D|i1e*)u31;LOx_!8 zY*2M^t7w~7!kvs?=xpAyuDWb{C1;wN?ZsYWM*faE5#af)eqJ?8hE_@W53>=^f(nhC zYVTn5M!s$tCXw<9a#SN3RF4cjbl_eVnS!}U02d-<0G{Ml#k z;Rq#&@ycC_QVhqqa?)~D_~B6JO+Tf1?*)+RzYD298QVnNZPfSwfrcx0(Rdp&#Tdn= z+lc>8{TQC)nnXR<7Ot&a+p!lNc#0*ZlM1bf(}(dZw8^8^jzxP?NU71>H8M1+eFtLbPL70d+1?E zd_VooCia9}_R|3{aSFrO&9wD0ZD}TMf=LTQJXw?5aFyHnz~LTY$P00DFFoJ4)ALsP z0OH1p*Nqbq3q3V0oT^&b9@70gf&GvU(~Xe`Xzh@mu7XYnw7aUbg>VOtZQ?)}BA;}Y zq({-osS}2!t0w7@D*krT2WyiaBk9QqXbsZsF)`gpRNY3|vVW{kcJ4lAT5x89pS$Aj2IELr(Bfk?2!uR+YKd?k!=Dwd{d4)Qc RFw2iGy;+sss!A#@{R4Ls`iuYo literal 0 HcmV?d00001