From 861d99eb5aabe63d1c3f20d30ef321493ac5077b Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Mon, 4 Jul 2022 02:22:11 +0530 Subject: [PATCH 01/77] GH-5: Exercism-Java: Greeter a.k.a Hello World --- exercism/pom.xml | 24 +++++++++++++++++++ .../sampadadubey/java/exercism/Greeter.java | 8 +++++++ .../java/exercism/GreeterTest.java | 13 ++++++++++ .../target/site/jacoco-aggregate/jacoco.xml | 1 - 4 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 exercism/pom.xml create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/Greeter.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/GreeterTest.java delete mode 100644 jacoco-report/target/site/jacoco-aggregate/jacoco.xml diff --git a/exercism/pom.xml b/exercism/pom.xml new file mode 100644 index 0000000..63c89fb --- /dev/null +++ b/exercism/pom.xml @@ -0,0 +1,24 @@ + + + + 4.0.0 + + + io.sampadadubey.java + parent + 1.0 + .. + + + exercism + exercism + jar + + + + io.sampadadubey.java + common + ${project.version} + + + diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Greeter.java b/exercism/src/main/java/io/sampadadubey/java/exercism/Greeter.java new file mode 100644 index 0000000..9c3f973 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/Greeter.java @@ -0,0 +1,8 @@ +package io.sampadadubey.java.exercism; + +class Greeter { + + String getGreeting() { + return "Hello, World!"; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/GreeterTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/GreeterTest.java new file mode 100644 index 0000000..bc66ac2 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/GreeterTest.java @@ -0,0 +1,13 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.Test; + +class GreeterTest { + + @Test + public void testThatGreeterReturnsTheCorrectGreeting() { + assertThat(new Greeter().getGreeting()).isEqualTo("Hello, World!"); + } +} diff --git a/jacoco-report/target/site/jacoco-aggregate/jacoco.xml b/jacoco-report/target/site/jacoco-aggregate/jacoco.xml deleted file mode 100644 index 63b4388..0000000 --- a/jacoco-report/target/site/jacoco-aggregate/jacoco.xml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From 033db83a886d9021b4fcaa63ab33d6a217838d8f Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Mon, 4 Jul 2022 02:51:22 +0530 Subject: [PATCH 02/77] GH-5: Exercism-Java: Lasagna --- .../sampadadubey/java/exercism/Lasagna.java | 20 + .../java/exercism/LasagnaTest.java | 92 ++++ .../java/exercism/utils/Lasagna.java | 42 ++ .../java/exercism/utils/ReflectionProxy.java | 488 ++++++++++++++++++ 4 files changed, 642 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/Lasagna.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/LasagnaTest.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/utils/Lasagna.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/utils/ReflectionProxy.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Lasagna.java b/exercism/src/main/java/io/sampadadubey/java/exercism/Lasagna.java new file mode 100644 index 0000000..6eea8c8 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/Lasagna.java @@ -0,0 +1,20 @@ +package io.sampadadubey.java.exercism; + +public class Lasagna { + + public int expectedMinutesInOven() { + return 40; + } + + public int remainingMinutesInOven(final int actualMinutesInOver) { + return expectedMinutesInOven() - actualMinutesInOver; + } + + public int preparationTimeInMinutes(final int layersCount) { + return layersCount * 2; + } + + public int totalTimeInMinutes(final int layersCount, final int actualMinutesInOver) { + return preparationTimeInMinutes(layersCount) + actualMinutesInOver; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/LasagnaTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/LasagnaTest.java new file mode 100644 index 0000000..1c84cf6 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/LasagnaTest.java @@ -0,0 +1,92 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.Test; + +import io.sampadadubey.java.exercism.utils.Lasagna; + +class LasagnaTest { + + @Test + void implemented_expected_minutes_in_oven() { + assertThat(new Lasagna().hasMethod("expectedMinutesInOven")) + .withFailMessage("Method expectedMinutesInOven must be created") + .isTrue(); + assertThat(new Lasagna().isMethodPublic("expectedMinutesInOven")) + .withFailMessage("Method expectedMinutesInOven must be public") + .isTrue(); + assertThat(new Lasagna().isMethodReturnType(int.class, "expectedMinutesInOven")) + .withFailMessage("Method expectedMinutesInOven must return an int") + .isTrue(); + } + + @Test + void expected_minutes_in_oven() { + assertThat(new Lasagna().expectedMinutesInOven()).isEqualTo(40); + } + + @Test + void implemented_remaining_minutes_in_oven() { + assertThat(new Lasagna().hasMethod("remainingMinutesInOven", int.class)) + .withFailMessage("Method remainingMinutesInOven must be created") + .isTrue(); + assertThat(new Lasagna().isMethodPublic("remainingMinutesInOven", int.class)) + .withFailMessage("Method remainingMinutesInOven must be public") + .isTrue(); + assertThat(new Lasagna().isMethodReturnType(int.class, "remainingMinutesInOven", int.class)) + .withFailMessage("Method remainingMinutesInOven must return an int") + .isTrue(); + } + + @Test + void remaining_minutes_in_oven() { + assertThat(new Lasagna().remainingMinutesInOven(25)).isEqualTo(15); + } + + @Test + void implemented_preparation_time_in_minutes() { + assertThat(new Lasagna().hasMethod("preparationTimeInMinutes", int.class)) + .withFailMessage("Method preparationTimeInMinutes must be created") + .isTrue(); + assertThat(new Lasagna().isMethodPublic("preparationTimeInMinutes", int.class)) + .withFailMessage("Method preparationTimeInMinutes must be public") + .isTrue(); + assertThat(new Lasagna().isMethodReturnType(int.class, "preparationTimeInMinutes", int.class)) + .withFailMessage("Method preparationTimeInMinutes must return an int") + .isTrue(); + } + + @Test + void preparation_time_in_minutes_for_one_layer() { + assertThat(new Lasagna().preparationTimeInMinutes(1)).isEqualTo(2); + } + + @Test + void preparation_time_in_minutes_for_multiple_layers() { + assertThat(new Lasagna().preparationTimeInMinutes(4)).isEqualTo(8); + } + + @Test + void implemented_total_time_in_minutes() { + assertThat(new Lasagna().hasMethod("totalTimeInMinutes", int.class, int.class)) + .withFailMessage("Method totalTimeInMinutes must be created") + .isTrue(); + assertThat(new Lasagna().isMethodPublic("totalTimeInMinutes", int.class, int.class)) + .withFailMessage("Method totalTimeInMinutes must be public") + .isTrue(); + assertThat(new Lasagna().isMethodReturnType(int.class, "totalTimeInMinutes", int.class, int.class)) + .withFailMessage("Method totalTimeInMinutes must return an int") + .isTrue(); + } + + @Test + void total_time_in_minutes_for_one_layer() { + assertThat(new Lasagna().totalTimeInMinutes(1, 30)).isEqualTo(32); + } + + @Test + void total_time_in_minutes_for_multiple_layers() { + assertThat(new Lasagna().totalTimeInMinutes(4, 8)).isEqualTo(16); + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/utils/Lasagna.java b/exercism/src/test/java/io/sampadadubey/java/exercism/utils/Lasagna.java new file mode 100644 index 0000000..2212c95 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/utils/Lasagna.java @@ -0,0 +1,42 @@ +package io.sampadadubey.java.exercism.utils; + +public class Lasagna extends ReflectionProxy { + + @Override + public String getTargetClassName() { + return "io.sampadadubey.java.exercism.Lasagna"; + } + + public int expectedMinutesInOven() { + try { + return invokeMethod("expectedMinutesInOven", new Class[] {}); + } catch (Exception e) { + throw new UnsupportedOperationException("Please implement the expectedMinutesInOven() method"); + } + } + + public int remainingMinutesInOven(final int actualMinutes) { + try { + return invokeMethod("remainingMinutesInOven", new Class[] { int.class }, actualMinutes); + } catch (Exception e) { + throw new UnsupportedOperationException("Please implement the remainingMinutesInOven(int) method"); + } + } + + public int preparationTimeInMinutes(final int amountLayers) { + try { + return invokeMethod("preparationTimeInMinutes", new Class[] { int.class }, amountLayers); + } catch (Exception e) { + throw new UnsupportedOperationException("Please implement the preparationTimeInMinutes(int) method"); + } + } + + public int totalTimeInMinutes(final int amountLayers, int actualMinutes) { + try { + return invokeMethod("totalTimeInMinutes", new Class[] { int.class, int.class }, amountLayers, + actualMinutes); + } catch (Exception e) { + throw new UnsupportedOperationException("Please implement the totalTimeInMinutes(int, int) method"); + } + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/utils/ReflectionProxy.java b/exercism/src/test/java/io/sampadadubey/java/exercism/utils/ReflectionProxy.java new file mode 100644 index 0000000..9d932c9 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/utils/ReflectionProxy.java @@ -0,0 +1,488 @@ +package io.sampadadubey.java.exercism.utils; + +import java.lang.reflect.Constructor; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; +import java.lang.reflect.ParameterizedType; + +import static java.lang.Class.forName; + +@SuppressWarnings("unchecked") +public abstract class ReflectionProxy { + + /** + * An instance of the target class (if found) + */ + private final Object target; + + /** + * A constructor to instantiate the target class with parameters + * @param args An array of parameters matching the constructor from the target class + */ + protected ReflectionProxy(Object... args) { + this.target = instantiateTarget(args); + } + + /** + * Abstract method that defines the fully qualified name of the target class + * @return The fully qualified name of the target class + */ + public abstract String getTargetClassName(); + + /** + * Getter for the target instance + * @return The target instance + */ + public Object getTarget() { + return target; + } + + /** + * Gets the target class + * @return The target class if it exists, null otherwise + */ + public Class getTargetClass() { + try { + return forName(this.getTargetClassName()); + } catch (ClassNotFoundException e) { + return null; + } + } + + /** + * Checks if the target class has a specific method + * @param name The name of the method to find + * @param parameterTypes The list of parameter types + * @return True if the method is found, false otherwise + */ + public boolean hasMethod(String name, Class... parameterTypes) { + Class targetClass = getTargetClass(); + if (targetClass == null || name == null) { + return false; + } + try { + Method m = targetClass.getDeclaredMethod(name, parameterTypes); + return m != null; + } catch (NoSuchMethodException e) { + return false; + } + } + + /** + * Checks if a method from the target class is public + * @param name The name of the method + * @param parameterTypes A list of method parameters + * @return True if the method exists and is public, false otherwise + */ + public boolean isMethodPublic(String name, Class... parameterTypes) { + Class targetClass = getTargetClass(); + if (targetClass == null || name == null) { + return false; + } + try { + Method m = targetClass.getDeclaredMethod(name, parameterTypes); + return Modifier.isPublic(m.getModifiers()); + } catch (NoSuchMethodException e) { + return false; + } + } + + /** + * Checks if a method from the target class returns the correct type + * @param returnType The type of return value + * @param name The name of the method + * @param parameterTypes The list of method parameters + * @return + */ + public boolean isMethodReturnType(Class returnType, String name, Class... parameterTypes) { + return isMethodReturnType(returnType, null, name, parameterTypes); + } + + /** + * Invokes a method from the target instance + * @param methodName The name of the method + * @param parameterTypes The list of parameter types + * @param parameterValues The list with values for the method parameters + * @param The result type we expect the method to be + * @return The value returned by the method + */ + protected T invokeMethod(String methodName, Class[] parameterTypes, Object... parameterValues) { + if (target == null) { + return null; + } + try { + // getDeclaredMethod is used to get protected/private methods + Method method = target.getClass().getDeclaredMethod(methodName, parameterTypes); + method.setAccessible(true); + return (T) method.invoke(target, parameterValues); + } catch (NoSuchMethodException e) { + try { + // try getting it from parent class, but only public methods will work + Method method = target.getClass().getMethod(methodName, parameterTypes); + method.setAccessible(true); + return (T) method.invoke(target, parameterValues); + } catch (Exception ex) { + return null; + } + } catch (Exception e) { + return null; + } + } + + /** + * Creates an instance of the target class + * @param args The list of constructor parameters + * @return An instance of the target class, if found, or null otherwise + */ + private Object instantiateTarget(Object... args) { + Class targetClass = getTargetClass(); + if (targetClass == null) { + return null; + } + Constructor[] constructors = getAllConstructors(); + for (Constructor c : constructors) { + if (c.getParameterCount() == args.length) { + try { + return c.newInstance(args); + } catch (Exception e) { + // do nothing; + } + } + } + return null; + } + + /** + * Gets a list with all the constructors defined by the target class + * @return A list with all constructor definitions + */ + private Constructor[] getAllConstructors() { + Class targetClass = getTargetClass(); + if (targetClass == null) { + return new Constructor[]{}; + } + return targetClass.getConstructors(); + } + + + //region Unused + + /** + * The default constructor, for when you have already an instance of the target class + * @param target An instance of the target class + */ + protected ReflectionProxy(Object target) { + this.target = target; + } + + /** + * Checks if the target class exists + * @return True if the class exists, false otherwise + */ + public boolean existsClass() { + return getTargetClass() != null; + } + + /** + * Checks if the class implements a specific interface + * @param anInterface The interface to check + * @return True if the class implements the referred interface, false otherwise + */ + public boolean implementsInterface(Class anInterface) { + Class targetClass = getTargetClass(); + if (targetClass == null || anInterface == null) { + return false; + } + return anInterface.isAssignableFrom(targetClass); + } + + /** + * Checks if the target class has a specific property + * @param name The name of the property to find + * @return True if the property is found, false otherwise + */ + public boolean hasProperty(String name) { + Class targetClass = getTargetClass(); + if (targetClass == null || name == null) { + return false; + } + try { + Field f = targetClass.getDeclaredField(name); + return f != null; + } catch (NoSuchFieldException e) { + return false; + } + } + + /** + * Checks if an existing property has the type we expect + * @param name The name of the property to check + * @param type The type you are expecting the property to be + * @return True if the property is found and has the specified type, false otherwise + */ + public boolean isPropertyOfType(String name, Class type) { + return isPropertyOfType(name, type, null); + } + + /** + * Checks if an existing Collection type has the parameterized type (Generics) as expected (eg. List) + * @param name The name of the property + * @param type The type of the property (eg. List) + * @param parameterizedType The parameterized property (eg. String) + * @return True if the parameterized type matches the desired type, false otherwise + */ + public boolean isPropertyOfType(String name, Class type, Class parameterizedType) { + Class targetClass = getTargetClass(); + if (targetClass == null || name == null || type == null) { + return false; + } + try { + Field f = targetClass.getDeclaredField(name); + if (!f.getType().equals(type)) { + return false; + } + if (parameterizedType == null) { + return true; + } + if (!(f.getGenericType() instanceof ParameterizedType)) { + return false; + } + ParameterizedType pType = (ParameterizedType) f.getGenericType(); + return pType.getActualTypeArguments()[0].equals(parameterizedType); + + } catch (NoSuchFieldException e) { + return false; + } + } + + /** + * Checks if a property is private + * @param name The name of the property + * @return True if the property exists and is private, false otherwise + */ + public boolean isPropertyPrivate(String name) { + Class targetClass = getTargetClass(); + if (targetClass == null || name == null) { + return false; + } + try { + Field f = targetClass.getDeclaredField(name); + return Modifier.isPrivate(f.getModifiers()); + } catch (NoSuchFieldException e) { + return false; + } + } + + /** + * Checks if a method from the target class returns a correct parameterized collection (Generics) + * @param returnType The return type we expect (eg. List) + * @param parameterizedType The parameterized type we expect (eg. String) + * @param name The name of the method + * @param parameterTypes A list of method parameter types + * @return True if the method returns the correct parameterized collection, false otherwise + */ + public boolean isMethodReturnType(Class returnType, Class parameterizedType, + String name, Class... parameterTypes) { + Class targetClass = getTargetClass(); + if (targetClass == null || name == null) { + return false; + } + try { + Method m = targetClass.getDeclaredMethod(name, parameterTypes); + if (!m.getReturnType().equals(returnType)) { + return false; + } + if (parameterizedType == null) { + return true; + } + if (!(m.getGenericReturnType() instanceof ParameterizedType)) { + return false; + } + ParameterizedType pType = (ParameterizedType) m.getGenericReturnType(); + return pType.getActualTypeArguments()[0].equals(parameterizedType); + } catch (NoSuchMethodException e) { + return false; + } + } + + /** + * Checks if a target class has a specific constructor + * @param parameterTypes The list of desired parameter types + * @return True if the constructor exists, false otherwise + */ + public boolean hasConstructor(Class... parameterTypes) { + Class targetClass = getTargetClass(); + if (targetClass == null) { + return false; + } + try { + Constructor c = targetClass.getDeclaredConstructor(parameterTypes); + return c != null; + } catch (NoSuchMethodException e) { + return false; + } + } + + /** + * Checks if a specific constructor from the target class is public + * @param parameterTypes A list of parameter types + * @return True if the constructor is found and is public, false otherwise + */ + public boolean isConstructorPublic(Class... parameterTypes) { + Class targetClass = getTargetClass(); + if (targetClass == null) { + return false; + } + try { + Constructor c = targetClass.getDeclaredConstructor(parameterTypes); + return Modifier.isPublic(c.getModifiers()); + } catch (NoSuchMethodException e) { + return false; + } + } + + /** + * Proxy for the 'equals' method + * @param obj The ReflexionProxy object you want to compare against + * @return True if both targets are equal, false otherwise + */ + public boolean equals(Object obj) { + if (target == null || !(obj instanceof ReflectionProxy)) { + return false; + } + try { + Method method = target.getClass().getMethod("equals", Object.class); + method.setAccessible(true); + return (boolean) method.invoke(target, ((ReflectionProxy) obj).getTarget()); + } catch (Exception e) { + return false; + } + } + + /** + * Proxy for the 'hashCode' method + * @return The hashCode from the target class + */ + public int hashCode() { + if (target == null) { + return 0; + } + try { + Method method = target.getClass().getMethod("hashCode"); + method.setAccessible(true); + return (int) method.invoke(target); + } catch (Exception e) { + return 0; + } + } + + /** + * Proxy for the 'toString' method from the target class + * @return The result of 'toString' from the target instance + */ + public String toString() { + return invokeMethod("toString", new Class[]{ }); + } + + /** + * Gets a property value from the target instance (if it exists) + * @param propertyName The name of the property + * @param The type we are expecting it to be + * @return The value of the property (if it exists) + */ + protected T getPropertyValue(String propertyName) { + if (target == null || !hasProperty(propertyName)) { + return null; + } + try { + Field field = target.getClass().getDeclaredField(propertyName); + field.setAccessible(true); + return (T) field.get(target); + } catch (Exception e) { + return null; + } + } + + /** + * Checks if the target class is abstract + * @return True if the target class exists and is abstract, false otherwise + */ + public boolean isAbstract() { + Class targetClass = getTargetClass(); + if (targetClass == null) { + return false; + } + return Modifier.isAbstract(targetClass.getModifiers()); + } + + /** + * Checks if the target class extends another + * @param className The fully qualified name of the class it should extend + * @return True if the target class extends the specified one, false otherwise + */ + public boolean extendsClass(String className) { + Class targetClass = getTargetClass(); + if (targetClass == null) { + return false; + } + try { + Class parentClass = Class.forName(className); + return parentClass.isAssignableFrom(targetClass); + } catch (ClassNotFoundException e) { + return false; + } + } + + /** + * Checks if the target class is an interface + * @return True if the target class exists and is an interface, false otherwise + */ + public boolean isInterface() { + Class targetClass = getTargetClass(); + if (targetClass == null) { + return false; + } + return targetClass.isInterface(); + } + + /** + * Checks if a method is abstract + * @param name The name of the method + * @param parameterTypes The list of method parameter types + * @return True if the method exists and is abstract, false otherwise + */ + public boolean isMethodAbstract(String name, Class... parameterTypes) { + Class targetClass = getTargetClass(); + if (targetClass == null || name == null) { + return false; + } + try { + Method m = targetClass.getDeclaredMethod(name, parameterTypes); + return Modifier.isAbstract(m.getModifiers()); + } catch (NoSuchMethodException e) { + return false; + } + } + + /** + * Checks if a method is protected + * @param name The name of the method + * @param parameterTypes The list of method parameter types + * @return True if the method exists and is protected, false otherwise + */ + public boolean isMethodProtected(String name, Class... parameterTypes) { + Class targetClass = getTargetClass(); + if (targetClass == null || name == null) { + return false; + } + try { + Method m = targetClass.getDeclaredMethod(name, parameterTypes); + return Modifier.isProtected(m.getModifiers()); + } catch (NoSuchMethodException e) { + return false; + } + } + + //endregion +} From 3f978fefc1373468b453f6cf7ccaddcc767cc61d Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Mon, 4 Jul 2022 03:23:45 +0530 Subject: [PATCH 03/77] GH-5: Exercism-Java: Annalyn's Infiltration --- .../java/exercism/AnnalynsInfiltration.java | 31 ++ .../exercism/AnnalynsInfiltrationTest.java | 272 ++++++++++++++++++ .../java/exercism/GreeterTest.java | 2 +- 3 files changed, 304 insertions(+), 1 deletion(-) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/AnnalynsInfiltration.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/AnnalynsInfiltrationTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/AnnalynsInfiltration.java b/exercism/src/main/java/io/sampadadubey/java/exercism/AnnalynsInfiltration.java new file mode 100644 index 0000000..6c091d4 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/AnnalynsInfiltration.java @@ -0,0 +1,31 @@ +package io.sampadadubey.java.exercism; + +public class AnnalynsInfiltration { + + public static boolean canFastAttack(final boolean knightIsAwake) { + return !knightIsAwake; + } + + public static boolean canSpy(final boolean knightIsAwake, final boolean archerIsAwake, + final boolean prisonerIsAwake) { + return knightIsAwake || archerIsAwake || prisonerIsAwake; + } + + public static boolean canSignalPrisoner(final boolean archerIsAwake, final boolean prisonerIsAwake) { + return !archerIsAwake && prisonerIsAwake; + } + + public static boolean canFreePrisoner(final boolean knightIsAwake, final boolean archerIsAwake, + final boolean prisonerIsAwake, final boolean petDogIsPresent) { + + boolean result = false; + + if (petDogIsPresent) { + result = !archerIsAwake; + } else { + result = prisonerIsAwake && !knightIsAwake && !archerIsAwake; + } + + return result; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/AnnalynsInfiltrationTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/AnnalynsInfiltrationTest.java new file mode 100644 index 0000000..c591807 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/AnnalynsInfiltrationTest.java @@ -0,0 +1,272 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.Test; + +class AnnalynsInfiltrationTest { + + @Test + void cannot_execute_fast_attack_if_knight_is_awake() { + final boolean knightIsAwake = true; + assertThat(AnnalynsInfiltration.canFastAttack(knightIsAwake)).isFalse(); + } + + @Test + void can_execute_fast_attack_if_knight_is_sleeping() { + final boolean knightIsAwake = false; + assertThat(AnnalynsInfiltration.canFastAttack(knightIsAwake)).isTrue(); + } + + @Test + void cannot_spy_if_everyone_is_sleeping() { + final boolean knightIsAwake = false; + final boolean archerIsAwake = false; + final boolean prisonerIsAwake = false; + assertThat(AnnalynsInfiltration.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isFalse(); + } + + @Test + void can_spy_if_everyone_but_knight_is_sleeping() { + final boolean knightIsAwake = true; + final boolean archerIsAwake = false; + final boolean prisonerIsAwake = false; + assertThat(AnnalynsInfiltration.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isTrue(); + } + + @Test + void can_spy_if_everyone_but_archer_is_sleeping() { + final boolean knightIsAwake = false; + final boolean archerIsAwake = true; + final boolean prisonerIsAwake = false; + assertThat(AnnalynsInfiltration.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isTrue(); + } + + @Test + void can_spy_if_everyone_but_prisoner_is_sleeping() { + final boolean knightIsAwake = false; + final boolean archerIsAwake = false; + final boolean prisonerIsAwake = true; + assertThat(AnnalynsInfiltration.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isTrue(); + } + + @Test + void can_spy_if_only_knight_is_sleeping() { + final boolean knightIsAwake = false; + final boolean archerIsAwake = true; + final boolean prisonerIsAwake = true; + assertThat(AnnalynsInfiltration.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isTrue(); + } + + @Test + void can_spy_if_only_archer_is_sleeping() { + final boolean knightIsAwake = true; + final boolean archerIsAwake = false; + final boolean prisonerIsAwake = true; + assertThat(AnnalynsInfiltration.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isTrue(); + } + + @Test + void can_spy_if_only_prisoner_is_sleeping() { + final boolean knightIsAwake = true; + final boolean archerIsAwake = true; + final boolean prisonerIsAwake = false; + assertThat(AnnalynsInfiltration.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isTrue(); + } + + @Test + void can_spy_if_everyone_is_awake() { + final boolean knightIsAwake = true; + final boolean archerIsAwake = true; + final boolean prisonerIsAwake = true; + assertThat(AnnalynsInfiltration.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isTrue(); + } + + @Test + void can_signal_prisoner_if_archer_is_sleeping_and_prisoner_is_awake() { + final boolean archerIsAwake = false; + final boolean prisonerIsAwake = true; + assertThat(AnnalynsInfiltration.canSignalPrisoner(archerIsAwake, prisonerIsAwake)).isTrue(); + } + + @Test + void cannot_signal_prisoner_if_archer_is_awake_and_prisoner_is_sleeping() { + final boolean archerIsAwake = true; + final boolean prisonerIsAwake = false; + assertThat(AnnalynsInfiltration.canSignalPrisoner(archerIsAwake, prisonerIsAwake)).isFalse(); + } + + @Test + void cannot_signal_prisoner_if_archer_and_prisoner_are_both_sleeping() { + final boolean archerIsAwake = false; + final boolean prisonerIsAwake = false; + assertThat(AnnalynsInfiltration.canSignalPrisoner(archerIsAwake, prisonerIsAwake)).isFalse(); + } + + @Test + void cannot_signal_prisoner_if_archer_and_prisoner_are_both_awake() { + final boolean archerIsAwake = true; + final boolean prisonerIsAwake = true; + assertThat(AnnalynsInfiltration.canSignalPrisoner(archerIsAwake, prisonerIsAwake)).isFalse(); + } + + @Test + void cannot_release_prisoner_if_everyone_is_awake_and_pet_dog_is_present() { + final boolean knightIsAwake = true; + final boolean archerIsAwake = true; + final boolean prisonerIsAwake = true; + final boolean petDogIsPresent = true; + assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + prisonerIsAwake, petDogIsPresent)).isFalse(); + } + + @Test + void cannot_release_prisoner_if_everyone_is_awake_and_pet_dog_is_absent() { + final boolean knightIsAwake = true; + final boolean archerIsAwake = true; + final boolean prisonerIsAwake = true; + final boolean petDogIsPresent = false; + assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + prisonerIsAwake, petDogIsPresent)).isFalse(); + } + + @Test + void can_release_prisoner_if_everyone_is_asleep_and_pet_dog_is_present() { + final boolean knightIsAwake = false; + final boolean archerIsAwake = false; + final boolean prisonerIsAwake = false; + final boolean petDogIsPresent = true; + assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + prisonerIsAwake, petDogIsPresent)).isTrue(); + } + + @Test + void cannot_release_prisoner_if_everyone_is_asleep_and_pet_dog_is_absent() { + final boolean knightIsAwake = false; + final boolean archerIsAwake = false; + final boolean prisonerIsAwake = false; + final boolean petDogIsPresent = false; + assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + prisonerIsAwake, petDogIsPresent)).isFalse(); + } + + @Test + void can_release_prisoner_if_only_prisoner_is_awake_and_pet_dog_is_present() { + final boolean knightIsAwake = false; + final boolean archerIsAwake = false; + final boolean prisonerIsAwake = true; + final boolean petDogIsPresent = true; + assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + prisonerIsAwake, petDogIsPresent)).isTrue(); + } + + @Test + void can_release_prisoner_if_only_prisoner_is_awake_and_pet_dog_is_absent() { + final boolean knightIsAwake = false; + final boolean archerIsAwake = false; + final boolean prisonerIsAwake = true; + final boolean petDogIsPresent = false; + assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + prisonerIsAwake, petDogIsPresent)).isTrue(); + } + + @Test + void cannot_release_prisoner_if_only_archer_is_awake_and_pet_dog_is_present() { + final boolean knightIsAwake = false; + final boolean archerIsAwake = true; + final boolean prisonerIsAwake = false; + final boolean petDogIsPresent = true; + assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + prisonerIsAwake, petDogIsPresent)).isFalse(); + } + + @Test + void cannot_release_prisoner_if_only_archer_is_awake_and_pet_dog_is_absent() { + final boolean knightIsAwake = false; + final boolean archerIsAwake = true; + final boolean prisonerIsAwake = false; + final boolean petDogIsPresent = false; + assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + prisonerIsAwake, petDogIsPresent)).isFalse(); + } + + @Test + void can_release_prisoner_if_only_knight_is_awake_and_pet_dog_is_present() { + final boolean knightIsAwake = true; + final boolean archerIsAwake = false; + final boolean prisonerIsAwake = false; + final boolean petDogIsPresent = true; + assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + prisonerIsAwake, petDogIsPresent)).isTrue(); + } + + @Test + void cannot_release_prisoner_if_only_knight_is_awake_and_pet_dog_is_absent() { + final boolean knightIsAwake = true; + final boolean archerIsAwake = false; + final boolean prisonerIsAwake = false; + final boolean petDogIsPresent = false; + assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + prisonerIsAwake, petDogIsPresent)).isFalse(); + } + + @Test + void cannot_release_prisoner_if_only_knight_is_asleep_and_pet_dog_is_present() { + final boolean knightIsAwake = false; + final boolean archerIsAwake = true; + final boolean prisonerIsAwake = true; + final boolean petDogIsPresent = true; + assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + prisonerIsAwake, petDogIsPresent)).isFalse(); + } + + @Test + void cannot_release_prisoner_if_only_knight_is_asleep_and_pet_dog_is_absent() { + final boolean knightIsAwake = false; + final boolean archerIsAwake = true; + final boolean prisonerIsAwake = true; + final boolean petDogIsPresent = false; + assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + prisonerIsAwake, petDogIsPresent)).isFalse(); + } + + @Test + void can_release_prisoner_if_only_archer_is_asleep_and_pet_dog_is_present() { + final boolean knightIsAwake = true; + final boolean archerIsAwake = false; + final boolean prisonerIsAwake = true; + final boolean petDogIsPresent = true; + assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + prisonerIsAwake, petDogIsPresent)).isTrue(); + } + + @Test + void cannot_release_prisoner_if_only_archer_is_asleep_and_pet_dog_is_absent() { + final boolean knightIsAwake = true; + final boolean archerIsAwake = false; + final boolean prisonerIsAwake = true; + final boolean petDogIsPresent = false; + assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + prisonerIsAwake, petDogIsPresent)).isFalse(); + } + + @Test + void cannot_release_prisoner_if_only_prisoner_is_asleep_and_pet_dog_is_present() { + final boolean knightIsAwake = true; + final boolean archerIsAwake = true; + final boolean prisonerIsAwake = false; + final boolean petDogIsPresent = true; + assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + prisonerIsAwake, petDogIsPresent)).isFalse(); + } + + @Test + void cannot_release_prisoner_if_only_prisoner_is_asleep_and_pet_dog_is_absent() { + final boolean knightIsAwake = true; + final boolean archerIsAwake = true; + final boolean prisonerIsAwake = false; + final boolean petDogIsPresent = false; + assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + prisonerIsAwake, petDogIsPresent)).isFalse(); + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/GreeterTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/GreeterTest.java index bc66ac2..e54068d 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/GreeterTest.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/GreeterTest.java @@ -7,7 +7,7 @@ class GreeterTest { @Test - public void testThatGreeterReturnsTheCorrectGreeting() { + public void greeter_returns_the_correct_greeting() { assertThat(new Greeter().getGreeting()).isEqualTo("Hello, World!"); } } From 7561f24a19f84feb9d911a92da45a82bfe01afaa Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Mon, 4 Jul 2022 03:59:21 +0530 Subject: [PATCH 04/77] GH-5: Adds exercism module to the project --- jacoco-report/pom.xml | 5 +++++ pom.xml | 1 + 2 files changed, 6 insertions(+) diff --git a/jacoco-report/pom.xml b/jacoco-report/pom.xml index e0ee5db..3787980 100644 --- a/jacoco-report/pom.xml +++ b/jacoco-report/pom.xml @@ -25,6 +25,11 @@ codingbat ${project.parent.version} + + io.sampadadubey.java + exercism + ${project.parent.version} + io.sampadadubey.java hackerrank diff --git a/pom.xml b/pom.xml index f1c06d5..7566f5b 100644 --- a/pom.xml +++ b/pom.xml @@ -12,6 +12,7 @@ common codingbat + exercism hackerrank jacoco-report From 77ae03b26939e5da6c93078a5c37ffa8658db00b Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Mon, 4 Jul 2022 04:07:03 +0530 Subject: [PATCH 05/77] GH-5: Codacy violations --- .../java/exercism/utils/Lasagna.java | 16 ++++++++-------- quality/ruleset.xml | 15 +++++++++++++++ 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/utils/Lasagna.java b/exercism/src/test/java/io/sampadadubey/java/exercism/utils/Lasagna.java index 2212c95..94b3c99 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/utils/Lasagna.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/utils/Lasagna.java @@ -10,24 +10,24 @@ public String getTargetClassName() { public int expectedMinutesInOven() { try { return invokeMethod("expectedMinutesInOven", new Class[] {}); - } catch (Exception e) { - throw new UnsupportedOperationException("Please implement the expectedMinutesInOven() method"); + } catch (final Exception e) { + throw new UnsupportedOperationException("Please implement the expectedMinutesInOven() method", e); } } public int remainingMinutesInOven(final int actualMinutes) { try { return invokeMethod("remainingMinutesInOven", new Class[] { int.class }, actualMinutes); - } catch (Exception e) { - throw new UnsupportedOperationException("Please implement the remainingMinutesInOven(int) method"); + } catch (final Exception e) { + throw new UnsupportedOperationException("Please implement the remainingMinutesInOven(int) method", e); } } public int preparationTimeInMinutes(final int amountLayers) { try { return invokeMethod("preparationTimeInMinutes", new Class[] { int.class }, amountLayers); - } catch (Exception e) { - throw new UnsupportedOperationException("Please implement the preparationTimeInMinutes(int) method"); + } catch (final Exception e) { + throw new UnsupportedOperationException("Please implement the preparationTimeInMinutes(int) method", e); } } @@ -35,8 +35,8 @@ public int totalTimeInMinutes(final int amountLayers, int actualMinutes) { try { return invokeMethod("totalTimeInMinutes", new Class[] { int.class, int.class }, amountLayers, actualMinutes); - } catch (Exception e) { - throw new UnsupportedOperationException("Please implement the totalTimeInMinutes(int, int) method"); + } catch (final Exception e) { + throw new UnsupportedOperationException("Please implement the totalTimeInMinutes(int, int) method", e); } } } diff --git a/quality/ruleset.xml b/quality/ruleset.xml index 16407f6..2436ade 100644 --- a/quality/ruleset.xml +++ b/quality/ruleset.xml @@ -49,6 +49,21 @@ + + + + + + + + + + + + + + + From c13d0f7aa2bc8cad79e1944c19c570ea8054e7b4 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Mon, 4 Jul 2022 05:54:33 +0530 Subject: [PATCH 06/77] GH-5: Exercism-Java: Play Your Cards --- .../sampadadubey/java/exercism/BlackJack.java | 153 +++++++++ .../java/exercism/BlackJackTest.java | 292 ++++++++++++++++++ 2 files changed, 445 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/BlackJack.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/BlackJackTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/BlackJack.java b/exercism/src/main/java/io/sampadadubey/java/exercism/BlackJack.java new file mode 100644 index 0000000..dd5ee29 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/BlackJack.java @@ -0,0 +1,153 @@ +package io.sampadadubey.java.exercism; + +import java.util.HashSet; +import java.util.Set; + +public class BlackJack { + + static final int BLACKJACK = 21; + + static final Set HIGH_VALUE_CARDS = new HashSet() { + { + add(Card.ACE.getValue()); + add(Card.TEN.getValue()); + add(Card.JACK.getValue()); + add(Card.QUEEN.getValue()); + add(Card.KING.getValue()); + } + }; + + public int parseCard(final String card) { + return Card.get(card).getValue(); + } + + public boolean isBlackjack(final String card1, final String card2) { + return parseCard(card1) + parseCard(card2) == BLACKJACK; + } + + public String largeHand(final boolean isBlackjack, final int dealerScore) { + + final Decision decision; + + if (isBlackjack) { + if (!HIGH_VALUE_CARDS.contains(dealerScore)) { + decision = Decision.WIN; + } else { + decision = Decision.STAND; + } + } else { + // It's not Blackjack, and large-hand scenario (player-score -> 22) + decision = Decision.SPLIT; + } + + return decision.getCode(); + } + + public String smallHand(final int handScore, final int dealerScore) { + + final Decision decision; + + if (handScore >= 17) { + decision = Decision.STAND; + } else if (handScore <= 11) { + decision = Decision.HIT; + } else { + if (dealerScore >= 7) { + decision = Decision.HIT; + } else { + decision = Decision.STAND; + } + } + + return decision.getCode(); + } + + // FirstTurn returns the semi-optimal decision for the first turn, given the + // cards of the player and the dealer. + // This function is already implemented and does not need to be edited. It pulls + // the other functions together in a + // complete decision tree for the first turn. + public String firstTurn(final String card1, final String card2, final String dealerCard) { + int handScore = parseCard(card1) + parseCard(card2); + int dealerScore = parseCard(dealerCard); + + if (20 < handScore) { + return largeHand(isBlackjack(card1, card2), dealerScore); + } else { + return smallHand(handScore, dealerScore); + } + } +} + +enum Card { + + ACE(11), + + TWO(2), + + THREE(3), + + FOUR(4), + + FIVE(5), + + SIX(6), + + SEVEN(7), + + EIGHT(8), + + NINE(9), + + TEN(10), + + JACK(10), + + QUEEN(10), + + KING(10), + + UNKNOWN(0); + + private int value; + + static Card get(final String cardValueToParse) { + + for (final Card card : Card.values()) { + if (card.name().equalsIgnoreCase(cardValueToParse)) { + return card; + } + } + + return Card.UNKNOWN; + } + + private Card(final int value) { + this.value = value; + } + + public int getValue() { + return value; + } +} + +enum Decision { + + STAND("S"), + + HIT("H"), + + SPLIT("P"), + + WIN("W"); + + private String code; + + private Decision(final String code) { + this.code = code; + } + + public String getCode() { + return code; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/BlackJackTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/BlackJackTest.java new file mode 100644 index 0000000..fe64ae5 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/BlackJackTest.java @@ -0,0 +1,292 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +class BlackJackTest { + + private BlackJack fixture; + + @BeforeEach + void setUp() { + fixture = new BlackJack(); + } + + @Test + void correctParsesAce() { + assertThat(fixture.parseCard("ace")).isEqualTo(11); + } + + @Test + void correctParsesTwo() { + assertThat(fixture.parseCard("two")).isEqualTo(2); + } + + @Test + void correctParsesThree() { + assertThat(fixture.parseCard("three")).isEqualTo(3); + } + + @Test + void correctParsesFour() { + assertThat(fixture.parseCard("four")).isEqualTo(4); + } + + @Test + void correctParsesFive() { + assertThat(fixture.parseCard("five")).isEqualTo(5); + } + + @Test + void correctParsesSix() { + assertThat(fixture.parseCard("six")).isEqualTo(6); + } + + @Test + void correctParsesSeven() { + assertThat(fixture.parseCard("seven")).isEqualTo(7); + } + + @Test + void correctParsesEight() { + assertThat(fixture.parseCard("eight")).isEqualTo(8); + } + + @Test + void correctParsesNine() { + assertThat(fixture.parseCard("nine")).isEqualTo(9); + } + + @Test + void correctParsesTen() { + assertThat(fixture.parseCard("ten")).isEqualTo(10); + } + + @Test + void correctParsesJack() { + assertThat(fixture.parseCard("jack")).isEqualTo(10); + } + + @Test + void correctParsesQueen() { + assertThat(fixture.parseCard("queen")).isEqualTo(10); + } + + @Test + void correctParsesKing() { + assertThat(fixture.parseCard("king")).isEqualTo(10); + } + + @Test + void blackjackWithTenAceSecond() { + assertThat(fixture.isBlackjack("ten", "ace")).isEqualTo(true); + } + + @Test + void blackjackWithJackAceSecond() { + assertThat(fixture.isBlackjack("jack", "ace")).isEqualTo(true); + } + + @Test + void blackjackWithQueenAceSecond() { + assertThat(fixture.isBlackjack("queen", "ace")).isEqualTo(true); + } + + @Test + void blackjackWithKingAceSecond() { + assertThat(fixture.isBlackjack("king", "ace")).isEqualTo(true); + } + + @Test + void noBlackjackWithFive() { + assertThat(fixture.isBlackjack("ace", "five")).isEqualTo(false); + } + + @Test + void noBlackjackWithNine() { + assertThat(fixture.isBlackjack("ace", "nine")).isEqualTo(false); + } + + @Test + void noBlackjackWithTwoAces() { + assertThat(fixture.isBlackjack("ace", "ace")).isEqualTo(false); + } + + @Test + void noBlackjackWithTwoFigures() { + assertThat(fixture.isBlackjack("queen", "jack")).isEqualTo(false); + } + + @Test + void noBlackjackWithKingAndFive() { + assertThat(fixture.isBlackjack("king", "five")).isEqualTo(false); + } + + @Test + void noBlackjackWithEightAndFive() { + assertThat(fixture.isBlackjack("eight", "five")).isEqualTo(false); + } + + @Test + void firstTurnWithAceAceAndDealerAce() { + assertThat(fixture.firstTurn("ace", "ace", "ace")).isEqualTo("P"); + } + + @Test + void firstTurnWithJackJackAndDealerAce() { + assertThat(fixture.firstTurn("jack", "jack", "ace")).isEqualTo("S"); + } + + @Test + void firstTurnWithKingKingAndDealerAce() { + assertThat(fixture.firstTurn("king", "king", "ace")).isEqualTo("S"); + } + + @Test + void firstTurnWithTwoTwoAndDealerAce() { + assertThat(fixture.firstTurn("two", "two", "ace")).isEqualTo("H"); + } + + @Test + void firstTurnWithFiveFiveAndAce() { + assertThat(fixture.firstTurn("five", "five", "ace")).isEqualTo("H"); + } + + @Test + void firstTurnWithJackAceAndDealerAce() { + assertThat(fixture.firstTurn("jack", "ace", "ace")).isEqualTo("S"); + } + + @Test + void firstTurnWithAceKingAndDealerQueen() { + assertThat(fixture.firstTurn("ace", "king", "queen")).isEqualTo("S"); + } + + @Test + void firstTurnWithTenAceAndDealerFive() { + assertThat(fixture.firstTurn("ten", "ace", "five")).isEqualTo("W"); + } + + @Test + void firstTurnWithKingAceAndDealerNine() { + assertThat(fixture.firstTurn("king", "ace", "nine")).isEqualTo("W"); + } + + @Test + void firstTurnWithKingTenAndDealerAce() { + assertThat(fixture.firstTurn("king", "ten", "ace")).isEqualTo("S"); + } + + @Test + void firstTurnWithNineTenAndDealerAce() { + assertThat(fixture.firstTurn("nine", "ten", "ace")).isEqualTo("S"); + } + + @Test + void firstTurnWithEightTenAndDealerAce() { + assertThat(fixture.firstTurn("eight", "ten", "ace")).isEqualTo("S"); + } + + @Test + void firstTurnWithKingSevenAndDealerAce() { + assertThat(fixture.firstTurn("king", "seven", "ace")).isEqualTo("S"); + } + + @Test + void firstTurnWithSixTenAndDealerSix() { + assertThat(fixture.firstTurn("six", "ten", "six")).isEqualTo("S"); + } + + @Test + void firstTurnWithSixTenAndDealerSeven() { + assertThat(fixture.firstTurn("six", "ten", "seven")).isEqualTo("H"); + } + + @Test + void firstTurnWithSixTenAndDealerAce() { + assertThat(fixture.firstTurn("six", "ten", "ace")).isEqualTo("H"); + } + + @Test + void firstTurnWithFiveTenAndDealerSix() { + assertThat(fixture.firstTurn("five", "ten", "six")).isEqualTo("S"); + } + + @Test + void firstTurnWithFiveTenAndDealerSeven() { + assertThat(fixture.firstTurn("five", "ten", "seven")).isEqualTo("H"); + } + + @Test + void firstTurnWithFiveTenAndDealerKing() { + assertThat(fixture.firstTurn("five", "ten", "king")).isEqualTo("H"); + } + + @Test + void firstTurnWithFourTenAndDealerSix() { + assertThat(fixture.firstTurn("four", "ten", "six")).isEqualTo("S"); + } + + @Test + void firstTurnWithFourTenAndDealerSeven() { + assertThat(fixture.firstTurn("four", "ten", "seven")).isEqualTo("H"); + } + + @Test + void firstTurnWithFourTenAndDealerQueen() { + assertThat(fixture.firstTurn("four", "ten", "queen")).isEqualTo("H"); + } + + @Test + void firstTurnWithThreeTenAndDealerSix() { + assertThat(fixture.firstTurn("three", "ten", "six")).isEqualTo("S"); + } + + @Test + void firstTurnWithThreeTenAndDealerSeven() { + assertThat(fixture.firstTurn("three", "ten", "seven")).isEqualTo("H"); + } + + @Test + void firstTurnWithThreeTenAndDealerQueen() { + assertThat(fixture.firstTurn("three", "ten", "queen")).isEqualTo("H"); + } + + @Test + void firstTurnWithTwoTenAndDealerSix() { + assertThat(fixture.firstTurn("two", "ten", "six")).isEqualTo("S"); + } + + @Test + void firstTurnWithTwoTenAndDealerSeven() { + assertThat(fixture.firstTurn("two", "ten", "seven")).isEqualTo("H"); + } + + @Test + void firstTurnWithTwoTenAndDealerQueen() { + assertThat(fixture.firstTurn("two", "ten", "queen")).isEqualTo("H"); + } + + @Test + void firstTurnWithTwoNineAndDealerQueen() { + assertThat(fixture.firstTurn("two", "nine", "queen")).isEqualTo("H"); + } + + @Test + void firstTurnWithTwoEightAndDealerTwo() { + assertThat(fixture.firstTurn("two", "eight", "two")).isEqualTo("H"); + } + + @Test + void firstTurnWithTwoThreeAndDealerQueen() { + assertThat(fixture.firstTurn("two", "three", "queen")).isEqualTo("H"); + } + + @Test + void firstTurnWithTwoTwoAndDealerFive() { + assertThat(fixture.firstTurn("two", "two", "five")).isEqualTo("H"); + } + +} From 1a8a970ca691c816e42aae7b46ce6bea8b6eb29b Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Mon, 4 Jul 2022 05:57:33 +0530 Subject: [PATCH 07/77] GH-5: Exercism-Java: Bird Watcher --- .../java/exercism/BirdWatcher.java | 95 +++++++++++++++++++ .../java/exercism/BirdWatcherTest.java | 84 ++++++++++++++++ 2 files changed, 179 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/BirdWatcher.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/BirdWatcherTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/BirdWatcher.java b/exercism/src/main/java/io/sampadadubey/java/exercism/BirdWatcher.java new file mode 100644 index 0000000..5d77340 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/BirdWatcher.java @@ -0,0 +1,95 @@ +package io.sampadadubey.java.exercism; + +class BirdWatcher { + + static final int DAYS_IN_WEEK = 7; + + static final int BUSY_DAY_MIN_COUNT = 5; + + private final int[] birdsPerDay; + + public BirdWatcher(final int[] birdsPerDay) { + this.birdsPerDay = birdsPerDay.clone(); + } + + public int[] getLastWeek() { + + final int dayCount = birdsPerDay.length; + + final int[] lastWeekBirdsPerDay; + + if (dayCount <= DAYS_IN_WEEK) { + lastWeekBirdsPerDay = birdsPerDay.clone(); + } else { + + final int multiplier = (dayCount - 1) / DAYS_IN_WEEK; + + int lastWeekStartIndex = (DAYS_IN_WEEK * multiplier); + + lastWeekBirdsPerDay = new int[dayCount - lastWeekStartIndex]; + + int currentIndex = lastWeekStartIndex; + + while (currentIndex < dayCount) { + final int offset = currentIndex - lastWeekStartIndex; + lastWeekBirdsPerDay[offset] = birdsPerDay[currentIndex]; + currentIndex++; + } + } + + return lastWeekBirdsPerDay; + } + + public int getToday() { + final int dayCount = birdsPerDay.length; + return 0 != dayCount ? birdsPerDay[dayCount - 1] : 0; + } + + public void incrementTodaysCount() { + birdsPerDay[birdsPerDay.length - 1]++; + } + + public boolean hasDayWithoutBirds() { + + final int dayCount = birdsPerDay.length; + + boolean dayWithoutBirds = false; + + for (int dayIndex = 0; dayIndex < dayCount; dayIndex++) { + if (0 == birdsPerDay[dayIndex]) { + dayWithoutBirds = true; + break; + } + } + + return dayWithoutBirds; + } + + public int getCountForFirstDays(final int numberOfDays) { + + final int[] lastWeekBirdsPerDay = getLastWeek(); + + int totalBirds = 0; + + for (int index = 0; index < lastWeekBirdsPerDay.length && index < numberOfDays; index++) { + totalBirds = totalBirds + lastWeekBirdsPerDay[index]; + } + + return totalBirds; + } + + public int getBusyDays() { + + final int dayCount = birdsPerDay.length; + + int totalBusyDays = 0; + + for (int dayIndex = 0; dayIndex < dayCount; dayIndex++) { + if (birdsPerDay[dayIndex] >= BUSY_DAY_MIN_COUNT) { + totalBusyDays++; + } + } + + return totalBusyDays; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/BirdWatcherTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/BirdWatcherTest.java new file mode 100644 index 0000000..8b361f1 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/BirdWatcherTest.java @@ -0,0 +1,84 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.*; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +class BirdWatcherTest { + + private static final int DAY1 = 0; + private static final int DAY2 = 2; + private static final int DAY3 = 5; + private static final int DAY4 = 3; + private static final int DAY5 = 7; + private static final int DAY6 = 8; + private static final int TODAY = 4; + + private BirdWatcher fixture; + + private int lastWeek[] = { DAY1, DAY2, DAY3, DAY4, DAY5, DAY6, TODAY }; + + @BeforeEach + void setUp() { + fixture = new BirdWatcher(lastWeek); + } + + @Test + void itTestGetLastWeek() { + assertThat(fixture.getLastWeek()) + .containsExactly(DAY1, DAY2, DAY3, DAY4, DAY5, DAY6, TODAY); + } + + @Test + void itTestGetToday() { + assertThat(fixture.getToday()).isEqualTo(TODAY); + } + + @Test + void itShouldReturnZeroIfBirdWatcherLastWeekIsEmpty() { + int[] lastWeekEmpty = new int[0]; + fixture = new BirdWatcher(lastWeekEmpty); + assertThat(fixture.getToday()).isEqualTo(0); + } + + @Test + void itIncrementTodaysCount() { + fixture.incrementTodaysCount(); + assertThat(fixture.getToday()).isEqualTo(TODAY + 1); + } + + @Test + void itHasDayWithoutBirds() { + assertThat(fixture.hasDayWithoutBirds()).isTrue(); + } + + @Test + void itShouldNotHaveDaysWithoutBirds() { + fixture = new BirdWatcher(new int[] { 1, 2, 5, 3, 7, 8, 4 }); + assertThat(fixture.hasDayWithoutBirds()).isFalse(); + } + + @Test + void itTestGetCountForFirstDays() { + assertThat(fixture.getCountForFirstDays(4)).isEqualTo(DAY1 + DAY2 + DAY3 + DAY4); + } + + @Test + void itTestGetCountForMoreDaysThanTheArraySize() { + assertThat(fixture.getCountForFirstDays(10)) + .isEqualTo(DAY1 + DAY2 + DAY3 + DAY4 + DAY5 + DAY6 + TODAY); + } + + @Test + void itTestGetCountForBusyDays() { + // DAY3, DAY5 and DAY6 are all >= 5 birds + assertThat(fixture.getBusyDays()).isEqualTo(3); + } + + @Test + void itShouldNotHaveBusyDays() { + fixture = new BirdWatcher(new int[] { 1, 2, 3, 3, 2, 1, 4 }); + assertThat(fixture.getBusyDays()).isEqualTo(0); + } +} From d9a950a063da095659a1c5d74b1db6b6b87446bf Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Sun, 10 Jul 2022 16:39:20 +0530 Subject: [PATCH 08/77] GH-5: Exercism-Java: CarsAssemble --- .../java/exercism/CarsAssemble.java | 40 ++++++++++ .../java/exercism/CarsAssembleTest.java | 76 +++++++++++++++++++ 2 files changed, 116 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/CarsAssemble.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/CarsAssembleTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/CarsAssemble.java b/exercism/src/main/java/io/sampadadubey/java/exercism/CarsAssemble.java new file mode 100644 index 0000000..c23fe41 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/CarsAssemble.java @@ -0,0 +1,40 @@ +package io.sampadadubey.java.exercism; + +import java.math.BigDecimal; +import java.math.RoundingMode; + +public class CarsAssemble { + + static final int CARS_PER_HOUR = 221; + + static final int MINUTES_PER_HOUR = 60; + + public double productionRatePerHour(final int speed) { + final BigDecimal totalCars = BigDecimal.valueOf(CARS_PER_HOUR * speed); + return BigDecimal.valueOf(getSuccessRate(speed)).multiply(totalCars).doubleValue(); + } + + public int workingItemsPerMinute(final int speed) { + final BigDecimal workingItemsPerHour = BigDecimal.valueOf(productionRatePerHour(speed)); + return workingItemsPerHour.divide(BigDecimal.valueOf(MINUTES_PER_HOUR), RoundingMode.FLOOR).intValue(); + } + + private double getSuccessRate(final int speed) { + + final double successRate; + + if (speed <= 0) { + successRate = 0.0; + } else if (speed <= 4) { + successRate = 1.0; + } else if (speed <= 8) { + successRate = 0.9; + } else if (speed == 9) { + successRate = 0.8; + } else { + successRate = 0.77; + } + + return successRate; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/CarsAssembleTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/CarsAssembleTest.java new file mode 100644 index 0000000..9a6167d --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/CarsAssembleTest.java @@ -0,0 +1,76 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.*; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +class CarsAssembleTest { + + private CarsAssemble carsAssemble; + + @BeforeEach + void setUp() { + carsAssemble = new CarsAssemble(); + } + + @Test + void productionRatePerHourForSpeedZero() { + assertThat(carsAssemble.productionRatePerHour(0)).isEqualTo(0.0); + } + + @Test + void productionRatePerHourForSpeedOne() { + assertThat(carsAssemble.productionRatePerHour(1)).isEqualTo(221.0); + } + + @Test + void productionRatePerHourForSpeedFour() { + assertThat(carsAssemble.productionRatePerHour(4)).isEqualTo(884.0); + } + + @Test + void productionRatePerHourForSpeedSeven() { + assertThat(carsAssemble.productionRatePerHour(7)).isEqualTo(1392.3); + } + + @Test + void productionRatePerHourForSpeedNine() { + assertThat(carsAssemble.productionRatePerHour(9)).isEqualTo(1591.2); + } + + @Test + void productionRatePerHourForSpeedTen() { + assertThat(carsAssemble.productionRatePerHour(10)).isEqualTo(1701.7); + } + + @Test + void workingItemsPerMinuteForSpeedZero() { + assertThat(carsAssemble.workingItemsPerMinute(0)).isEqualTo(0); + } + + @Test + void workingItemsPerMinuteForSpeedOne() { + assertThat(carsAssemble.workingItemsPerMinute(1)).isEqualTo(3); + } + + @Test + void workingItemsPerMinuteForSpeedFive() { + assertThat(carsAssemble.workingItemsPerMinute(5)).isEqualTo(16); + } + + @Test + void workingItemsPerMinuteForSpeedEight() { + assertThat(carsAssemble.workingItemsPerMinute(8)).isEqualTo(26); + } + + @Test + void workingItemsPerMinuteForSpeedNine() { + assertThat(carsAssemble.workingItemsPerMinute(9)).isEqualTo(26); + } + + @Test + void workingItemsPerMinuteForSpeedTen() { + assertThat(carsAssemble.workingItemsPerMinute(10)).isEqualTo(28); + } +} From 86937f9b409c9de00d444bea122e7809c5454550 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Sun, 10 Jul 2022 17:18:19 +0530 Subject: [PATCH 09/77] GH-5: Exercism-Java: LogLevels --- .../sampadadubey/java/exercism/LogLevels.java | 29 ++++++++ .../java/exercism/LogLevelsTest.java | 67 +++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/LogLevels.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/LogLevelsTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/LogLevels.java b/exercism/src/main/java/io/sampadadubey/java/exercism/LogLevels.java new file mode 100644 index 0000000..e7e29ae --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/LogLevels.java @@ -0,0 +1,29 @@ +package io.sampadadubey.java.exercism; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class LogLevels { + + static Pattern LOG_PATTERN = Pattern.compile("\\[([A-Z]+)\\]:(.*)", Pattern.DOTALL); + + static final int MATCHER_GROUP_LOG_LEVEL = 1; + + static final int MATCHER_GROUP_LOG_MESSAGE = 2; + + public static String message(final String logLine) { + final Matcher matcher = LOG_PATTERN.matcher(logLine); + return matcher.matches() ? matcher.group(MATCHER_GROUP_LOG_MESSAGE).trim() : ""; + } + + public static String logLevel(final String logLine) { + final Matcher matcher = LOG_PATTERN.matcher(logLine); + return matcher.matches() ? matcher.group(MATCHER_GROUP_LOG_LEVEL).trim().toLowerCase() : ""; + } + + public static String reformat(final String logLine) { + final String logLevel = logLevel(logLine); + final String message = message(logLine); + return String.format("%s (%s)", message, logLevel); + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/LogLevelsTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/LogLevelsTest.java new file mode 100644 index 0000000..ad17447 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/LogLevelsTest.java @@ -0,0 +1,67 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.*; + +import org.junit.jupiter.api.Test; + +class LogLevelsTest { + + @Test + void error_message() { + assertThat(LogLevels.message("[ERROR]: Stack overflow")).isEqualTo("Stack overflow"); + } + + @Test + void warning_message() { + assertThat(LogLevels.message("[WARNING]: Disk almost full")).isEqualTo("Disk almost full"); + } + + @Test + void info_message() { + assertThat(LogLevels.message("[INFO]: File moved")).isEqualTo("File moved"); + } + + @Test + void message_with_leading_and_trailing_white_space() { + assertThat(LogLevels.message("[WARNING]: \tTimezone not set \r\n")).isEqualTo("Timezone not set"); + } + + @Test + void error_log_level() { + assertThat(LogLevels.logLevel("[ERROR]: Disk full")).isEqualTo("error"); + } + + @Test + void warning_log_level() { + assertThat(LogLevels.logLevel("[WARNING]: Unsafe password")).isEqualTo("warning"); + } + + @Test + void info_log_level() { + assertThat(LogLevels.logLevel("[INFO]: Timezone changed")).isEqualTo("info"); + } + + @Test + void error_reformat() { + assertThat(LogLevels.reformat("[ERROR]: Segmentation fault")) + .isEqualTo("Segmentation fault (error)"); + } + + @Test + void warning_reformat() { + assertThat(LogLevels.reformat("[WARNING]: Decreased performance")) + .isEqualTo("Decreased performance (warning)"); + } + + @Test + void info_reformat() { + assertThat(LogLevels.reformat("[INFO]: Disk defragmented")) + .isEqualTo("Disk defragmented (info)"); + } + + @Test + void reformat_with_leading_and_trailing_white_space() { + assertThat(LogLevels.reformat("[ERROR]: \t Corrupt disk\t \t \r\n")) + .isEqualTo("Corrupt disk (error)"); + } +} From e75cd38f887ba8e505aaa3b552d5e21fadc99814 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Tue, 12 Jul 2022 02:48:33 +0530 Subject: [PATCH 10/77] GH-5: Exercism-Java: LanguageList --- .../java/exercism/LanguageList.java | 48 ++++++ .../java/exercism/LanguageListTest.java | 141 ++++++++++++++++++ 2 files changed, 189 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/LanguageList.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/LanguageListTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/LanguageList.java b/exercism/src/main/java/io/sampadadubey/java/exercism/LanguageList.java new file mode 100644 index 0000000..69b4b0e --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/LanguageList.java @@ -0,0 +1,48 @@ +package io.sampadadubey.java.exercism; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class LanguageList { + + private final List languages = new ArrayList<>(); + + private final Set excitingLanguages = new HashSet() { + { + add("Java"); + add("Kotlin"); + } + }; + + public boolean isEmpty() { + return languages.isEmpty(); + } + + public void addLanguage(final String language) { + if (!containsLanguage(language)) { + languages.add(language); + } + } + + public void removeLanguage(final String language) { + languages.remove(language); + } + + public String firstLanguage() { + return !isEmpty() ? languages.get(0) : null; + } + + public int count() { + return languages.size(); + } + + public boolean containsLanguage(final String language) { + return languages.contains(language); + } + + public boolean isExciting() { + return languages.stream().anyMatch(excitingLanguages::contains); + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/LanguageListTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/LanguageListTest.java new file mode 100644 index 0000000..74c0c7d --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/LanguageListTest.java @@ -0,0 +1,141 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +class LanguageListTest { + + static final String JAVA = "Java"; + + static final String PYTHON = "Python"; + + static final String KOTLIN = "Kotlin"; + + static final String RUBY = "Ruby"; + + static final String CPP = "C++"; + + private LanguageList languageList; + + @BeforeEach + void setUp() { + languageList = new LanguageList(); + } + + @Test + void empty() { + assertThat(languageList.isEmpty()).isTrue(); + } + + @Test + void nonEmpty() { + languageList.addLanguage(JAVA); + + assertThat(languageList.isEmpty()).isFalse(); + } + + @Test + void addOneLanguage() { + languageList.addLanguage(JAVA); + + assertThat(languageList.containsLanguage(JAVA)).isTrue(); + assertThat(languageList.containsLanguage(PYTHON)).isFalse(); + } + + @Test + void doesNotAddLanguageWhenLanguageAlreadyExists() { + + languageList.addLanguage(JAVA); + languageList.addLanguage(JAVA); + + assertThat(languageList.containsLanguage(JAVA)).isTrue(); + assertThat(languageList.count()).isEqualTo(1); + } + + @Test + void doesNotAddDuplicateLanguage() { + languageList.addLanguage(JAVA); + + assertThat(languageList.containsLanguage(JAVA)).isTrue(); + assertThat(languageList.containsLanguage(PYTHON)).isFalse(); + } + + @Test + void addMultipleLanguages() { + languageList.addLanguage(JAVA); + languageList.addLanguage(RUBY); + languageList.addLanguage(CPP); + + assertThat(languageList.containsLanguage(JAVA)).isTrue(); + assertThat(languageList.containsLanguage(RUBY)).isTrue(); + assertThat(languageList.containsLanguage(CPP)).isTrue(); + assertThat(languageList.containsLanguage(PYTHON)).isFalse(); + } + + @Test + void removeLanguage() { + languageList.addLanguage(JAVA); + languageList.addLanguage(PYTHON); + languageList.addLanguage(RUBY); + + languageList.removeLanguage(PYTHON); + + assertThat(languageList.containsLanguage(JAVA)).isTrue(); + assertThat(languageList.containsLanguage(PYTHON)).isFalse(); + assertThat(languageList.containsLanguage(RUBY)).isTrue(); + } + + @Test + void firstLanguage() { + languageList.addLanguage(JAVA); + languageList.addLanguage(PYTHON); + languageList.addLanguage(RUBY); + + assertThat(languageList.firstLanguage()).isEqualTo(JAVA); + } + + @Test + void firstLanguageReturnsNullWhenEmptyList() { + assertThat(languageList.firstLanguage()).isNull(); + } + + @Test + void countThree() { + languageList.addLanguage(JAVA); + languageList.addLanguage(PYTHON); + languageList.addLanguage(RUBY); + + assertThat(languageList.count()).isEqualTo(3); + } + + @Test + void countEmpty() { + assertThat(languageList.count()).isEqualTo(0); + } + + @Test + void excitingLanguageListWithJava() { + languageList.addLanguage(JAVA); + + assertThat(languageList.isExciting()).isTrue(); + } + + @Test + void excitingLanguageListWithKotlin() { + languageList.addLanguage(PYTHON); + languageList.addLanguage(KOTLIN); + + assertThat(languageList.isExciting()).isTrue(); + } + + @Test + void boringLanguageList() { + languageList.addLanguage(PYTHON); + languageList.addLanguage(RUBY); + languageList.addLanguage(CPP); + + assertThat(languageList.isExciting()).isFalse(); + } +} From 3668a19c0ac228e63f105c885e912a406add6cd6 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Wed, 13 Jul 2022 02:52:19 +0530 Subject: [PATCH 11/77] GH-5: Exercism-Java: SqueakyClean --- .../java/exercism/SqueakyClean.java | 52 +++++++++++++ .../java/exercism/SqueakyCleanTest.java | 74 +++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/SqueakyClean.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/SqueakyCleanTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/SqueakyClean.java b/exercism/src/main/java/io/sampadadubey/java/exercism/SqueakyClean.java new file mode 100644 index 0000000..3864c48 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/SqueakyClean.java @@ -0,0 +1,52 @@ +package io.sampadadubey.java.exercism; + +public class SqueakyClean { + + static String clean(final String identifier) { + + String allSpacesReplaced = identifier.replaceAll(" ", "_"); + String allSpaceAndNumbersReplaced = allSpacesReplaced.replaceAll("[0-9]", ""); + + final int length = allSpaceAndNumbersReplaced.length(); + + final StringBuilder result = new StringBuilder(); + + for (int index = 0; index < length; index++) { + + final char value = allSpaceAndNumbersReplaced.charAt(index); + + System.out.println(String.format("Char[%s] -> %d", value, (int) value)); + + if (isControlCharacter(value)) { + result.append("CTRL"); + } else if (isGreekCharacter(value)) { + continue; + } else if (isHyphen(value) && (index + 1 != length)) { + index++; + result.append(Character.toUpperCase(allSpaceAndNumbersReplaced.charAt(index))); + } else if (isEmoji(value)) { + continue; + } else { + result.append(value); + } + } + + return result.toString(); + } + + static boolean isControlCharacter(final char value) { + return value <= 37 || value == 127; + } + + static boolean isGreekCharacter(final char value) { + return 945 <= value && value <= 969; + } + + static boolean isHyphen(final char value) { + return value == '-'; + } + + static boolean isEmoji(final char value) { + return value >= 8032; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/SqueakyCleanTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/SqueakyCleanTest.java new file mode 100644 index 0000000..43879e5 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/SqueakyCleanTest.java @@ -0,0 +1,74 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.Test; + +class SqueakyCleanTest { + + @Test + void empty() { + new SqueakyClean(); + assertThat(SqueakyClean.clean("")).isEmpty(); + } + + @Test + void single_letter() { + assertThat(SqueakyClean.clean("A")).isEqualTo("A"); + } + + @Test + void string() { + assertThat(SqueakyClean.clean("àḃç")).isEqualTo("àḃç"); + } + + @Test + void spaces() { + assertThat(SqueakyClean.clean("my Id")).isEqualTo("my___Id"); + } + + @Test + void leading_and_trailing_spaces() { + assertThat(SqueakyClean.clean(" myId ")).isEqualTo("_myId_"); + } + + @Test + void ctrl() { + assertThat(SqueakyClean.clean("my\0\r\u007FId")).isEqualTo("myCTRLCTRLCTRLId"); + } + + @Test + void string_with_no_letters() { + assertThat(SqueakyClean.clean("\uD83D\uDE00\uD83D\uDE00\uD83D\uDE00")).isEmpty(); + } + + @Test + void keep_only_letters() { + assertThat(SqueakyClean.clean("a1\uD83D\uDE002\uD83D\uDE003\uD83D\uDE00b")).isEqualTo("ab"); + } + + @Test + void kebab_to_camel_case() { + assertThat(SqueakyClean.clean("à-ḃç")).isEqualTo("àḂç"); + } + + @Test + void kebab_to_camel_case_no_letter() { + assertThat(SqueakyClean.clean("a-1C")).isEqualTo("aC"); + } + + @Test + void omit_lower_case_greek_letters() { + assertThat(SqueakyClean.clean("MyΟβιεγτFinder")).isEqualTo("MyΟFinder"); + } + + @Test + void combine_conversions() { + assertThat(SqueakyClean.clean("9 -abcĐ\uD83D\uDE00ω\0")).isEqualTo("_AbcĐCTRL"); + } + + @Test + void kebab_to_camel_case_hyphen_at_the_end() { + assertThat(SqueakyClean.clean("a-")).isEqualTo("a-"); + } +} From 9afcbf800f44f673756ac733a9fdb9b172dc4fcc Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Wed, 13 Jul 2022 02:53:18 +0530 Subject: [PATCH 12/77] GH-5: Exercism-Java: TwoFer --- .../io/sampadadubey/java/exercism/TwoFer.java | 15 ++++++++ .../java/exercism/TwoFerTest.java | 34 +++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/TwoFer.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/TwoFerTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/TwoFer.java b/exercism/src/main/java/io/sampadadubey/java/exercism/TwoFer.java new file mode 100644 index 0000000..c9e4094 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/TwoFer.java @@ -0,0 +1,15 @@ +package io.sampadadubey.java.exercism; + +import java.util.Optional; + +public class TwoFer { + + static final String TEMPLATE_RESPONSE = "One for %s, one for me."; + + public String twofer(final String input) { + + final String name = Optional.ofNullable(input).orElseGet(() -> "you").trim(); + + return String.format(TEMPLATE_RESPONSE, name); + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/TwoFerTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/TwoFerTest.java new file mode 100644 index 0000000..e269a89 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/TwoFerTest.java @@ -0,0 +1,34 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +class TwoFerTest { + + private TwoFer twofer; + + @BeforeEach + void setup() { + twofer = new TwoFer(); + } + + @Test + void noNameGiven() { + assertThat(twofer.twofer(null)) + .isEqualTo("One for you, one for me."); + } + + @Test + void aNameGiven() { + assertThat(twofer.twofer("Alice")) + .isEqualTo("One for Alice, one for me."); + } + + @Test + void anotherNameGiven() { + assertThat(twofer.twofer("Bob")) + .isEqualTo("One for Bob, one for me."); + } +} From 8ee07a3663592a3c0e9fcac26fac787d5e0d0894 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Wed, 13 Jul 2022 02:53:51 +0530 Subject: [PATCH 13/77] GH-5: Exercism-Java: Gigasecond --- .gitignore | 5 +- codingbat/target/jacoco.exec | Bin 31250 -> 0 bytes .../target/maven-archiver/pom.properties | 3 - .../compile/default-compile/createdFiles.lst | 48 ---------- .../compile/default-compile/inputFiles.lst | 48 ---------- .../default-testCompile/createdFiles.lst | 48 ---------- .../default-testCompile/inputFiles.lst | 48 ---------- codingbat/target/site/jacoco/jacoco.xml | 1 - ....java.codingbat.warmup1.BackAroundTest.xml | 63 ------------- ...bey.java.codingbat.warmup1.Close10Test.xml | 63 ------------- ...ubey.java.codingbat.warmup1.DelDelTest.xml | 63 ------------- ...ubey.java.codingbat.warmup1.Diff21Test.xml | 63 ------------- ...dubey.java.codingbat.warmup1.EndUpTest.xml | 63 ------------- ...ey.java.codingbat.warmup1.EveryNthTest.xml | 63 ------------- ...bey.java.codingbat.warmup1.Front22Test.xml | 64 ------------- ...ubey.java.codingbat.warmup1.Front3Test.xml | 64 ------------- ...y.java.codingbat.warmup1.FrontBackTest.xml | 63 ------------- ...bey.java.codingbat.warmup1.HasTeenTest.xml | 75 ---------------- ...ubey.java.codingbat.warmup1.IcyHotTest.xml | 78 ---------------- ...ubey.java.codingbat.warmup1.In1020Test.xml | 69 -------------- ...ubey.java.codingbat.warmup1.In3050Test.xml | 80 ----------------- ...ubey.java.codingbat.warmup1.IntMaxTest.xml | 69 -------------- ...y.java.codingbat.warmup1.LastDigitTest.xml | 62 ------------- ...ey.java.codingbat.warmup1.LoneTeenTest.xml | 85 ------------------ ...bey.java.codingbat.warmup1.Makes10Test.xml | 64 ------------- ...bey.java.codingbat.warmup1.Max1020Test.xml | 85 ------------------ ...java.codingbat.warmup1.MissingCharTest.xml | 63 ------------- ...ey.java.codingbat.warmup1.MixStartTest.xml | 63 ------------- ...va.codingbat.warmup1.MonkeyTroubleTest.xml | 64 ------------- ...java.codingbat.warmup1.NearHundredTest.xml | 70 --------------- ...y.java.codingbat.warmup1.NotStringTest.xml | 62 ------------- ...adubey.java.codingbat.warmup1.Or35Test.xml | 64 ------------- ...va.codingbat.warmup1.ParrotTroubleTest.xml | 67 -------------- ...ubey.java.codingbat.warmup1.PosNegTest.xml | 68 -------------- ...bey.java.codingbat.warmup1.SleepInTest.xml | 64 ------------- ...bey.java.codingbat.warmup1.StartHiTest.xml | 62 ------------- ...bey.java.codingbat.warmup1.StartOzTest.xml | 66 -------------- ...bey.java.codingbat.warmup1.StringETest.xml | 66 -------------- ...y.java.codingbat.warmup1.SumDoubleTest.xml | 63 ------------- ...ey.java.codingbat.warmup2.AltPairsTest.xml | 66 -------------- ...ey.java.codingbat.warmup2.Array123Test.xml | 69 -------------- ...ey.java.codingbat.warmup2.Array667Test.xml | 72 --------------- ...java.codingbat.warmup2.ArrayCount9Test.xml | 67 -------------- ...java.codingbat.warmup2.ArrayFront9Test.xml | 67 -------------- ...bey.java.codingbat.warmup2.CountXxTest.xml | 66 -------------- ...bey.java.codingbat.warmup2.DoubleXTest.xml | 71 --------------- ....java.codingbat.warmup2.FrontTimesTest.xml | 65 -------------- ...ubey.java.codingbat.warmup2.Has271Test.xml | 67 -------------- ...dubey.java.codingbat.warmup2.Last2Test.xml | 66 -------------- ...y.java.codingbat.warmup2.NoTriplesTest.xml | 67 -------------- ....java.codingbat.warmup2.StringBitsTest.xml | 65 -------------- ...java.codingbat.warmup2.StringMatchTest.xml | 65 -------------- ...a.codingbat.warmup2.StringSplosionTest.xml | 65 -------------- ...java.codingbat.warmup2.StringTimesTest.xml | 63 ------------- ...bey.java.codingbat.warmup2.StringXTest.xml | 71 --------------- ...y.java.codingbat.warmup2.StringYakTest.xml | 68 -------------- ....java.codingbat.warmup1.BackAroundTest.txt | 4 - ...bey.java.codingbat.warmup1.Close10Test.txt | 4 - ...ubey.java.codingbat.warmup1.DelDelTest.txt | 4 - ...ubey.java.codingbat.warmup1.Diff21Test.txt | 4 - ...dubey.java.codingbat.warmup1.EndUpTest.txt | 4 - ...ey.java.codingbat.warmup1.EveryNthTest.txt | 4 - ...bey.java.codingbat.warmup1.Front22Test.txt | 4 - ...ubey.java.codingbat.warmup1.Front3Test.txt | 4 - ...y.java.codingbat.warmup1.FrontBackTest.txt | 4 - ...bey.java.codingbat.warmup1.HasTeenTest.txt | 4 - ...ubey.java.codingbat.warmup1.IcyHotTest.txt | 4 - ...ubey.java.codingbat.warmup1.In1020Test.txt | 4 - ...ubey.java.codingbat.warmup1.In3050Test.txt | 4 - ...ubey.java.codingbat.warmup1.IntMaxTest.txt | 4 - ...y.java.codingbat.warmup1.LastDigitTest.txt | 4 - ...ey.java.codingbat.warmup1.LoneTeenTest.txt | 4 - ...bey.java.codingbat.warmup1.Makes10Test.txt | 4 - ...bey.java.codingbat.warmup1.Max1020Test.txt | 4 - ...java.codingbat.warmup1.MissingCharTest.txt | 4 - ...ey.java.codingbat.warmup1.MixStartTest.txt | 4 - ...va.codingbat.warmup1.MonkeyTroubleTest.txt | 4 - ...java.codingbat.warmup1.NearHundredTest.txt | 4 - ...y.java.codingbat.warmup1.NotStringTest.txt | 4 - ...adubey.java.codingbat.warmup1.Or35Test.txt | 4 - ...va.codingbat.warmup1.ParrotTroubleTest.txt | 4 - ...ubey.java.codingbat.warmup1.PosNegTest.txt | 4 - ...bey.java.codingbat.warmup1.SleepInTest.txt | 4 - ...bey.java.codingbat.warmup1.StartHiTest.txt | 4 - ...bey.java.codingbat.warmup1.StartOzTest.txt | 4 - ...bey.java.codingbat.warmup1.StringETest.txt | 4 - ...y.java.codingbat.warmup1.SumDoubleTest.txt | 4 - ...ey.java.codingbat.warmup2.AltPairsTest.txt | 4 - ...ey.java.codingbat.warmup2.Array123Test.txt | 4 - ...ey.java.codingbat.warmup2.Array667Test.txt | 4 - ...java.codingbat.warmup2.ArrayCount9Test.txt | 4 - ...java.codingbat.warmup2.ArrayFront9Test.txt | 4 - ...bey.java.codingbat.warmup2.CountXxTest.txt | 4 - ...bey.java.codingbat.warmup2.DoubleXTest.txt | 4 - ....java.codingbat.warmup2.FrontTimesTest.txt | 4 - ...ubey.java.codingbat.warmup2.Has271Test.txt | 4 - ...dubey.java.codingbat.warmup2.Last2Test.txt | 4 - ...y.java.codingbat.warmup2.NoTriplesTest.txt | 4 - ....java.codingbat.warmup2.StringBitsTest.txt | 4 - ...java.codingbat.warmup2.StringMatchTest.txt | 4 - ...a.codingbat.warmup2.StringSplosionTest.txt | 4 - ...java.codingbat.warmup2.StringTimesTest.txt | 4 - ...bey.java.codingbat.warmup2.StringXTest.txt | 4 - ...y.java.codingbat.warmup2.StringYakTest.txt | 4 - common/target/jacoco.exec | Bin 24929 -> 0 bytes common/target/maven-archiver/pom.properties | 3 - .../compile/default-compile/createdFiles.lst | 2 - .../compile/default-compile/inputFiles.lst | 2 - .../default-testCompile/createdFiles.lst | 2 - .../default-testCompile/inputFiles.lst | 2 - common/target/site/jacoco/jacoco.xml | 1 - ...adubey.java.common.NumberConstantsTest.xml | 61 ------------- ...adubey.java.common.StringConstantsTest.xml | 61 ------------- ...adubey.java.common.NumberConstantsTest.txt | 4 - ...adubey.java.common.StringConstantsTest.txt | 4 - .../java/exercism/Gigasecond.java | 24 +++++ .../java/exercism/GigasecondTest.java | 52 +++++++++++ 117 files changed, 80 insertions(+), 3749 deletions(-) delete mode 100644 codingbat/target/jacoco.exec delete mode 100644 codingbat/target/maven-archiver/pom.properties delete mode 100644 codingbat/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst delete mode 100644 codingbat/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst delete mode 100644 codingbat/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst delete mode 100644 codingbat/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst delete mode 100644 codingbat/target/site/jacoco/jacoco.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.BackAroundTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Close10Test.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.DelDelTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Diff21Test.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.EndUpTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.EveryNthTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Front22Test.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Front3Test.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.FrontBackTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.HasTeenTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.IcyHotTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.In1020Test.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.In3050Test.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.IntMaxTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.LastDigitTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.LoneTeenTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Makes10Test.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Max1020Test.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.MissingCharTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.MixStartTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.MonkeyTroubleTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.NearHundredTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.NotStringTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Or35Test.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.ParrotTroubleTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.PosNegTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.SleepInTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.StartHiTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.StartOzTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.StringETest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.SumDoubleTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.AltPairsTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.Array123Test.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.Array667Test.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.ArrayCount9Test.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.ArrayFront9Test.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.CountXxTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.DoubleXTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.FrontTimesTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.Has271Test.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.Last2Test.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.NoTriplesTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringBitsTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringMatchTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringSplosionTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringTimesTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringXTest.xml delete mode 100644 codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringYakTest.xml delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.BackAroundTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Close10Test.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.DelDelTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Diff21Test.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.EndUpTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.EveryNthTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Front22Test.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Front3Test.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.FrontBackTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.HasTeenTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.IcyHotTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.In1020Test.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.In3050Test.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.IntMaxTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.LastDigitTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.LoneTeenTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Makes10Test.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Max1020Test.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.MissingCharTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.MixStartTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.MonkeyTroubleTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.NearHundredTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.NotStringTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Or35Test.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.ParrotTroubleTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.PosNegTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.SleepInTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.StartHiTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.StartOzTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.StringETest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.SumDoubleTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.AltPairsTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.Array123Test.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.Array667Test.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.ArrayCount9Test.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.ArrayFront9Test.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.CountXxTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.DoubleXTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.FrontTimesTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.Has271Test.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.Last2Test.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.NoTriplesTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringBitsTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringMatchTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringSplosionTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringTimesTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringXTest.txt delete mode 100644 codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringYakTest.txt delete mode 100644 common/target/jacoco.exec delete mode 100644 common/target/maven-archiver/pom.properties delete mode 100644 common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst delete mode 100644 common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst delete mode 100644 common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst delete mode 100644 common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst delete mode 100644 common/target/site/jacoco/jacoco.xml delete mode 100644 common/target/surefire-reports/TEST-io.sampadadubey.java.common.NumberConstantsTest.xml delete mode 100644 common/target/surefire-reports/TEST-io.sampadadubey.java.common.StringConstantsTest.xml delete mode 100644 common/target/surefire-reports/io.sampadadubey.java.common.NumberConstantsTest.txt delete mode 100644 common/target/surefire-reports/io.sampadadubey.java.common.StringConstantsTest.txt create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/Gigasecond.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/GigasecondTest.java diff --git a/.gitignore b/.gitignore index f5a28c3..99d6f39 100644 --- a/.gitignore +++ b/.gitignore @@ -68,8 +68,11 @@ hs_err_pid* **/.project **/.settings **/.classpath -**/target +**/target/* # VS code .vscode +# Project specific +common/target/** +codingbat/target/** diff --git a/codingbat/target/jacoco.exec b/codingbat/target/jacoco.exec deleted file mode 100644 index 7285976ad8fa5cd39986d6a7af5c70d7e861b01d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31250 zcmcIt2V7I<*S=u|5QUfGz>0w47Q=RwiYyfih=QZ;kX#@dl9(G%tO_`)R;{DjTD9(4 zTdTGGJ6i|Vx~-#Ht*hdw*4Db~0?c>b``&wV6OwrSf8Up1e-3PJ-f_-zp7WgZzL8Z_ z_{sgKK$TuihmX`38Ffl+c&>hIcuZ8BDq2OWDN0s8Ec&fP@_S-^wDQQ2GlK$BJ*h~& zF<&vVNT)F=3|gfrPj4(#(7Jq$j#j8Oj7ncj8%q?)S|!6|(^^_((i_p$ZWP*dO7`}| z*?-eiq(-k`l!XSRTB$C|rArhemBmU03`C>L&sCZfW0c0iB15Dih1SAUCw4zX1OzRX(k&({R7->bWUT>m}iX`^86q=!p8l_e8iffyl%Y+EzBHrP7Sn1xh?6p^tYhHIn$Jl};e65f z)z@Sh^#&dNB zNsbXV*~loh8L(9H@o4+!gFAF#9$cit*x@j+%chZFKCu59m^3zIMY0}N0zZqXFQ@#F z?9JvsPg-_JOT{~$0aKtf(rR`rj6$W=D6$KROltiYT~ED!6gwm@e+mr^pL%j}!2DxW zoWy0!&@c?xbuv7ix8%?*i>EAZDw9)v?W_ssNW86B94eLdFxYnDV14P)MPQViff~b- ziZog^ZLGWeO?0ZCDeBtWt%|9hmgn=P!#$qnEl$yk*c5rXV2H4OCVH$%c;P)>CPt zQEyZvvL6JdnTr3KY^3pk6c|$|16p|hW$64(=bKUC&Zor`0T3wq7U^LBi?pU81)>3= z(bME_Ru>=mn(BrhLV&u~{=*W1?DVfTaqH^k|1X(zRa?-o3?#YQ~O6Y)aS&)4-YXX(QQrHyLWRFK$T1 zPq#g(w;itt&8UnT12zpZ_ar4l!VrWt?q6D!HjSf3pdaVlEbhANgT_>hL`X_kGNu$w zzQ%<2-qVbp4y{>sEoSUoD#7t^c-T=G03>mYp&3OQlL-$XqhiCoJ3_icQ?5T~(N0YQ ztPM%9_G|D z3lp4)iJBAaONH!pMTa&vdo;55(mbl8Wo!-}nL_6&!Lj)#XVVZx^g8bouE=; z>O`GRZ(^N@jf$&f(~rMB{+a&x-bcru`%=EtvwQM{qi!hVWmlJv<2UahP-gQ$E(~D< zw2UbX`?vp{8do&y($*_E%D#bA2Z<(~ZBiOdy~ouvC!h|)E}eZReCl~;Y=uJx;3T7H zbrQ=K!{S_AQM}^h(A=4Kr%+LnJ~v8{Z8Ab|&rq6F1(+#K&tARlY<6I*cyELa=H|=? zNekxLqFvn-Kje0D%T=vAy;br^5{*V>Np~Z}?ap3i8QOZpbH*f}_#;&BSDISyA`|Q{ z4OClM0+X>}0zBM>asQh~Ji7QeqWWFq#%jC#<+VH`OmGq&q~-DGsk-i%#>u9$cBuik zh-8og8R7>C#NvmMiS0YJxp156WSO|*;HN31^+l!>E-1igfK0w2dnreOZsi}xj;WhV zYcP1mMur)oH`9MCpIr(orpspuRSs}bIwUO)%gWiNUXK%+7{wQygE%+tjCOB zuaj#~c-w_rs~V1Rmz-g-_7aV~5PQzAk9*ClTJl(Hcj1M7#s9a!6ZwUg`=LJ-xf>qe zjC(>wOY)saMTTZ9>$doT*m=(VF*@Yrt|$LcouocMuNy@}dY~@?YR6Ba(9~te{X?hc zQxTSp?HdMx3qiZ{{q|;~KkZKfUU@E%q#RjP3k~*5qe*Uh`SQlPo6Kp9?pYf(78cmu! zHel!JU1eyg=GUFv2q}MkdaJSDqM3vj+Fu(M6$B&b)eo>FixXjZ44omHGwu8yS%o=f zuh|?(QH>6{%h0%0jaIDLKTJzSNc65$ow}a^FA4U|XLT~=O#{=n6H;bBmFxEmv9V{JOsH?o)p?~n7;7%{F-7ZVv~pq z@(;x8VPRdZ&7~mmq3e$W!mg$6YWsf#eHgy}+5exoM&EqDh^)4KbH-@Fr;ni4=(RNP z3`3DA8Imh-eOC_@H!E^SsUrQdvrM1kbC4O(%0hx;9DvD7k?#sWkHfPDRZ_99^hh=y z6&b8}d|-lW1%-A!n{|3}(xlJDmTYS|JhQ8%@3F?LWJYnJUfvlEDJWbuZrjsMRH|b` zwEH+-6~o#gerzhM3i)a)%IJ(_WcKzIn z0;H)SSZMM{KpCj@##*yV)`K8# z1oc@5cmtrDUlPhH$7sZ=R{D;zlmxpbQJaLY^aHeF6x8qQw11E63=yw^Baab*6vwKd zAfckW_*Ij{9<4uF_gD1GOa;~dHT?xgSKj@?IR2edqEi-XRIK~3I;h?Vxa#JQhQIh~ z?v+oDxKSaFKc%}y3q-`Xl0r=a7d&e@d{8RUp>1NKm9J!JmAVLX&71eBJLuS%*_+>q zZt#sWP~_lDMCz;%$#XRdKX|`In+}D??0Ac?v)z>%EkGy}0~7#WK4^Ye`A^Yf=Y1*# z!z?t{DjtFmAI4_8K9B05LoG6mRkKqr+s*K;EF;TEs{}>9;~?+W2E+6m)UwIcDZ5(b zZb!K#78p6Jxt?H51K5Aq^`z;WC)aKfm9M>d{7db%RlPCtKo^Y3?uNQQD&V~>o0 zczZAFbmqJ9YWpIH;1_JYhD0xcIQE937%T&+Wxc#-@byKXf0BEATKY(SAC$1nhco`C`e!P2luH(xYY{iyFWW~EXbEo>vEph0su z&iXMQ^7KYXEMHcLJ#%uf_u_mR5^aad82*>cy6@1$f;y?_cTRCTZcv|z3&`&joOy2S#kXaoy=w* z>OND6p7j0g*f6wfKS37zz|T`LE9ez7^xn7fe5+k%RGUlH=%MRpyWXh2>gP;l5h8+B z+{P#)Xh!ABZglfY3*f{W$Lq#v2Rs#mBnYGgPDDtrnpgw+(er2KI>^}IMwgG7Hr^6t zZcE~cM->lG!7pD_UK(C@=TXq$S2ZHB0BF-1ljK>i%+;kEMY$lq&cm0b^}4rJG7-rx zDohdda*UzH(Wc4CHJkjMWfEzme$9aJ>w?xDy){J_I@Xt9lj8+-qUwZY7HPFa=OOFt z>W)%3hku)y`cZSqku94@u6S8-@#56O>Fd6WeOO0gK#GLMD-(P;KpU`+l92UF53ajm zbfz)Y4kTQ{&-l0A<%%@lU7pdngPCz&JYiWcUQXPlgoln(!+?b5UTF09Ne_QpxNI{? z&KxhRT|4Et9Mm2PfwAfX&GJPuv~b#q?gN&Ojg>Shj#6c-l$_kz-uJ{UnIDDPtk_V| zO!;&)feOdtGQngpDNKPrJhsUPKMK+-p~A;_2SNMPf!#CoS)b~~1yY;HVF6(Qa%@vH zUvnwyOWoYCcV0|7)yhr`P;rfAdC*6MDYGKSSmJvk7@hX_nmf+pu+$nAIIq@}rPLVN z?5u$q%&g*y%l?Al_s{i>>SE-b#eSsZdVkEd($-BM_y4oz{c=o2jS4elG{T09t$6HmJPNgkU(`v|l*x$31 zChS8DNS34C>=WMbhk|-`RR}KQz(W_ZOu`9#N<7gb|Id2QE2+EEt{`HasRH+)^P$e_ zus-e)h|>H&?sHZI3PsVo@AfAgxug~E*= zPRdAI+PXsAIwcI>+Jfx*g3$Za&|D=$XM3mK829SX-M?~|9EiDm7yB3v#EY7Y37q2p{&!T9 zTG9qfW>_Jf=?XO`cGXeGUGqIY8u647H*7c>xkx8w-6xxsiQBrB`NFeMzfJ$y)>AQN zlDJ%MW7VRx1d5A7tO{qv_D1N?)q%sOnEp|c!hl_Lw}dC2D%zw-pfd9fdYrMd{{yt< z)^$N^{hk}&S~z-$BymshJHGQ3`l;`&s?<(f-DjU&=I(5tS>$A(GaUC+VsX7eFcpDD zeDdR#f_mRfmL3XpCMeqAy$*sv5R9Irt@JpwV9-cHAMMkAs8K_&a+*4>^qDJFSrv@_ zx!){g%HxeoBzJmP$!GY(8=8RvtpBa2&*;8;x;q0PtFCUs_gEC$>ITicrO>(0y`tpU zg#L>cdOpYP^hL#qAMEakH3VeS#$t_%CVd)s8Uz#g?QIxLbwefFLlV2nyLOZ;A+zp> zlWdEGeBf!9@(Haeb`Zo`e~VmEx9K39ahhUUcViY&7U`Hm{mvOc?T}tO$O1z)LC%UvLFALH+k{k zCeGNNUA_y(#Y*}`IvuvKtYFGl20mNyv>dez`m{}e+u~bx@)Gq$AWsk=GLf0Ib@nW+=(fjYO0>iXbdm8+9-f+Ydy<@9g`b~V}^%F*%H zXXh*kGBdkf z|4S4OK{CI{li$7^cu`!Ywpm1OH!Q&G{|FkN8^tSv+GtySE)L0p*YgaNr%smMXS~vI zXrg^1){f9;AAPrWh2Q+c(zrhlp0>-?#C&i#g%baz>$|k5Y9o2y*tV6P8ay#5SS+1f zFsJ6PMs@6+F2JY>X*JBx=HwV00ntK}Uq38(!U-cN8+(MJbKQ5E7mvQvQcNms*3^O{ zRuWtqPW@Sm2CZj3epr33Vb5Vl#o@@|V+gO~P!)3(IDTjB`IMrLMVQ^GN;Gd~T*lz? z&$mb}$8d`S?PFtVTDKGG*@A6zCT$Wob+KVOv8d1AFY*V18qjIQ8b2 z)8YPRYoM2o_LjMz4J~xbH+P%pX4l@i0L8ipe?$y60kU?E79qZ>I~`Q0XK;W3~1AU?*7bv#aS zB4s7k9~*WBx_;`Pkoko}Jl=8^+=$-5B$0#{77s<#FI4Zm^z>UQ$bODY%!=^{K`|Qd zMx&}9eJz%#cxUH)%>e}C$+BQNKw~Pve_`rpTn|P$*RL%3&Z}Ktagr<;ckQX;N*1T& zz9)>I?7tipmTlbM;jDg-v$7aQB#ztRiZX12=nNg?pcEQ1_sqYGisRxXc7*e>Q%Xm; z=M{7?=ma$>c5V~#vDI4h)#~%%_y!9hykNY2pv|f3172 z`u4$Vm>+vONie@?B|T@r#G~t-^=#mE<4Pz5yCE0>-$>QL3D^N;GO9Wh??Mx3@-Nts zw`xhoIlHXi8m*w@0z3SwlRk|e%%PCE)93wjKE*|HQLx9F(d?~ z{73Ek)#S$}LJ4euKo~DSRGXBGE!BTu$lmsJ>N;O4xRxv9bs{+jgmC5@xDV95ZJY@9 zup9h`uHK&aS>62nq2j2_uQ%`K7OpL#a4Zys*85!!y+C*KL;m^6d+7;kfV0)ta_6ZT z(QOThxnNtpb)2@!&lf(195(0UnExBleSSH&^&R(nx(H_yH0SXSPL+Hp!`cx$^=in* zUg8dPw5msS$K^e)6$!RRiffLIy}0fP}!t_;g7%CA~Co` zDta5EWAPJl)-!O&#{#tE~xFggG*IO|T13k!*lKllT> z6CeLE9X94Kl4m$wavuF599wr-ywPSlg)&3;?GEhk{k3F%)eCMO=?@tXtWG}WL!S7* z)-OO@eEadju;X<)?WEpe{o0`h#gH=x{J2Qu=IgQKZ+)Tp0_XZg3AC5}lk=rXr)F;gHs_d;1fPCi&lfRpS`v z=hjq%Xi|;ez7MIwj@^6r4IWUpk3=sLbsgYMfMnhGqZx&F({>-_R93rYCZbRLY2{}! z^Y!a{&Y8h`PA-1w-Yur``dzS#(sT8x$I#2}Hw7&`Y5uEhctvBXDY0L;`9Nt@Ym_?n z_L#)1v@l|lkkECmc^RC)v)%=#l+Z3k@;rp@tH1s6r!{-t7as<;*;q-2!&Sn7g<0$- zU{1Ox@;z|gJ%7@upPXimygJ6UG2q4JqXUCRmr|&{_q(4gJGS|pxIM{cn4JA_kLX3D zJ1a|U)Un!(+&}W`wZT71YVyJNcn`#5f@_H26^y>PGbisfvsWX=O(8_s;CroRDK_G} zH%3psiC_HTyrfu(>>IZ|vR95|!y0R8lU~>O9#!UwN;({UP%rJQTr6k`V-YBjg)}ha zDgtQeB$u? zZ@k34`D>1vB;aE*|5-kL;l^z+INBU+j zw2Qog?^%tQ3)~Sm?@f4G^9h<$F|d4Yoy&J6SG&kjXFu3P*I~^LOk1#YJxTFE=CItO zg}sYc#)J$eO_!%{SqJAUD6Q4yUUP%)o|7!X!a-cjVSJ$Tv1Li|)wN4jY!vf+VR?l) zTkwW2mf=I_SU%t#<88eUg((|_Mr`*gc)07IePT3qXpOM`K-r3Li<%|S$V1Vw&x$f1 z_xFvlb8nMM+{uft7PIvA_Uwp90Iv!ZbKsOY_{iKOiE9!C4}v1uz=2p3R#c`98r$Bd zl|;aVyA#O4N$ingPN?5=>+Q+Ul*c8c9$c8Sb_8q|r(}zF-KNKnc$GLIMqj)qT&8V2 zE;FCd&kCogkg{B#vID?S%J4pUP!XLX(81O}9q;j*#}sFD2OA&cD_RAf9h0L6y{LUQ zTwzDmL!AR3yt91Gj9$);FW|R}7!z0wQBDM12P&mwRr>GUeoNaWPWyR_!SA;uEfyOQ zK@~n*d0>WDJCC|`{KZuk!HjKCqE-mcG1Bw^r53QTgIP|6xI~~CrqK^Kyg0p=V!PAr z$2`%jcpexQ36L4BE*u|nWSy40*O7=}g(Ad=;k}7FS4QHY49t-&B78a?Jfq( z`~4r8DYW&lYRF0ScM7?4#{L}e>TLTil@w`g#{$G(nqA z#9lho=JaD{C3>rZHc5Qh3WiUh52}s~da06rp6gnMF*f~!yxn0Mr1!{+h zajS-&u8ErP)>f`xH%axGMxmA`22bXmLz+#~j?uLLG!0b#G!l=qQ-C9zW zZ&sK~=g6swD%WbWdAPZ=V$?+Co1Hc+`&g_=5tFilMoVQacz?KJ= z4n|LcEp)YN>NPyMfQ}y_F}sB$s9<9ynWh3vgyQ@9PA+~P{M1P?+JbO+o;b7%(kl<- zaQR=`G2;g=`d#fOv5O}Pn(A}l);cZC;9+DuiE^ob;?fn;*WefrARgmu8|+IcNkw^Z z0FqV{B#3b@V{H{ReRulY=>76PB}UswZhccR1DUyC*MtczyyfG1@N315MoH}w zh*FSqA8a1l9J6>iy5XMjab@HiSz;LDhfoXr?Rj9d`Kj3@VV(!-Fztm;KR<;=a@QI$ z_iO_kPXz4^&UCr|JhOPes$YAF6v(R42)rvMsO(wvj?`7os=^$SVo{p6HEU&uT;RZ| zy27zXtK09`B!m^levvdc-ol(yi$Q`(F z@R!`7%k`Orvt3JmDC1b+y@^{oFQl5YQA7L?Y&8752#)NNK|%vBK76u&VSjN$(cOP4 z3m*H<4pMNiV*e^J!?otSFe>&g%|OO2Mutu!&#<^(2i>-NOwkUNw`5B^?F1vYt}rkS zE_97RH`Pb9Z!J+T7Xz5!V#0%2Mw4nSdW(;c=XAaI$Xv0<;9KeGiB7B9mUKO7_~~_n zRVVQH+%DH2&^JcK6OGF;kn!6{?jW{v_AU%plGRqn@qmpkjx}c2+&!>_OFisrfOvBS zCcrkuHEjhU8AWgEGBj$skI}h$!>*JK)Eo92uW6F~|$qC>M#s~%H=YTlk&@~RAhTMYh^=4NnF z2#8r9$K`JrcOs;SEG1z^Jfh(xB*6|7DHRZ?HjP%!SCtAL)Y@){2qW zelaD~Ys$mbt07JDT z#sZswpAylY?QXvCX^P^P3fClOrq1nbmO-OVE?_HbWil51s1Y1#rS79!kIsMmpMk|* zcG7hg2U%dmWmiZj*e(cMonyvRYy}p6;a+H9;+5mEzlY`%1;z>nd2beha(4}_Rda|u zfOP)h2N}@)tmcYch4VT{rfdA=hY-5V8_M5Yd@`Y#oom3z^**qKK#>H=0ovB)&Jv53Wd9U)6cd>il{Wos~E73gR2klS!!~9j-~~&E7bH!&uXQ zOI0&dY8FZi)K&^2%=Y8kLqqG-_x(iN>?-(zGnA-xfFX=Mx&n7tfcq{Od~E*9E6A#R zEQ^I2?-tLRJuKbtxt(gLL0bfUDwgj%fT9dr&cWwtv6VnNODW`%EmB2x}_@V;;h4MRfOu zNPlisaq;f>EODt)c!IM%uYH4jXb(mRNR-vBDjqm?;I1~so#CIpm%V6= zgtKI@SL6m2{9clz0@m@$XuE_xXq~4Ul0PU)TX?v-nKJ{xuI?=VIwpI>a>z<5B;f-N zG&ddGwtEQG%?Hh!BfI;G7gr>PriKHg_jm%a0I?A}1bLjjBJBnM$VFTEUuZT97ZzUcY0|G&F>?vi->6L+-< z-od-wD#z_xA9chIrxrI7LoQ0PI1na{mcHX9F12|&Hz><*a@09$!Q($l&Rut=vT-34 zyLCDoTUC`v$#c9O$TS#r~cfr21qg&{k(rm=d0^$ z2y8eI&cuht!?KH1xW$J(ZJO4{4>8|-KGR7R&LXR1keh0RteNlbiECx{rH=VVpxE~y z9rS=pYMotF&DXWDw+IDoJ_!Sv=$E)zN4^T_xXnr1m{>!@j}sN*((jcvBc@dkO|I9f z?%Z47Oy_RDu}fSrSg@W0sVd2F#5eMUVP|Y8rv{-mXL=1^^7+2xSCtT~pT$KU2KxMh z(DLNL^$cytcoS(tYRW~vu7mYxc?cTdas8tYdi=9fyuw1*5dxPuHxhyuS5C$%*0%FZ z_TIG(U^1_j8L(Z3c-zR$vkkf~{NdiEnQ;=?MI^qumhbveurOJQ<|xJ#FRQ$LSgh3x z^RabKi$kT73|aUAB(yE3F3$Y$Wb7!3X#yXv@I7_lMSYI6_@mL)gdZd}y@*snydLb) z&HHc9{^6g;3hw#<``gQb7$)xI9u}hXww%VQ$LG(qUD>7WU#;wxy12!#Ae6ANJXA5< zH>S8k3oX2m(y%l}wQqElvsh`Jw~5-Axvv7*j@ugVU2&zJJ#{^KXIDvu`NYehqr<7E zXu=}(@$U~cx+=CrTLk2l5bpavY)%z7He-&OJd8OJx-4lXd5+U%iCAV$cF1j z_Crrb9vP_!yRkxY4;n8ndG24dSkJ!4j=Ki?cp{c4B=dEUN&%)I@GV zBm4fb`Dq(PPm%%Iz%sX&0_7nc_zh$reiVI|doXnGmM{tBa~tuaY43Z!jnF$cru}~P z(M@}eYn zVLNS`6K{sPUS{8#&c7S!jBzsp}-edo+;6w7Hf z>@em#>{kI`>r9HrE5Y7%k?S&bRjYp6hB~vB+6+O6>M`C`E@<_}7D+V`f0~@J3~QLh ztC0nVp}0dR#QQ-EIcGZg(S zA;6hnCU&hN9sZU)-$Q3OmXdo|7;r_Dk4ENux7S0s(YRU1-o? zSHH+s;+X0n2G!CgNVW(YcV*uBcN+QrfyCN|&Bj^yGvJj~O8|V2oY|`r+8K~q)p5v< z;{T7*QxuT3=Brk;ef%P13#ati4J{l>vsj3aY^72Ao|Xq=*QJo6;i0DPTlO2N7PU%7 z0w59~#1V}dE~nbV+d}YrDb%@ZuYDsPthp?aDMo@MjBj+uUP~?riDw z`gE55W6^@CQwBGR{#Cv7YR1t!l6&__NMgzU=Q65kH?<5J7R;qDan}L_#yw5{OPkFnx3Z#Pa&hTxG0n2B=jUIrPLYpO75z0vZ$M@Sm_9c-6>|D(4T)`Oz_7I?)0|Vs9_8reP5f zeXB~*i~J^Z&m}eENvYFu9Alk@16Tga6KI)L6~Q;8=#3rDmAZCw@kH6^Ky|N`5noDl z*C>VM_88n5QLvESxn160`W2-qn!LOy_6t^UTCi>38y^kGPq`$v62ZoVtsrGv{&YFN z=3EZt)klWb{;B;S>rD7y$&{AsY`{Zk(QoS4k>~FIE}2P_830{c+^gLK0f-Cx>^sAfm#vKf#+DVcO$oVsfMqSdIg~xqa6YDI!!$aWE w9$y~EYe8IFaGN^YOMh<o3Xeh*o7Sm6&xaxXvcVr%S#60e&R!SpWb4 diff --git a/codingbat/target/maven-archiver/pom.properties b/codingbat/target/maven-archiver/pom.properties deleted file mode 100644 index e75a412..0000000 --- a/codingbat/target/maven-archiver/pom.properties +++ /dev/null @@ -1,3 +0,0 @@ -artifactId=codingbat -groupId=io.sampadadubey.java -version=1.0 diff --git a/codingbat/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/codingbat/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst deleted file mode 100644 index 24641d8..0000000 --- a/codingbat/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ /dev/null @@ -1,48 +0,0 @@ -io/sampadadubey/java/codingbat/warmup2/StringTimes.class -io/sampadadubey/java/codingbat/warmup1/LastDigit.class -io/sampadadubey/java/codingbat/warmup1/Front3.class -io/sampadadubey/java/codingbat/warmup2/CountXX.class -io/sampadadubey/java/codingbat/warmup1/PosNeg.class -io/sampadadubey/java/codingbat/warmup1/Or35.class -io/sampadadubey/java/codingbat/warmup2/DoubleX.class -io/sampadadubey/java/codingbat/warmup2/StringYak.class -io/sampadadubey/java/codingbat/warmup1/HasTeen.class -io/sampadadubey/java/codingbat/warmup1/Max1020.class -io/sampadadubey/java/codingbat/warmup1/MixStart.class -io/sampadadubey/java/codingbat/warmup1/StringE.class -io/sampadadubey/java/codingbat/warmup1/In1020.class -io/sampadadubey/java/codingbat/warmup2/FrontTimes.class -io/sampadadubey/java/codingbat/warmup2/StringMatch.class -io/sampadadubey/java/codingbat/warmup1/Close10.class -io/sampadadubey/java/codingbat/warmup1/Front22.class -io/sampadadubey/java/codingbat/warmup1/EndUp.class -io/sampadadubey/java/codingbat/warmup2/StringBits.class -io/sampadadubey/java/codingbat/warmup1/MissingChar.class -io/sampadadubey/java/codingbat/warmup2/NoTriples.class -io/sampadadubey/java/codingbat/warmup1/IcyHot.class -io/sampadadubey/java/codingbat/warmup1/NotString.class -io/sampadadubey/java/codingbat/warmup1/SleepIn.class -io/sampadadubey/java/codingbat/warmup1/ParrotTrouble.class -io/sampadadubey/java/codingbat/warmup1/DelDel.class -io/sampadadubey/java/codingbat/warmup1/FrontBack.class -io/sampadadubey/java/codingbat/warmup2/Array667.class -io/sampadadubey/java/codingbat/warmup1/StartHi.class -io/sampadadubey/java/codingbat/warmup1/SumDouble.class -io/sampadadubey/java/codingbat/warmup1/In3050.class -io/sampadadubey/java/codingbat/warmup1/StartOz.class -io/sampadadubey/java/codingbat/warmup1/IntMax.class -io/sampadadubey/java/codingbat/warmup1/MonkeyTrouble.class -io/sampadadubey/java/codingbat/warmup2/StringSplosion.class -io/sampadadubey/java/codingbat/warmup2/Has271.class -io/sampadadubey/java/codingbat/warmup2/StringX.class -io/sampadadubey/java/codingbat/warmup2/AltPairs.class -io/sampadadubey/java/codingbat/warmup2/ArrayCount9.class -io/sampadadubey/java/codingbat/warmup2/Last2.class -io/sampadadubey/java/codingbat/warmup1/BackAround.class -io/sampadadubey/java/codingbat/warmup1/NearHundred.class -io/sampadadubey/java/codingbat/warmup1/Makes10.class -io/sampadadubey/java/codingbat/warmup1/LoneTeen.class -io/sampadadubey/java/codingbat/warmup2/Array123.class -io/sampadadubey/java/codingbat/warmup2/ArrayFront9.class -io/sampadadubey/java/codingbat/warmup1/Diff21.class -io/sampadadubey/java/codingbat/warmup1/EveryNth.class diff --git a/codingbat/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/codingbat/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst deleted file mode 100644 index eddcf6f..0000000 --- a/codingbat/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ /dev/null @@ -1,48 +0,0 @@ -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/ArrayCount9.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringMatch.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringYak.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Max1020.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/DoubleX.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/NoTriples.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/FrontTimes.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/IntMax.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringSplosion.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/NearHundred.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/Last2.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/StartOz.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/StartHi.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Makes10.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/EndUp.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringX.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/NotString.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/SleepIn.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/CountXX.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/PosNeg.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/StringE.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/BackAround.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/IcyHot.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Or35.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Diff21.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/LastDigit.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Front3.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/MonkeyTrouble.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/Array667.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/ArrayFront9.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/ParrotTrouble.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/HasTeen.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/MixStart.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringBits.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/In1020.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/In3050.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/LoneTeen.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/AltPairs.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringTimes.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Front22.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/DelDel.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/SumDouble.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/EveryNth.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/Array123.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/MissingChar.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/Has271.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Close10.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/FrontBack.java diff --git a/codingbat/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/codingbat/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst deleted file mode 100644 index 119aa60..0000000 --- a/codingbat/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst +++ /dev/null @@ -1,48 +0,0 @@ -io/sampadadubey/java/codingbat/warmup1/EveryNthTest.class -io/sampadadubey/java/codingbat/warmup1/SumDoubleTest.class -io/sampadadubey/java/codingbat/warmup1/MixStartTest.class -io/sampadadubey/java/codingbat/warmup2/DoubleXTest.class -io/sampadadubey/java/codingbat/warmup1/DelDelTest.class -io/sampadadubey/java/codingbat/warmup2/StringMatchTest.class -io/sampadadubey/java/codingbat/warmup2/StringYakTest.class -io/sampadadubey/java/codingbat/warmup1/Or35Test.class -io/sampadadubey/java/codingbat/warmup1/PosNegTest.class -io/sampadadubey/java/codingbat/warmup2/Last2Test.class -io/sampadadubey/java/codingbat/warmup1/StartOzTest.class -io/sampadadubey/java/codingbat/warmup1/In1020Test.class -io/sampadadubey/java/codingbat/warmup1/StartHiTest.class -io/sampadadubey/java/codingbat/warmup2/AltPairsTest.class -io/sampadadubey/java/codingbat/warmup1/Makes10Test.class -io/sampadadubey/java/codingbat/warmup2/Has271Test.class -io/sampadadubey/java/codingbat/warmup2/StringBitsTest.class -io/sampadadubey/java/codingbat/warmup1/IcyHotTest.class -io/sampadadubey/java/codingbat/warmup2/Array123Test.class -io/sampadadubey/java/codingbat/warmup2/FrontTimesTest.class -io/sampadadubey/java/codingbat/warmup2/ArrayCount9Test.class -io/sampadadubey/java/codingbat/warmup1/Close10Test.class -io/sampadadubey/java/codingbat/warmup2/ArrayFront9Test.class -io/sampadadubey/java/codingbat/warmup1/FrontBackTest.class -io/sampadadubey/java/codingbat/warmup2/CountXxTest.class -io/sampadadubey/java/codingbat/warmup2/NoTriplesTest.class -io/sampadadubey/java/codingbat/warmup1/ParrotTroubleTest.class -io/sampadadubey/java/codingbat/warmup1/In3050Test.class -io/sampadadubey/java/codingbat/warmup1/HasTeenTest.class -io/sampadadubey/java/codingbat/warmup1/MonkeyTroubleTest.class -io/sampadadubey/java/codingbat/warmup1/NotStringTest.class -io/sampadadubey/java/codingbat/warmup1/LastDigitTest.class -io/sampadadubey/java/codingbat/warmup1/BackAroundTest.class -io/sampadadubey/java/codingbat/warmup1/MissingCharTest.class -io/sampadadubey/java/codingbat/warmup2/Array667Test.class -io/sampadadubey/java/codingbat/warmup1/Front22Test.class -io/sampadadubey/java/codingbat/warmup1/LoneTeenTest.class -io/sampadadubey/java/codingbat/warmup1/NearHundredTest.class -io/sampadadubey/java/codingbat/warmup1/SleepInTest.class -io/sampadadubey/java/codingbat/warmup1/IntMaxTest.class -io/sampadadubey/java/codingbat/warmup1/EndUpTest.class -io/sampadadubey/java/codingbat/warmup1/StringETest.class -io/sampadadubey/java/codingbat/warmup1/Front3Test.class -io/sampadadubey/java/codingbat/warmup2/StringTimesTest.class -io/sampadadubey/java/codingbat/warmup1/Max1020Test.class -io/sampadadubey/java/codingbat/warmup2/StringXTest.class -io/sampadadubey/java/codingbat/warmup1/Diff21Test.class -io/sampadadubey/java/codingbat/warmup2/StringSplosionTest.class diff --git a/codingbat/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/codingbat/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst deleted file mode 100644 index f31bf9c..0000000 --- a/codingbat/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst +++ /dev/null @@ -1,48 +0,0 @@ -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/ParrotTroubleTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/DelDelTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Makes10Test.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/NoTriplesTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/In1020Test.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Close10Test.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Diff21Test.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/SleepInTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/MonkeyTroubleTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringYakTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/BackAroundTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Max1020Test.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringTimesTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/AltPairsTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/MissingCharTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/EveryNthTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/LastDigitTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/StartOzTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/CountXxTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/StartHiTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/ArrayFront9Test.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/Has271Test.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringSplosionTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/EndUpTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Front3Test.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/SumDoubleTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/IntMaxTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/MixStartTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/IcyHotTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/PosNegTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringXTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/HasTeenTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Or35Test.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/In3050Test.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/Array667Test.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/ArrayCount9Test.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/StringETest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/Last2Test.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/FrontTimesTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/DoubleXTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringBitsTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/NearHundredTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/Array123Test.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Front22Test.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/FrontBackTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/NotStringTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/LoneTeenTest.java -/home/codejournal/sampada-dubey/git/mastering-java/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringMatchTest.java diff --git a/codingbat/target/site/jacoco/jacoco.xml b/codingbat/target/site/jacoco/jacoco.xml deleted file mode 100644 index 5a445c1..0000000 --- a/codingbat/target/site/jacoco/jacoco.xml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.BackAroundTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.BackAroundTest.xml deleted file mode 100644 index 492553e..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.BackAroundTest.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Close10Test.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Close10Test.xml deleted file mode 100644 index 1fe1970..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Close10Test.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.DelDelTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.DelDelTest.xml deleted file mode 100644 index cf38657..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.DelDelTest.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Diff21Test.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Diff21Test.xml deleted file mode 100644 index 6fc1d2f..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Diff21Test.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.EndUpTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.EndUpTest.xml deleted file mode 100644 index 38ce8e8..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.EndUpTest.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.EveryNthTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.EveryNthTest.xml deleted file mode 100644 index 1c19592..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.EveryNthTest.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Front22Test.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Front22Test.xml deleted file mode 100644 index 9f7cfd6..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Front22Test.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Front3Test.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Front3Test.xml deleted file mode 100644 index 22b253b..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Front3Test.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.FrontBackTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.FrontBackTest.xml deleted file mode 100644 index 67b0e67..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.FrontBackTest.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.HasTeenTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.HasTeenTest.xml deleted file mode 100644 index 4f17ef2..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.HasTeenTest.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.IcyHotTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.IcyHotTest.xml deleted file mode 100644 index f1a00f3..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.IcyHotTest.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.In1020Test.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.In1020Test.xml deleted file mode 100644 index b35f526..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.In1020Test.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.In3050Test.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.In3050Test.xml deleted file mode 100644 index a95b2aa..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.In3050Test.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.IntMaxTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.IntMaxTest.xml deleted file mode 100644 index a0607dc..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.IntMaxTest.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.LastDigitTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.LastDigitTest.xml deleted file mode 100644 index dae6ead..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.LastDigitTest.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.LoneTeenTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.LoneTeenTest.xml deleted file mode 100644 index 92b5bb6..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.LoneTeenTest.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Makes10Test.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Makes10Test.xml deleted file mode 100644 index 12cd13d..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Makes10Test.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Max1020Test.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Max1020Test.xml deleted file mode 100644 index 3d7ed93..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Max1020Test.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.MissingCharTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.MissingCharTest.xml deleted file mode 100644 index a94e2b8..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.MissingCharTest.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.MixStartTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.MixStartTest.xml deleted file mode 100644 index 2e05d4f..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.MixStartTest.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.MonkeyTroubleTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.MonkeyTroubleTest.xml deleted file mode 100644 index bb8e16b..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.MonkeyTroubleTest.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.NearHundredTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.NearHundredTest.xml deleted file mode 100644 index 3fa91e0..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.NearHundredTest.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.NotStringTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.NotStringTest.xml deleted file mode 100644 index 8ce3bde..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.NotStringTest.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Or35Test.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Or35Test.xml deleted file mode 100644 index 4d9be49..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.Or35Test.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.ParrotTroubleTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.ParrotTroubleTest.xml deleted file mode 100644 index 5d0dfd4..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.ParrotTroubleTest.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.PosNegTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.PosNegTest.xml deleted file mode 100644 index 591e750..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.PosNegTest.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.SleepInTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.SleepInTest.xml deleted file mode 100644 index 7b53b41..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.SleepInTest.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.StartHiTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.StartHiTest.xml deleted file mode 100644 index 55d9643..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.StartHiTest.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.StartOzTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.StartOzTest.xml deleted file mode 100644 index 8f5e007..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.StartOzTest.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.StringETest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.StringETest.xml deleted file mode 100644 index c93b20f..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.StringETest.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.SumDoubleTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.SumDoubleTest.xml deleted file mode 100644 index d85c796..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup1.SumDoubleTest.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.AltPairsTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.AltPairsTest.xml deleted file mode 100644 index b7cdf28..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.AltPairsTest.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.Array123Test.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.Array123Test.xml deleted file mode 100644 index 37d8ba4..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.Array123Test.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.Array667Test.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.Array667Test.xml deleted file mode 100644 index 43c743a..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.Array667Test.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.ArrayCount9Test.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.ArrayCount9Test.xml deleted file mode 100644 index 03db271..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.ArrayCount9Test.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.ArrayFront9Test.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.ArrayFront9Test.xml deleted file mode 100644 index 1c8b6ac..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.ArrayFront9Test.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.CountXxTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.CountXxTest.xml deleted file mode 100644 index 49c02be..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.CountXxTest.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.DoubleXTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.DoubleXTest.xml deleted file mode 100644 index 96fb0d4..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.DoubleXTest.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.FrontTimesTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.FrontTimesTest.xml deleted file mode 100644 index ba483ab..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.FrontTimesTest.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.Has271Test.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.Has271Test.xml deleted file mode 100644 index c2333e8..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.Has271Test.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.Last2Test.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.Last2Test.xml deleted file mode 100644 index 2509f1d..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.Last2Test.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.NoTriplesTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.NoTriplesTest.xml deleted file mode 100644 index 708567c..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.NoTriplesTest.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringBitsTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringBitsTest.xml deleted file mode 100644 index bdbe2ef..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringBitsTest.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringMatchTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringMatchTest.xml deleted file mode 100644 index a9b26b9..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringMatchTest.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringSplosionTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringSplosionTest.xml deleted file mode 100644 index 9d59842..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringSplosionTest.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringTimesTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringTimesTest.xml deleted file mode 100644 index 3534753..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringTimesTest.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringXTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringXTest.xml deleted file mode 100644 index e304b1b..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringXTest.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringYakTest.xml b/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringYakTest.xml deleted file mode 100644 index dfe8623..0000000 --- a/codingbat/target/surefire-reports/TEST-io.sampadadubey.java.codingbat.warmup2.StringYakTest.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.BackAroundTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.BackAroundTest.txt deleted file mode 100644 index 7c1210d..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.BackAroundTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.BackAroundTest -------------------------------------------------------------------------------- -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 s - in io.sampadadubey.java.codingbat.warmup1.BackAroundTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Close10Test.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Close10Test.txt deleted file mode 100644 index ac63d8e..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Close10Test.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.Close10Test -------------------------------------------------------------------------------- -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 s - in io.sampadadubey.java.codingbat.warmup1.Close10Test diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.DelDelTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.DelDelTest.txt deleted file mode 100644 index 8e60215..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.DelDelTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.DelDelTest -------------------------------------------------------------------------------- -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 s - in io.sampadadubey.java.codingbat.warmup1.DelDelTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Diff21Test.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Diff21Test.txt deleted file mode 100644 index 1e4846c..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Diff21Test.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.Diff21Test -------------------------------------------------------------------------------- -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 s - in io.sampadadubey.java.codingbat.warmup1.Diff21Test diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.EndUpTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.EndUpTest.txt deleted file mode 100644 index f5c548d..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.EndUpTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.EndUpTest -------------------------------------------------------------------------------- -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 s - in io.sampadadubey.java.codingbat.warmup1.EndUpTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.EveryNthTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.EveryNthTest.txt deleted file mode 100644 index 3a0207b..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.EveryNthTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.EveryNthTest -------------------------------------------------------------------------------- -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 s - in io.sampadadubey.java.codingbat.warmup1.EveryNthTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Front22Test.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Front22Test.txt deleted file mode 100644 index ec3904c..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Front22Test.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.Front22Test -------------------------------------------------------------------------------- -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 s - in io.sampadadubey.java.codingbat.warmup1.Front22Test diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Front3Test.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Front3Test.txt deleted file mode 100644 index cf72753..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Front3Test.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.Front3Test -------------------------------------------------------------------------------- -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.016 s - in io.sampadadubey.java.codingbat.warmup1.Front3Test diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.FrontBackTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.FrontBackTest.txt deleted file mode 100644 index 91a2d04..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.FrontBackTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.FrontBackTest -------------------------------------------------------------------------------- -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 s - in io.sampadadubey.java.codingbat.warmup1.FrontBackTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.HasTeenTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.HasTeenTest.txt deleted file mode 100644 index a5dddbb..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.HasTeenTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.HasTeenTest -------------------------------------------------------------------------------- -Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 s - in io.sampadadubey.java.codingbat.warmup1.HasTeenTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.IcyHotTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.IcyHotTest.txt deleted file mode 100644 index eb549b3..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.IcyHotTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.IcyHotTest -------------------------------------------------------------------------------- -Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.02 s - in io.sampadadubey.java.codingbat.warmup1.IcyHotTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.In1020Test.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.In1020Test.txt deleted file mode 100644 index 5adee01..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.In1020Test.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.In1020Test -------------------------------------------------------------------------------- -Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 s - in io.sampadadubey.java.codingbat.warmup1.In1020Test diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.In3050Test.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.In3050Test.txt deleted file mode 100644 index e12148f..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.In3050Test.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.In3050Test -------------------------------------------------------------------------------- -Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 s - in io.sampadadubey.java.codingbat.warmup1.In3050Test diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.IntMaxTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.IntMaxTest.txt deleted file mode 100644 index b02b27b..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.IntMaxTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.IntMaxTest -------------------------------------------------------------------------------- -Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 s - in io.sampadadubey.java.codingbat.warmup1.IntMaxTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.LastDigitTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.LastDigitTest.txt deleted file mode 100644 index 1bc24e0..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.LastDigitTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.LastDigitTest -------------------------------------------------------------------------------- -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 s - in io.sampadadubey.java.codingbat.warmup1.LastDigitTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.LoneTeenTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.LoneTeenTest.txt deleted file mode 100644 index 4b06691..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.LoneTeenTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.LoneTeenTest -------------------------------------------------------------------------------- -Tests run: 25, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.022 s - in io.sampadadubey.java.codingbat.warmup1.LoneTeenTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Makes10Test.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Makes10Test.txt deleted file mode 100644 index 8ab355f..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Makes10Test.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.Makes10Test -------------------------------------------------------------------------------- -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 s - in io.sampadadubey.java.codingbat.warmup1.Makes10Test diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Max1020Test.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Max1020Test.txt deleted file mode 100644 index 8ad361b..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Max1020Test.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.Max1020Test -------------------------------------------------------------------------------- -Tests run: 25, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.022 s - in io.sampadadubey.java.codingbat.warmup1.Max1020Test diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.MissingCharTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.MissingCharTest.txt deleted file mode 100644 index 4ccaa2b..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.MissingCharTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.MissingCharTest -------------------------------------------------------------------------------- -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.014 s - in io.sampadadubey.java.codingbat.warmup1.MissingCharTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.MixStartTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.MixStartTest.txt deleted file mode 100644 index 92fe5fd..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.MixStartTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.MixStartTest -------------------------------------------------------------------------------- -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 s - in io.sampadadubey.java.codingbat.warmup1.MixStartTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.MonkeyTroubleTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.MonkeyTroubleTest.txt deleted file mode 100644 index 9a03d35..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.MonkeyTroubleTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.MonkeyTroubleTest -------------------------------------------------------------------------------- -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 s - in io.sampadadubey.java.codingbat.warmup1.MonkeyTroubleTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.NearHundredTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.NearHundredTest.txt deleted file mode 100644 index d3a95c4..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.NearHundredTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.NearHundredTest -------------------------------------------------------------------------------- -Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 s - in io.sampadadubey.java.codingbat.warmup1.NearHundredTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.NotStringTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.NotStringTest.txt deleted file mode 100644 index e35a995..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.NotStringTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.NotStringTest -------------------------------------------------------------------------------- -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 s - in io.sampadadubey.java.codingbat.warmup1.NotStringTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Or35Test.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Or35Test.txt deleted file mode 100644 index f6db936..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.Or35Test.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.Or35Test -------------------------------------------------------------------------------- -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 s - in io.sampadadubey.java.codingbat.warmup1.Or35Test diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.ParrotTroubleTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.ParrotTroubleTest.txt deleted file mode 100644 index 09775ec..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.ParrotTroubleTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.ParrotTroubleTest -------------------------------------------------------------------------------- -Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 s - in io.sampadadubey.java.codingbat.warmup1.ParrotTroubleTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.PosNegTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.PosNegTest.txt deleted file mode 100644 index 87bbfc8..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.PosNegTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.PosNegTest -------------------------------------------------------------------------------- -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 s - in io.sampadadubey.java.codingbat.warmup1.PosNegTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.SleepInTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.SleepInTest.txt deleted file mode 100644 index c274759..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.SleepInTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.SleepInTest -------------------------------------------------------------------------------- -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 s - in io.sampadadubey.java.codingbat.warmup1.SleepInTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.StartHiTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.StartHiTest.txt deleted file mode 100644 index fe84cc7..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.StartHiTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.StartHiTest -------------------------------------------------------------------------------- -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 s - in io.sampadadubey.java.codingbat.warmup1.StartHiTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.StartOzTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.StartOzTest.txt deleted file mode 100644 index 6b3bfdc..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.StartOzTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.StartOzTest -------------------------------------------------------------------------------- -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 s - in io.sampadadubey.java.codingbat.warmup1.StartOzTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.StringETest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.StringETest.txt deleted file mode 100644 index ffe1cd0..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.StringETest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.StringETest -------------------------------------------------------------------------------- -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 s - in io.sampadadubey.java.codingbat.warmup1.StringETest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.SumDoubleTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.SumDoubleTest.txt deleted file mode 100644 index e1b5477..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup1.SumDoubleTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup1.SumDoubleTest -------------------------------------------------------------------------------- -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 s - in io.sampadadubey.java.codingbat.warmup1.SumDoubleTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.AltPairsTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.AltPairsTest.txt deleted file mode 100644 index fec90ec..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.AltPairsTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup2.AltPairsTest -------------------------------------------------------------------------------- -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 s - in io.sampadadubey.java.codingbat.warmup2.AltPairsTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.Array123Test.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.Array123Test.txt deleted file mode 100644 index 6d9fa18..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.Array123Test.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup2.Array123Test -------------------------------------------------------------------------------- -Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.021 s - in io.sampadadubey.java.codingbat.warmup2.Array123Test diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.Array667Test.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.Array667Test.txt deleted file mode 100644 index 8a25e7c..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.Array667Test.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup2.Array667Test -------------------------------------------------------------------------------- -Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028 s - in io.sampadadubey.java.codingbat.warmup2.Array667Test diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.ArrayCount9Test.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.ArrayCount9Test.txt deleted file mode 100644 index 4968231..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.ArrayCount9Test.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup2.ArrayCount9Test -------------------------------------------------------------------------------- -Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 s - in io.sampadadubey.java.codingbat.warmup2.ArrayCount9Test diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.ArrayFront9Test.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.ArrayFront9Test.txt deleted file mode 100644 index e65b6eb..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.ArrayFront9Test.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup2.ArrayFront9Test -------------------------------------------------------------------------------- -Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 s - in io.sampadadubey.java.codingbat.warmup2.ArrayFront9Test diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.CountXxTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.CountXxTest.txt deleted file mode 100644 index 3380033..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.CountXxTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup2.CountXxTest -------------------------------------------------------------------------------- -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 s - in io.sampadadubey.java.codingbat.warmup2.CountXxTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.DoubleXTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.DoubleXTest.txt deleted file mode 100644 index 88ca24d..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.DoubleXTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup2.DoubleXTest -------------------------------------------------------------------------------- -Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 s - in io.sampadadubey.java.codingbat.warmup2.DoubleXTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.FrontTimesTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.FrontTimesTest.txt deleted file mode 100644 index 88374a3..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.FrontTimesTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup2.FrontTimesTest -------------------------------------------------------------------------------- -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 s - in io.sampadadubey.java.codingbat.warmup2.FrontTimesTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.Has271Test.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.Has271Test.txt deleted file mode 100644 index fce86a6..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.Has271Test.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup2.Has271Test -------------------------------------------------------------------------------- -Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 s - in io.sampadadubey.java.codingbat.warmup2.Has271Test diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.Last2Test.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.Last2Test.txt deleted file mode 100644 index 6ed9101..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.Last2Test.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup2.Last2Test -------------------------------------------------------------------------------- -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 s - in io.sampadadubey.java.codingbat.warmup2.Last2Test diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.NoTriplesTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.NoTriplesTest.txt deleted file mode 100644 index 9881994..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.NoTriplesTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup2.NoTriplesTest -------------------------------------------------------------------------------- -Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 s - in io.sampadadubey.java.codingbat.warmup2.NoTriplesTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringBitsTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringBitsTest.txt deleted file mode 100644 index fcfb67b..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringBitsTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup2.StringBitsTest -------------------------------------------------------------------------------- -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 s - in io.sampadadubey.java.codingbat.warmup2.StringBitsTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringMatchTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringMatchTest.txt deleted file mode 100644 index 378883f..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringMatchTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup2.StringMatchTest -------------------------------------------------------------------------------- -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 s - in io.sampadadubey.java.codingbat.warmup2.StringMatchTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringSplosionTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringSplosionTest.txt deleted file mode 100644 index 23cba03..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringSplosionTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup2.StringSplosionTest -------------------------------------------------------------------------------- -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 s - in io.sampadadubey.java.codingbat.warmup2.StringSplosionTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringTimesTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringTimesTest.txt deleted file mode 100644 index 4619018..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringTimesTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup2.StringTimesTest -------------------------------------------------------------------------------- -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 s - in io.sampadadubey.java.codingbat.warmup2.StringTimesTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringXTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringXTest.txt deleted file mode 100644 index e254b4d..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringXTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup2.StringXTest -------------------------------------------------------------------------------- -Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.017 s - in io.sampadadubey.java.codingbat.warmup2.StringXTest diff --git a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringYakTest.txt b/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringYakTest.txt deleted file mode 100644 index d58c616..0000000 --- a/codingbat/target/surefire-reports/io.sampadadubey.java.codingbat.warmup2.StringYakTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.codingbat.warmup2.StringYakTest -------------------------------------------------------------------------------- -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.155 s - in io.sampadadubey.java.codingbat.warmup2.StringYakTest diff --git a/common/target/jacoco.exec b/common/target/jacoco.exec deleted file mode 100644 index 59dcd40910365a3e5972e4260235085f10df4af2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24929 zcmcIs30zdw_rJpcgMbbfalu4D$9)+P+{i>W6-7nBEcbzV!00eD&YM9o6HH6}WiF*< zTAE9?nC7oEvs^IuCAGBN1DEn=nS0>^&i~wZ-+S|Bcr#JI-=9w(O_V$Do_o&se9!ls z`xNEnA*v7*o@drGohO*>R+G-yIoCX;bG$w_hUux-A*7fwHZE=s{k{7zyz21bQzOID z0#K~kTA-a^HyLbNi&1CGH(QIejH$q2Vzhb#n`bU&tR>nMqmE^>86%TtGh6Ycz6e*n z*f%0ECpQLl@ci?`O@>K!CS9+|W(tZJlPxT9Ey9=uKKu?nBd zOtCR0)?hYia|}g{*=|cQoAM0>cB{??-)yShJR5(q+|noIG-F5EWEGu7msiMWi*&_| zNz2-;OuoU&z;_K=yUk$K8ceV_SVWtY%i65EJlhbniTj?_Zm}71jm!wE!KQ=XQwnt^ z6JrchIg~hU)LXlDme1*o;yiysuGvf;JDK|}m0=mHL1#2fWvrbYj$NgWNbJ|`*@E*= z7v`a^o);mHX=7L$%h(MGs)m@1Y`Vb$6U*YS-J8v{V2zP(0 zL(SM6O*b^aX+`n)j5@ms>|xdBnZXR%HY=kmN+&kRV_?6g0V?NSgKj*c81%G^jq}V!MP?IA9gGW)A-W4W;>X>BYA z){K6<4yDMf#0MK|w^+=1}&@uZUU#Rk@F4Qzt&$^I+UkB+Qd ziTXGf6oQEOQ>uXlZzv&;)Sn!#4#HNGZqmb|HbXI!4Z+Bm@))+Gg4oFy$22O^Z@*CW zZxlh+gIH&*wh7dIxCo*?#QI0!7N(bz$6XFSfwbJe^cZ+TXc#iBW(%xVqEzA7)|zpL z&Z6z8pYy3jr*$!C7L!k~2HcY~qGkYZl#(1P#JH8!83%)9RMT+0A+YJh>U*D{WapBC zA!?zR1)P>xfMK=iEC~Yc+(sB|h2#%xqrq1qan6;B<)78-n1y1T3(7wu_rn&QtuQ-} zpoaAY&X!KUQ{gY)AJrv+y>lLEI9o}rDnb%Ko8CY+$~ID=5UhBr)weILIA}z@xgU`= zFCTs6U|4OQ(V)#PwA=LN$)*8j^F+>G^+FMj-m+}gvK9&z%97cLo6k9cK8-_ua32c% zSquO;YvWM}v?7QK% zu9u%_TP(#fxAS8Jq|y$gX@WkZ7#3hb8)OXe*(xIO=!K{LSX$h@HyY;Iiu`l25G_Jl z7_0**w1UGzWUzcL;QwT{_Jh1(ww44`-~$oI(M#PHHb+S^mKEICXfA*pTA=jCL2dXb0+{`uwVNm(g-Xgsl&^cKW@IZ+qX9}?lnW5YOTsxt!Aq>iTfZ3%{21I z6v(2mJ1xn^$bvHpH{`EgKKL~1Pk!2sKe^g?sNDu$!NA$;O5o((+*de(rgs(~yyW(i z=+`%$ZHYR2HydjQzNCd~c;O!tqt=HN z&qg_axuXo8V7TzIOq~_d4LAX-5&svWr`Q01p^5WX;z_erPgNK1{{;1Qet_^?JRnJ! z9|t?cIUpj1l?5E~S73I2?uZpHem&*5 z)0{qzX8?nAQHz^t=yHQ~Ho~(SCq+f!`(=a8)vezzL#ZBj=Y(1M;{u@;w#BcSQ(|G- zzKGOczKGX#%e`?f{^mMwVZ;NOU}~2$X>`QV6sLZ!SARV7z72JAKAD)(L{}BgG#ju_ zLJKvq3I+a`C3|bt%O9#yBw4|Q9uS8T1BE>eInYPqi{k(GML>ftU0?KW{eprq6jx}> zxH*8HVe_m83kfs{hvAZ1bc3H%e=6|Jf~ep32EKC~jqtV`BhPACNfDEj3*I!;)K6zH zLWv;kSIl)nAci&!K=@*AyBmJDOfje@w`18nEXg2gPo#AN*+Nq;)qR ztopY%rofq4JZeeqP15Tu5LlX6|Bkrrp6;W|_g)V`&o~Y0`BbRqChJ&Qq(ITbpI6(` z7TwW!{M@#STdwSQ?iX)y>GW8dXqmi;jFou3I@p4@9ht^{@!XOxsmpr>)@;UFYyi`k zbzpBHgZa0`zot)}u_`$39hBkRk!S_p%tAVK#w5jM(H*4J2dI|Wl;v>ji@seN6I15! z!Cg1(k3DdIcs%tFSyy&q8RRv{9n@fHLTwugp@MJp?)@gCnfxnC_)9kvND7n~g)TAP zu>Bl_heYq$8UAeGCv~pc2I`7+&jMD%#tKNP3?Totd*mp^&)i?4ITqA&I~wHqnMl+F zU4Xh$Bu}(NNM$(Z*U&#@F*<#=O=q*S{=IS4n3@%r&X$j(WOXuTDabHC_KKROWh;!CSPrFg^+|ZuYO+r=}Lxcwt;l*Km0n z5|upHqQT&!#77%vgdgp4a0op|S9c(`a{7XJ{sL_!H5v=}!h}Zp`rz;tx0)TP{Jb&M zHCz|sJ=e*H(@n)@QqY-AVs#HZrBG)uL9GYjP0D=+a-Q(7luF#&cg)h^d!Fkg&B0=5 zh`E5%4FrI6aW*j(vt1WNs!`N#B|f;Z<-G|*-^rH>Iv$oxW%6}ESA>=MR1(4 z6VO!{We+y=2r{l?s)o9R1`c;lV?BBYRG^vRs$^+4gca%I

>LWx3V;Vxq@{5Yud%V(*%^8Z6E-H{Y36Fm3 zwm~UV0RRM%fkWAJkn}k@n!_O20#Qlo?NZ=Z7o70TJG;1oQZ!j)bb2WTMW-98qVWee z7UZ8~cN?U87mwKOp=+s`92WXD!+(C-d)fR&$=&KGAEnxhEL<6$4MAaKY-UrlTc}Kl zOS&An(;)pvm8_&Fy0WtxU}<%u6@1UF+F?}<@DKL~E_%HDzERf2#3e~or3uQE;9{x} zTx3hwcKhJT*QNL&xR`e);IG1!uSKr0R{fSlKUy9w$s#uRaMCUy55b>)$S)~)sQ)jA zZr)q4R%#64v-xvzavFND?hq&`K{Z`{6nOKzZ$2touV^gg3vNp~eT9z}>Yk!;c+YFR z+|dJTXP+OodB9ke7yObWWsdEUJv#HTe-pg++nukSd~Lx9sr$OSpId|o=ff4VS4K?^ zKgbkr|GOzE4$Kj@=X%kir`Of{YXC`sjuf~mZxR;(Y23pRhj&>v4qeeK`%9^xh`Vs% z5u6ohjl%^`Gg4sVSu+w=t*O^`D;nZN4vz;z&w>-_fDA&hr4a=7Vn$?&Kpk~PBjnwT zR_EIExVU=??N{JByU*0a*6rn){9j&Z(-%wmiuQferG+^3Tr7lLSs}^c*y431QAgK>(SJx zkH4GtJnBM@!>gN6&PbYBN!Eh;Gn-=F4^`Kig)DuQY7X*0%Oxi9dlNPJ z@%tWW+VvRm;LT8<+eyp9C3hcv*FNO_v+8&m(K}DtWY@YN)_@)WIpnJxn|ED%X66Ik zu{y{zZq*)LF~s4(`~1FXJ9O^t2wJwtmpm?si3?OJbrWa-Jt3eP`vrVjgqqR4`VM>n;b%8Jxcyeq;N_@2=f~3S0ts*mZN z+{h$1_}RCXe)eJL_lhynZ3vd&UD(O4WR1b8J)!p;2w%A$rn#K9qr?A*{1LYE#i6{> zC-85nv`+NwL_(hhFvo0Upcb^i$PNh1kkT{&{gX-6ZYs!x__0x4Fadm>`@+BP`@DP8 zPrq9FR|=^Q4{3OA#(h&_#tHjs+Kd@c1TstMZ5f|z{+++nk9BOhxz0;;}<5v(QexX=BXG_by z(Q`(7BTo{17M<3&0Y1HH`}o~wvMNwZ*?g63h8WbDXrl5};AMMo&~xPqeqhH9pIn|+ zs0nz%^0aT|j7Vi!0_>TiK|rry80)nmG;%8!^lgJGpDK5hE>NNJ$BJr)W1ORMa!=F~ ztpIx36ICiuB|>3Q0WXo>7Y=!GmF3OcUSCj{^cp2ng;5j#6u}BS;>fbC<38T5mgXVh z;A zV7BsIDZfaZ-9~Y#+rGJHW#$&h*-9A&G+8SaUV7M%-M;^SGtx*}FWh(tEg^!Fl=xo{ z?wA^=WkcLIq0a{8_fuO3Vd()^oop*`A-z!1>br67N?=o)h8ilh1vV&}+a1 z)Uj5q&>4^ZRx{=-na<&r@43(BN36Zpj8867 zZVAcIbtpB(40+266MiPx1Q7p%l4veX;&Fz@=h<@?XG#SR!P3Mq0G04)Zo__%YD{`a zyec!k>Noh!%GidPQoIs=zD}_d=csb{BrfvD<5#ye_fVuJ%HpOAmT;m4X9pM+#1X?k zN&n;U_9&_6d9tR&1$l`I#+mb&gpg_#J=66k>i>Yhe^rZ~{hOgn>QCa%BvlGke`<+I zS7gZJQXL<^K<<4*@wi7HFRXa$urG@8{3&$IQ(cL0^YFzF+Kd~SMkoE;K-MLpWWvyF zjHBkM+vo;9dg`^!gW?*0>W%#H%t0aoxv+_ObNwAJ2lgJ0$E4!db$RYUQ) z(}#201aI5Mcl4z`%oQKt$W}9Jq2robD9yQX&ulu*+L@CoLU88;w_CUGQgl=%X^DZr z4`#6ObP_ojzpk0FH*U(Jx9dWRoPv)F2O)YmH>DGNuK^x>wCL9KExneYR<+Q8#F0?x z(bTy|0iqLpaWTmKpYV$>KG=GQ_3>+|7iD{PE^&}a2!Jr**<)m2JBwvb4vy=$w=8nX zplvd+0RP%K>h4;F3#vyr>l?4YCvkwL`wt_pqk%FGD!QCg=5QLwBgJAHpX(EYf6*T{ zKD}JOQVQ&1u!;+F1x=c3r)4ONEkk^9Q-C>rZryW~@3N>X0|M{`UD$=`OMA4JeO4ZV z#41vp0pNTdyxj&3Z3faR9di^ihYC!P*P*1(3CrHU%PD$7>DAbG^OcN-c~`y6B01|& zKvh?;fvA8<-9Yo?mPM_`ahnpxbe$7yl@_NSe9BEV;u|y?Zp>6KxUMP*zyDV5 zu?ZDDS9)X6uC^hRh_Uu@sHeR2a#>{?yz%3G^H#igHwm?qi6Gu9UFlDY8Ksl^;Hd65 zUVVMd48OW$Gne9u_O3F_c@sgVT(~l9)wUoS0n371ZwD4_+K7$5ak zA>6kAtcaRtUM~47(TKN;FgM;3GAs1bdT%JqnmTI`f8RkT1$tLh0#F081#AnD68dsP zMHh=3>>JkTvNvUne+Hh_0r?@*2>kd^zq~0>YWN34N8>lU7i^e%JjzbP zfM!;~OeDI<0SPm58gWPtZU)>i%^vpJxBY+os~E7s0`6CDxCsm2V0<)i!@fD{%~vUX zbW7{JhY;FkW?>wcvH?x3uNp7Z-^-fKuF^?8M0jZa$DC)&J3NPW0t+=;p@Z;d@2{5o zEFTmuJ7VmHnl66ksWJ(0;QSfSY&8D)$`dbBs!qj8wvH0_JBTT%A02^j&suu*>YTIR zcvBkrvvw)$GC>l`hJ2y78yRc8rx6}=b5-v2q|TST2{GIeh`^Ddn_40uLP*VZ{9fw0 zcI`e|{wr0;J;R*}2J;@g5X5 zHaZ?N<-O3&e5d1|1(hZ?2x^l2tac|GZT-YoI@ajsRWweuG#~&X$V~%42q&Wu3o!UD z9hPbm36r_!-cHqiU#?8{mTdS#%(NKvDTUm~W|@LEqQ>+30J@Fee%t4Z1v4%#lh!KY zdGS7*#<2!5UAPE5*Y2Ht^YiD5>&f&dIEu#E5AcQsU*aN$)NbrF#0?#Dzi=!K7f#zb z@oDSk?7zo2=#xRVm%aT`A1?GgmsD}A+fUI2wBzQ2k%CuA$Z$UcW7P9Zcm${?{Fens z)~jwl@vV}ty_955fZ+By)C#!^PV-pH=@5QAA_NAI|1jW zuR8K;T!(5eeN>4CAyNwJ!^6p?yXGxWwE{n1Jnyx!86gj4X16UyJ6!&9-b99ZL2hPo zh}~!;o&*Xlz5hjEeMIXC)mIX(Z;)As<%a@*49M^{id6Xawtm3 z2Pq%vF65v`Fc@axztx==p5FA7w29#nVuWDhr*0XblETe|5mucAG>JeJ!rB|--hLr_ z>162)y0}BpMqF(x@*Jl&1bIiWR>#C$_`?8Sd{_DIj)v8jLZmvO$7gh5@nl)*Q&5en z?%30p9I9^V%?C*SGzvhe0AB(OEv6Ac!cOM+VX;u)o# z%Wm9@80GEmf=IZWG0lZyazKMJrB7cH*R7@nZ%WwxdX6kv7odSl(qJ~oq}{~f?&-$*1WmFkBITmUzu8jn`J(X6WTQ2$ba-Z5t5x=zaHx=&Hb@Bb5OHN<$ z)>Gvpf<$`;To=tNsmoAMy?Y9L$ZyitFNTJ{SC@*xnVsF06&MZ!gaS*MP3p)}-1_Ij z&CP~pPM4yByNipl=6*+)ZvX)3anq*|)gK(}MNOHRXHWFf@zoFApvV#5s?VysV_3s?`@T%2YIV47f zsG;&{femf9Lx~NaU7Xvji-Yw($;zQ!I^T^TPm>7}by#AndU(=T$#>5zS+SYwubz*} z8!Ev-DS7pWIozRIs=!NTAMZC}<&qEIO%=UsHr2{C)R%hd++$v6Zeu z&$`xW@vpbg(mI34cVvJ9h+D?3(v~zL8{nA@+SXrq?bA8l=Fn;zSz0k_2%t4lp^>=# zse$8`zrQENo9Iz{E#bi6hHM00nKG(@rNiVvZ^XFv67=db2WP4%Ji`CV8~^J6`*x}G zc}Q`*f!(QLAY2G(|K5i3mb$7*b-f&$3NKvY?#J^lLlEmsHZTI=1=`8QD=M!alFqq^ z&*YXZB-|^F%F80SK%yM8f9G6t=G$heIPG@yPGA!^=8kY`Xh>(FUpDMs6rX|G%2Yja zfT2DfiOVZ|_C3-4u9i-}xqZAdvc;QSNiYG!aQ)}7UM&y~Ynb@wkBa7R@HM0?{pV8v zkPsq^QRPw-8@S#F|Bx4STGP9gLt68BvZV`ACyp94O^I(m^V-+H-`56u8#3oVo)p(K z`P0UEo7p7C;j^bYtV-zcYg?%m+#kWqDX{!)btT;GC(Esj8Mp25BNhKZZqO}~GTs@S zwK=)?9@xkS>n!iY=k1yF*c*4^78M_{_C?q)$z|PJ6-xA=N_pbOj*@c6@h1^S#-S?w z;!^#wuMRf7Bn>CG6L)Tv@;SFsy_tislS?h5j%9BeRY3`pXDqexa%8#*$|^mh=gKSi zoqw|o3z=c!Q^Ptp`MR)yZ1;(eCW7Ol!a~tAxFi6ljAf5UuSkBC?neG81olDO?YsvH z_c~*nte-F(x0%PTzVC0{AlsM|PwcN+M4HS(xJIn9;iaMP4qa4Ie^nipbG|@>`h&Pf zftdS;;|WikJ2~-G-S=s1 z|19@F^zJR1I?R2$wNqLQy`^r72VI^0)1|lnjFYl=k4{~yY9YCldb(;7UghZd(dO03 z`QE^cY>4Lw{F}fCumsnru{C<;e+b?hoQLxyZPfLR1M;=uKdH|z&K;ZXjePJn$S#4~)J41{ zptLaQ-~~0Ep6JTKS#ja0PK6JDvKD&-Q*xX!g*w=pa0*2*Q&~-sR*lYURk;Xn_T9-M+9zn+wM-$kdr4j~8l8 zf>W+TL8JF@P6GG!;l@5*+I({Otk73JL(K_`sjWvRS*^MfwvRBzfQL2wZN{TZgHCzt z){yh%eT9lL;47q3;^tmS+YaA4#+%=f^`M%RyoXODz43vMeejx% zt&?kF{$uk-!d(-%P^Iu>lZw;+iMYp(*ZtoZU&Tt3wWl+Z@J!C{vN`dxgKwD{_J*&; zmaKi{71dY&Rq4ZnU2tN3JbcsVTL)+-za&L$H=uJCnB?k*NT@rP5@R>T2QNK0ZkFwL zotHNQIEjcL5V=tin0j&(#khX}FZ8PKgV%*Tv_8FL(rB+$l`zmJLa|W%LeSq@U1^-X zX4oECRoYvG)RK_l)nGCB`pp-IH2dk>@929dXc~7jnGkP7EsTlyMEt-clb*XN6wh() z+PY+DD|p$!pXsao4=x@#fes_d69nN_Q1{XYN>uqc5;y4gE{=PU80M`-CPhZOiD=;J zno|7WxArCNzv=&*6gk{B@|PzUvjAA+doywFTJ!O*{9&ff>(md&yxcOsFi7EKP=XX3 zP=LQX*SPVH;jwLH1ILxn2|tzU%ETf1)}I*=JSl5eKW};1<=u4>9qtQgA(oZGn=SdT zt|}6S|KJN(EIK==srqLumBHPt?JUtCYq(5_!`sUo^?Ks%VQG(hjNVrK|1nb66{^@) ztKaKz|54NyzH#KW0wixqFM-B zuKT;cDq+U_SC%JuKYiI8sewcV*Rf#UV!$-TcTu+v&gVyMW%ndz0)f_coUTTSdn&AL zagz!QzA`;gnY8&=qM<44{T_!MbmBVUz3tZchq+V808m&A`n+O$zRbI z0N?mZ_YOaH2+#303?yIzWJTa_U9UN=RXCpZ!IkG{cJ!;S>LOc_i>D#PjoXcLz|D1S z8Z8XTy4&NwRBgF2M{aTjUc*rK&CiQwE*sU{Te->Sc(AKPV-WsiH<^g3Gb52&0byBQ zH3P@ATADoXg=@#rQ?(9>OYfuvV}r^N{`uGHcPJ8c7W|SoK*P`@I64>CjFsGj@x=vaek%MjJ++y)EsGqFY82wb!hw(`Owe?M z)xY$fx8dUKY?+%WBHq&M%$d z#^Ya+_^MZ1LA6aRkl+O9V z)sIW@qk`tlfaNvQsE{PDvWcmXr)fe)gm*CH+2P)|+1llFsj{z60B+h_8`0j__I)WY z7eg=4ZRElE(kbGFP@8w6V@G)Fo`!FXC`i2^bsTXO@hqrh=l)s~{%wKvhAHs7Z+y1y zy^z-r)lDN4P}$uDn>!ASL-?JUg$rtaZ5kx)3J3>9%marHPv~~91r!G(yjEg386|=- zEi1$NN8{7|wmX(hy3wXi4BJJ|N+)k_=E4j{a{GV1=5&(*V~AZ(t%^{!)H0W8M4Td`I)ATg@YQ5tqhO=nI9RP0A(Y4k(1= zPJAM~|E>*=hO4DeEf~k+Y0>xk1}c1TLPpEZ-9M`7Ms4dkCU{apgjJy#%8$vn5Bjq7 zr%npIp|xq{=DyQ?W#fTACN8oCH>UD8&s5=MVRsw6s~Okv$`ji8aiJ1<(pgC@&z;%e Hga-cyfdyzu diff --git a/common/target/maven-archiver/pom.properties b/common/target/maven-archiver/pom.properties deleted file mode 100644 index 9b17ddb..0000000 --- a/common/target/maven-archiver/pom.properties +++ /dev/null @@ -1,3 +0,0 @@ -artifactId=common -groupId=io.sampadadubey.java -version=1.0 diff --git a/common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst deleted file mode 100644 index 78b3ff8..0000000 --- a/common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ /dev/null @@ -1,2 +0,0 @@ -io/sampadadubey/java/common/NumberConstants.class -io/sampadadubey/java/common/StringConstants.class diff --git a/common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst deleted file mode 100644 index b4841ba..0000000 --- a/common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ /dev/null @@ -1,2 +0,0 @@ -/home/codejournal/sampada-dubey/git/mastering-java/common/src/main/java/io/sampadadubey/java/common/StringConstants.java -/home/codejournal/sampada-dubey/git/mastering-java/common/src/main/java/io/sampadadubey/java/common/NumberConstants.java diff --git a/common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst deleted file mode 100644 index 3b748cc..0000000 --- a/common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst +++ /dev/null @@ -1,2 +0,0 @@ -io/sampadadubey/java/common/StringConstantsTest.class -io/sampadadubey/java/common/NumberConstantsTest.class diff --git a/common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst deleted file mode 100644 index 707c33f..0000000 --- a/common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst +++ /dev/null @@ -1,2 +0,0 @@ -/home/codejournal/sampada-dubey/git/mastering-java/common/src/test/java/io/sampadadubey/java/common/NumberConstantsTest.java -/home/codejournal/sampada-dubey/git/mastering-java/common/src/test/java/io/sampadadubey/java/common/StringConstantsTest.java diff --git a/common/target/site/jacoco/jacoco.xml b/common/target/site/jacoco/jacoco.xml deleted file mode 100644 index 53b6bb6..0000000 --- a/common/target/site/jacoco/jacoco.xml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/common/target/surefire-reports/TEST-io.sampadadubey.java.common.NumberConstantsTest.xml b/common/target/surefire-reports/TEST-io.sampadadubey.java.common.NumberConstantsTest.xml deleted file mode 100644 index 0e41517..0000000 --- a/common/target/surefire-reports/TEST-io.sampadadubey.java.common.NumberConstantsTest.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/common/target/surefire-reports/TEST-io.sampadadubey.java.common.StringConstantsTest.xml b/common/target/surefire-reports/TEST-io.sampadadubey.java.common.StringConstantsTest.xml deleted file mode 100644 index 879adff..0000000 --- a/common/target/surefire-reports/TEST-io.sampadadubey.java.common.StringConstantsTest.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/common/target/surefire-reports/io.sampadadubey.java.common.NumberConstantsTest.txt b/common/target/surefire-reports/io.sampadadubey.java.common.NumberConstantsTest.txt deleted file mode 100644 index 824e6cf..0000000 --- a/common/target/surefire-reports/io.sampadadubey.java.common.NumberConstantsTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.common.NumberConstantsTest -------------------------------------------------------------------------------- -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 s - in io.sampadadubey.java.common.NumberConstantsTest diff --git a/common/target/surefire-reports/io.sampadadubey.java.common.StringConstantsTest.txt b/common/target/surefire-reports/io.sampadadubey.java.common.StringConstantsTest.txt deleted file mode 100644 index f0935f7..0000000 --- a/common/target/surefire-reports/io.sampadadubey.java.common.StringConstantsTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: io.sampadadubey.java.common.StringConstantsTest -------------------------------------------------------------------------------- -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.128 s - in io.sampadadubey.java.common.StringConstantsTest diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Gigasecond.java b/exercism/src/main/java/io/sampadadubey/java/exercism/Gigasecond.java new file mode 100644 index 0000000..4958a79 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/Gigasecond.java @@ -0,0 +1,24 @@ +package io.sampadadubey.java.exercism; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.temporal.ChronoUnit; + +public class Gigasecond { + + static final long ONE_GIGASECONDS = 1_000_000_000l; + + private final LocalDateTime moment; + + public Gigasecond(final LocalDate moment) { + this(moment.atTime(0, 0)); + } + + public Gigasecond(final LocalDateTime moment) { + this.moment = moment.plus(ONE_GIGASECONDS, ChronoUnit.SECONDS); + } + + public LocalDateTime getDateTime() { + return moment; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/GigasecondTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/GigasecondTest.java new file mode 100644 index 0000000..6724613 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/GigasecondTest.java @@ -0,0 +1,52 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.Month; + +import org.junit.jupiter.api.Test; + +class GigasecondTest { + + @Test + void modernTime() { + + final Gigasecond gigaSecond = new Gigasecond(LocalDate.of(2011, Month.APRIL, 25)); + + assertThat(LocalDateTime.of(2043, Month.JANUARY, 1, 1, 46, 40)).isEqualTo(gigaSecond.getDateTime()); + } + + @Test + void afterEpochTime() { + + final Gigasecond gigaSecond = new Gigasecond(LocalDate.of(1977, Month.JUNE, 13)); + + assertThat(LocalDateTime.of(2009, Month.FEBRUARY, 19, 1, 46, 40)).isEqualTo(gigaSecond.getDateTime()); + } + + @Test + void beforeEpochTime() { + + final Gigasecond gigaSecond = new Gigasecond(LocalDate.of(1959, Month.JULY, 19)); + + assertThat(LocalDateTime.of(1991, Month.MARCH, 27, 1, 46, 40)).isEqualTo(gigaSecond.getDateTime()); + } + + @Test + void withFullTimeSpecified() { + + final Gigasecond gigaSecond = new Gigasecond(LocalDateTime.of(2015, Month.JANUARY, 24, 22, 0, 0)); + + assertThat(LocalDateTime.of(2046, Month.OCTOBER, 2, 23, 46, 40)).isEqualTo(gigaSecond.getDateTime()); + } + + @Test + void withFullTimeSpecifiedAndDayRollover() { + + final Gigasecond gigaSecond = new Gigasecond(LocalDateTime.of(2015, Month.JANUARY, 24, 23, 59, 59)); + + assertThat(LocalDateTime.of(2046, Month.OCTOBER, 3, 1, 46, 39)).isEqualTo(gigaSecond.getDateTime()); + } +} From 8d67b11e7a2c5e97b4ea2735ff05c602efbb0d9e Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Thu, 14 Jul 2022 02:47:47 +0530 Subject: [PATCH 14/77] GH-5: Exercism-Java: ScrabbleScore --- .../java/exercism/ScrabbleScore.java | 57 ++++++++++++++ .../java/exercism/ScrabbleScoreTest.java | 74 +++++++++++++++++++ 2 files changed, 131 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/ScrabbleScore.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/ScrabbleScoreTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/ScrabbleScore.java b/exercism/src/main/java/io/sampadadubey/java/exercism/ScrabbleScore.java new file mode 100644 index 0000000..42b6ae4 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/ScrabbleScore.java @@ -0,0 +1,57 @@ +package io.sampadadubey.java.exercism; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; + +class ScrabbleScore { + + static Map LETTER_VALUES = new HashMap() { + { + final String[] valueOneCharacters = new String[] { "1", "a,e,i,o,u,l,n,r,s,t" }; + final String[] valueTwoCharacters = new String[] { "2", "d,g" }; + final String[] valueThreeCharacters = new String[] { "3", "b,c,m,p" }; + final String[] valueFourCharacters = new String[] { "4", "f,h,v,w,y" }; + final String[] valueFiveCharacters = new String[] { "5", "k" }; + final String[] valueEightCharacters = new String[] { "8", "j,x" }; + final String[] valueTenCharacters = new String[] { "10", "q,z" }; + + final List values = new ArrayList<>(); + values.add(valueOneCharacters); + values.add(valueTwoCharacters); + values.add(valueThreeCharacters); + values.add(valueFourCharacters); + values.add(valueFiveCharacters); + values.add(valueEightCharacters); + values.add(valueTenCharacters); + + for (final String[] value : values) { + final Integer characterValue = Integer.parseInt(value[0]); + final String[] characters = value[1].split(","); + for (final String character : characters) { + put(character.toLowerCase(), characterValue); + put(character.toUpperCase(), characterValue); + } + } + } + }; + + private final String word; + + ScrabbleScore(final String word) { + this.word = Optional.ofNullable(word).orElseGet(() -> "").trim(); + } + + int getScore() { + + int score = 0; + + for (final char character : word.toCharArray()) { + score = score + LETTER_VALUES.get(String.valueOf(character)); + } + + return score; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/ScrabbleScoreTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/ScrabbleScoreTest.java new file mode 100644 index 0000000..6cea051 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/ScrabbleScoreTest.java @@ -0,0 +1,74 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.Test; + +class ScrabbleScoreTest { + + @Test + void testALowerCaseLetter() { + final ScrabbleScore scrabble = new ScrabbleScore("a"); + assertThat(scrabble.getScore()).isEqualTo(1); + } + + @Test + void testAUpperCaseLetter() { + final ScrabbleScore scrabble = new ScrabbleScore("A"); + assertThat(scrabble.getScore()).isEqualTo(1); + } + + @Test + void testAValuableLetter() { + final ScrabbleScore scrabble = new ScrabbleScore("f"); + assertThat(scrabble.getScore()).isEqualTo(4); + } + + @Test + void testAShortWord() { + final ScrabbleScore scrabble = new ScrabbleScore("at"); + assertThat(scrabble.getScore()).isEqualTo(2); + } + + @Test + void testAShortValuableWord() { + final ScrabbleScore scrabble = new ScrabbleScore("zoo"); + assertThat(scrabble.getScore()).isEqualTo(12); + } + + @Test + void testAMediumWord() { + final ScrabbleScore scrabble = new ScrabbleScore("street"); + assertThat(scrabble.getScore()).isEqualTo(6); + } + + @Test + void testAMediumValuableWord() { + final ScrabbleScore scrabble = new ScrabbleScore("quirky"); + assertThat(scrabble.getScore()).isEqualTo(22); + } + + @Test + void testALongMixCaseWord() { + final ScrabbleScore scrabble = new ScrabbleScore("OxyphenButazone"); + assertThat(scrabble.getScore()).isEqualTo(41); + } + + @Test + void testAEnglishLikeWord() { + final ScrabbleScore scrabble = new ScrabbleScore("pinata"); + assertThat(scrabble.getScore()).isEqualTo(8); + } + + @Test + void testAnEmptyInput() { + final ScrabbleScore scrabble = new ScrabbleScore(""); + assertThat(scrabble.getScore()).isEqualTo(0); + } + + @Test + void testEntireAlphabetAvailable() { + final ScrabbleScore scrabble = new ScrabbleScore("abcdefghijklmnopqrstuvwxyz"); + assertThat(scrabble.getScore()).isEqualTo(87); + } +} From 4240c0ca115a677f55904e98e9c1f5b3b13c9caa Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Thu, 14 Jul 2022 02:48:34 +0530 Subject: [PATCH 15/77] GH-5: Exercism-Java: Difference of Squares --- .../DifferenceOfSquaresCalculator.java | 19 +++++ .../DifferenceOfSquaresCalculatorTest.java | 79 +++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/DifferenceOfSquaresCalculator.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/DifferenceOfSquaresCalculatorTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/DifferenceOfSquaresCalculator.java b/exercism/src/main/java/io/sampadadubey/java/exercism/DifferenceOfSquaresCalculator.java new file mode 100644 index 0000000..9250661 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/DifferenceOfSquaresCalculator.java @@ -0,0 +1,19 @@ +package io.sampadadubey.java.exercism; + +public class DifferenceOfSquaresCalculator { + + int computeSquareOfSumTo(final int input) { + // Mathematical Formula = [(n x (n + 1)) / 2] ^ 2 + final int sumTo = (input * (input + 1)) / 2; + return (int) Math.pow((double) sumTo, 2.0); + } + + int computeSumOfSquaresTo(final int input) { + // Mathematical Formula = (n x n+1 x 2n+1) / 6 + return (input * (input + 1) * (2 * input + 1)) / 6; + } + + int computeDifferenceOfSquares(final int input) { + return computeSquareOfSumTo(input) - computeSumOfSquaresTo(input); + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/DifferenceOfSquaresCalculatorTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/DifferenceOfSquaresCalculatorTest.java new file mode 100644 index 0000000..fa5dfd4 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/DifferenceOfSquaresCalculatorTest.java @@ -0,0 +1,79 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +public class DifferenceOfSquaresCalculatorTest { + + private DifferenceOfSquaresCalculator calculator; + + @BeforeEach + public void setUp() { + calculator = new DifferenceOfSquaresCalculator(); + } + + @Test + public void testSquareOfSumUpToOne() { + final int expected = 1; + final int actual = calculator.computeSquareOfSumTo(1); + assertThat(actual).isEqualTo(expected); + } + + @Test + public void testSquareOfSumUpToFive() { + final int expected = 225; + final int actual = calculator.computeSquareOfSumTo(5); + assertThat(actual).isEqualTo(expected); + } + + @Test + public void testSquareOfSumUpToHundred() { + final int expected = 25502500; + final int actual = calculator.computeSquareOfSumTo(100); + assertThat(actual).isEqualTo(expected); + } + + @Test + public void testSumOfSquaresUpToOne() { + final int expected = 1; + final int actual = calculator.computeSumOfSquaresTo(1); + assertThat(actual).isEqualTo(expected); + } + + @Test + public void testSumOfSquaresUpToFive() { + final int expected = 55; + final int actual = calculator.computeSumOfSquaresTo(5); + assertThat(actual).isEqualTo(expected); + } + + @Test + public void testSumOfSquaresUpToHundred() { + final int expected = 338350; + final int actual = calculator.computeSumOfSquaresTo(100); + assertThat(actual).isEqualTo(expected); + } + + @Test + public void testDifferenceOfSquaresUpToOne() { + final int expected = 0; + final int actual = calculator.computeDifferenceOfSquares(1); + assertThat(actual).isEqualTo(expected); + } + + @Test + public void testDifferenceOfSquaresUpToFive() { + final int expected = 170; + final int actual = calculator.computeDifferenceOfSquares(5); + assertThat(actual).isEqualTo(expected); + } + + @Test + public void testDifferenceOfSquaresUpToHundred() { + final int expected = 25164150; + final int actual = calculator.computeDifferenceOfSquares(100); + assertThat(actual).isEqualTo(expected); + } +} From 33606b8a5da0bd2206d1ba5944125dc465f1cf29 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Thu, 14 Jul 2022 02:49:02 +0530 Subject: [PATCH 16/77] GH-5: Exercism-Java: Rain Converter --- .../java/exercism/RaindropConverter.java | 27 +++++ .../java/exercism/RaindropConverterTest.java | 100 ++++++++++++++++++ 2 files changed, 127 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/RaindropConverter.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/RaindropConverterTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/RaindropConverter.java b/exercism/src/main/java/io/sampadadubey/java/exercism/RaindropConverter.java new file mode 100644 index 0000000..aae0d4d --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/RaindropConverter.java @@ -0,0 +1,27 @@ +package io.sampadadubey.java.exercism; + +public class RaindropConverter { + + String convert(final int number) { + + String result = ""; + + if (number % 3 == 0) { + result += "Pling"; + } + + if (number % 5 == 0) { + result += "Plang"; + } + + if (number % 7 == 0) { + result += "Plong"; + } + + if (result.isEmpty()) { + result += String.valueOf(number); + } + + return result; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/RaindropConverterTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/RaindropConverterTest.java new file mode 100644 index 0000000..cebfb1c --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/RaindropConverterTest.java @@ -0,0 +1,100 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.Test; + +public class RaindropConverterTest { + + private RaindropConverter raindropConverter = new RaindropConverter(); + + @Test + public void soundFor1Is1() { + assertThat(raindropConverter.convert(1)).isEqualTo("1"); + } + + @Test + public void soundFor3IsPling() { + assertThat(raindropConverter.convert(3)).isEqualTo("Pling"); + } + + @Test + public void soundFor5IsPlang() { + assertThat(raindropConverter.convert(5)).isEqualTo("Plang"); + } + + @Test + public void soundFor7IsPlong() { + assertThat(raindropConverter.convert(7)).isEqualTo("Plong"); + } + + @Test + public void soundFor6IsPlingAsItHasFactor3() { + assertThat(raindropConverter.convert(6)).isEqualTo("Pling"); + } + + @Test + public void noSoundFor2Cubed() { + assertThat(raindropConverter.convert(8)).isEqualTo("8"); + } + + @Test + public void soundFor9IsPlingAsItHasFactor3() { + assertThat(raindropConverter.convert(9)).isEqualTo("Pling"); + } + + @Test + public void soundFor10IsPlangAsItHasFactor5() { + assertThat(raindropConverter.convert(10)).isEqualTo("Plang"); + } + + @Test + public void soundFor14IsPlongAsItHasFactor7() { + assertThat(raindropConverter.convert(14)).isEqualTo("Plong"); + } + + @Test + public void soundFor15IsPlingPlangAsItHasFactors3And5() { + assertThat(raindropConverter.convert(15)).isEqualTo("PlingPlang"); + } + + @Test + public void soundFor21IsPlingPlongAsItHasFactors3And7() { + assertThat(raindropConverter.convert(21)).isEqualTo("PlingPlong"); + } + + @Test + public void soundFor25IsPlangAsItHasFactor5() { + assertThat(raindropConverter.convert(25)).isEqualTo("Plang"); + } + + @Test + public void soundFor27IsPlingAsItHasFactor3() { + assertThat(raindropConverter.convert(27)).isEqualTo("Pling"); + } + + @Test + public void soundFor35IsPlangPlongAsItHasFactors5And7() { + assertThat(raindropConverter.convert(35)).isEqualTo("PlangPlong"); + } + + @Test + public void soundFor49IsPlongAsItHasFactor7() { + assertThat(raindropConverter.convert(49)).isEqualTo("Plong"); + } + + @Test + public void noSoundFor52() { + assertThat(raindropConverter.convert(52)).isEqualTo("52"); + } + + @Test + public void soundFor105IsPlingPlangPlongAsItHasFactors3And5And7() { + assertThat(raindropConverter.convert(105)).isEqualTo("PlingPlangPlong"); + } + + @Test + public void soundFor3125IsPlangAsItHasFactor5() { + assertThat(raindropConverter.convert(3125)).isEqualTo("Plang"); + } +} From 94669ce2bed106036820b861b4456d9ff4600714 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Sat, 16 Jul 2022 02:07:28 +0530 Subject: [PATCH 17/77] GH-5: Exercism-Java: Reverse String --- .../java/exercism/ReverseString.java | 19 ++++++++ .../java/exercism/ReverseStringTest.java | 46 +++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/ReverseString.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/ReverseStringTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/ReverseString.java b/exercism/src/main/java/io/sampadadubey/java/exercism/ReverseString.java new file mode 100644 index 0000000..459e336 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/ReverseString.java @@ -0,0 +1,19 @@ +package io.sampadadubey.java.exercism; + +import java.util.Optional; + +public class ReverseString { + + String reverse(String inputString) { + + final String input = Optional.ofNullable(inputString).orElseGet(() -> "").trim(); + + final StringBuilder reverse = new StringBuilder(); + + for (int index = input.length() - 1; index >= 0; index--) { + reverse.append(input.charAt(index)); + } + + return reverse.toString(); + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/ReverseStringTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/ReverseStringTest.java new file mode 100644 index 0000000..f09b1cc --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/ReverseStringTest.java @@ -0,0 +1,46 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +class ReverseStringTest { + + private ReverseString fixture; + + @BeforeEach + void setUp() { + fixture = new ReverseString(); + } + + @Test + void testAnEmptyString() { + assertThat(fixture.reverse("")).isEqualTo(""); + } + + @Test + void testAWord() { + assertThat(fixture.reverse("robot")).isEqualTo("tobor"); + } + + @Test + void testACapitalizedWord() { + assertThat(fixture.reverse("Ramen")).isEqualTo("nemaR"); + } + + @Test + void testASentenceWithPunctuation() { + assertThat(fixture.reverse("I'm hungry!")).isEqualTo("!yrgnuh m'I"); + } + + @Test + void testAPalindrome() { + assertThat(fixture.reverse("racecar")).isEqualTo("racecar"); + } + + @Test + void testAnEvenSizedWord() { + assertThat(fixture.reverse("drawer")).isEqualTo("reward"); + } +} From 8e4e7a305fd6dc7f180e34789e48c3f4af0d6cf4 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Sat, 16 Jul 2022 02:08:09 +0530 Subject: [PATCH 18/77] GH-5: Exercism-Java: Darts --- .../io/sampadadubey/java/exercism/Darts.java | 27 ++++++ .../sampadadubey/java/exercism/DartsTest.java | 86 +++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/Darts.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/DartsTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Darts.java b/exercism/src/main/java/io/sampadadubey/java/exercism/Darts.java new file mode 100644 index 0000000..646ed9d --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/Darts.java @@ -0,0 +1,27 @@ +package io.sampadadubey.java.exercism; + +public class Darts { + + private final double hypotenuse; + + Darts(final double xPoint, final double yPoint) { + this.hypotenuse = Math.sqrt(Math.pow(xPoint, 2) + Math.pow(yPoint, 2)); + } + + int score() { + + final int score; + + if (hypotenuse <= 1) { + score = 10; + } else if (hypotenuse <= 5) { + score = 5; + } else if (hypotenuse <= 10) { + score = 1; + } else { + score = 0; + } + + return score; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/DartsTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/DartsTest.java new file mode 100644 index 0000000..b976956 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/DartsTest.java @@ -0,0 +1,86 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.Test; + +public class DartsTest { + + @Test + public void missedTarget() { + final Darts dart = new Darts(-9, 9); + assertThat(dart.score()).isEqualTo(0); + } + + @Test + public void onTheOuterCircle() { + final Darts dart = new Darts(0, 10); + assertThat(dart.score()).isEqualTo(1); + } + + @Test + public void onTheMiddleCircle() { + final Darts dart = new Darts(-5, 0); + assertThat(dart.score()).isEqualTo(5); + } + + @Test + public void onTheInnerCircle() { + final Darts dart = new Darts(0, -1); + assertThat(dart.score()).isEqualTo(10); + } + + @Test + public void exactlyOnCentre() { + final Darts dart = new Darts(0, 0); + assertThat(dart.score()).isEqualTo(10); + } + + @Test + public void nearTheCentre() { + final Darts dart = new Darts(-0.1, -0.1); + assertThat(dart.score()).isEqualTo(10); + } + + @Test + public void justWithinTheInnerCircle() { + final Darts dart = new Darts(0.7, 0.7); + assertThat(dart.score()).isEqualTo(10); + } + + @Test + public void justOutsideTheInnerCircle() { + final Darts dart = new Darts(0.8, -0.8); + assertThat(dart.score()).isEqualTo(5); + } + + @Test + public void justWithinTheMiddleCirlce() { + final Darts dart = new Darts(-3.5, 3.5); + assertThat(dart.score()).isEqualTo(5); + } + + @Test + public void justOutsideTheMiddleCircle() { + final Darts dart = new Darts(-3.6, -3.6); + assertThat(dart.score()).isEqualTo(1); + } + + @Test + public void justWithinTheOuterCirlce() { + final Darts dart = new Darts(-7.0, 7.0); + assertThat(dart.score()).isEqualTo(1); + } + + @Test + public void justOutsideTheOuterCircle() { + final Darts dart = new Darts(7.1, -7.1); + assertThat(dart.score()).isEqualTo(0); + } + + @Test + public void asymmetricPositionBetweenTheInnerAndMiddleCircles() { + final Darts dart = new Darts(0.5, -4); + assertThat(dart.score()).isEqualTo(5); + } +} From dc26304b1d4c393a4c5cbd4cff0c7adb505f47a4 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Sat, 16 Jul 2022 02:10:27 +0530 Subject: [PATCH 19/77] GH-5: Exercism-Java: ResistorColor --- .../java/exercism/ResistorColor.java | 12 ++++ .../java/exercism/ResistorColorCode.java | 56 +++++++++++++++++++ .../java/exercism/ResistorColorTest.java | 37 ++++++++++++ 3 files changed, 105 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColor.java create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColorCode.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/ResistorColorTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColor.java b/exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColor.java new file mode 100644 index 0000000..5a7f5db --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColor.java @@ -0,0 +1,12 @@ +package io.sampadadubey.java.exercism; + +public class ResistorColor { + + int colorCode(final String color) { + return ResistorColorCode.getColorCodeByName(color).getColorCode(); + } + + String[] colors() { + return ResistorColorCode.colors(); + } +} diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColorCode.java b/exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColorCode.java new file mode 100644 index 0000000..0459143 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColorCode.java @@ -0,0 +1,56 @@ +package io.sampadadubey.java.exercism; + +import java.util.Arrays; + +public enum ResistorColorCode { + + BLACK(0), + + BROWN(1), + + RED(2), + + ORANGE(3), + + YELLOW(4), + + GREEN(5), + + BLUE(6), + + VIOLET(7), + + GREY(8), + + WHITE(9); + + private int colorCode; + + private ResistorColorCode(final int colorCode) { + this.colorCode = colorCode; + } + + public int getColorCode() { + return colorCode; + } + + static ResistorColorCode getColorCodeByName(final String color) { + return Arrays.stream(ResistorColorCode.values()) + .filter(it -> it.name().equalsIgnoreCase(color)) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("Invalid Resistor Color - " + color)); + } + + static String[] colors() { + + final ResistorColorCode[] values = values(); + + final String[] colors = new String[values.length]; + + for (int index = 0; index < values.length; index++) { + colors[index] = values[index].name().toLowerCase(); + } + + return colors; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/ResistorColorTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/ResistorColorTest.java new file mode 100644 index 0000000..076d41a --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/ResistorColorTest.java @@ -0,0 +1,37 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +class ResistorColorTest { + + private ResistorColor resistorColor; + + @BeforeEach + void setup() { + resistorColor = new ResistorColor(); + } + + @Test + void testBlackColorCode() { + assertThat(resistorColor.colorCode("black")).isEqualTo(0); + } + + @Test + void testWhiteColorCode() { + assertThat(resistorColor.colorCode("white")).isEqualTo(9); + } + + @Test + void testOrangeColorCode() { + assertThat(resistorColor.colorCode("orange")).isEqualTo(3); + } + + @Test + void testColors() { + assertThat(resistorColor.colors()).containsExactly( + "black", "brown", "red", "orange", "yellow", "green", "blue", "violet", "grey", "white"); + } +} From 6f29db708e8d829e5188f5def51bea904bfe8b86 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Sun, 17 Jul 2022 00:48:04 +0530 Subject: [PATCH 20/77] GH-5: Exercism-Java: ResistorColorDuo --- .../java/exercism/ResistorColorDuo.java | 17 +++++++ .../java/exercism/ResistorColorDuoTest.java | 50 +++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColorDuo.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/ResistorColorDuoTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColorDuo.java b/exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColorDuo.java new file mode 100644 index 0000000..9ddb34e --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColorDuo.java @@ -0,0 +1,17 @@ +package io.sampadadubey.java.exercism; + +public class ResistorColorDuo { + + int value(final String[] colors) { + + final StringBuilder code = new StringBuilder(); + + final int length = Math.min(1, colors.length); + + for (int index = 0; index <= length; index++) { + code.append(ResistorColorCode.getColorCodeByName(colors[index]).getColorCode()); + } + + return Integer.parseInt(code.toString(), 10); + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/ResistorColorDuoTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/ResistorColorDuoTest.java new file mode 100644 index 0000000..8ea8f2a --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/ResistorColorDuoTest.java @@ -0,0 +1,50 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +public class ResistorColorDuoTest { + private ResistorColorDuo resistorColorDuo; + + @BeforeEach + public void setup() { + resistorColorDuo = new ResistorColorDuo(); + } + + @Test + public void testBrownAndBlack() { + final String[] colors = new String[] { "brown", "black" }; + final int expected = 10; + assertThat(resistorColorDuo.value(colors)).isEqualTo(expected); + } + + @Test + public void testBlueAndGrey() { + final String[] colors = new String[] { "blue", "grey" }; + final int expected = 68; + assertThat(resistorColorDuo.value(colors)).isEqualTo(expected); + } + + @Test + public void testYellowAndViolet() { + final String[] colors = new String[] { "yellow", "violet" }; + final int expected = 47; + assertThat(resistorColorDuo.value(colors)).isEqualTo(expected); + } + + @Test + public void testOrangeAndOrange() { + final String[] colors = new String[] { "orange", "orange" }; + final int expected = 33; + assertThat(resistorColorDuo.value(colors)).isEqualTo(expected); + } + + @Test + public void testIgnoreAdditionalColors() { + final String[] colors = new String[] { "green", "brown", "orange" }; + final int expected = 51; + assertThat(resistorColorDuo.value(colors)).isEqualTo(expected); + } +} From 37b9ac87de4dc98fcc0fa3cde768f3dd5d2ea2d8 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Sun, 17 Jul 2022 00:48:32 +0530 Subject: [PATCH 21/77] GH-5: Exercism-Java: Grains --- .../io/sampadadubey/java/exercism/Grains.java | 43 ++++++++++ .../java/exercism/GrainsTest.java | 82 +++++++++++++++++++ 2 files changed, 125 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/Grains.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/GrainsTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Grains.java b/exercism/src/main/java/io/sampadadubey/java/exercism/Grains.java new file mode 100644 index 0000000..e2aa64e --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/Grains.java @@ -0,0 +1,43 @@ +package io.sampadadubey.java.exercism; + +import java.math.BigInteger; +import java.util.HashMap; +import java.util.Map; + +public class Grains { + + static final Map GRAINS_ON_SQUARE = new HashMap<>(); + + static BigInteger TOTAL_GRAINS = BigInteger.ZERO; + + static { + + BigInteger grainOnPosition = BigInteger.ONE; + + for (int position = 1; position <= 64; position++) { + + // Math.pow is not accurate for very big numbers. That is why multiplication on + // BigInteger is required + grainOnPosition = position != 1 ? grainOnPosition.multiply(BigInteger.TWO) : BigInteger.ONE; + + // Store the grainOnPosition on the Map + GRAINS_ON_SQUARE.put(position, grainOnPosition); + + // Calculate and store the total Grains + TOTAL_GRAINS = TOTAL_GRAINS.add(grainOnPosition); + } + } + + BigInteger grainsOnSquare(final int square) { + + if (1 <= square && square <= 64) { + return GRAINS_ON_SQUARE.get(square); + } + + throw new IllegalArgumentException("square must be between 1 and 64"); + } + + BigInteger grainsOnBoard() { + return TOTAL_GRAINS; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/GrainsTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/GrainsTest.java new file mode 100644 index 0000000..960bc44 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/GrainsTest.java @@ -0,0 +1,82 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; + +import java.math.BigInteger; + +import org.junit.jupiter.api.Test; + +public class GrainsTest { + + private Grains grains = new Grains(); + + @Test + public void countAtSquare1() { + final BigInteger result = grains.grainsOnSquare(1); + assertThat(result).isEqualTo(new BigInteger("1")); + } + + @Test + public void countAtSquare2() { + final BigInteger result = grains.grainsOnSquare(2); + assertThat(result).isEqualTo(new BigInteger("2")); + } + + @Test + public void countAtSquare3() { + final BigInteger result = grains.grainsOnSquare(3); + assertThat(result).isEqualTo(new BigInteger("4")); + } + + @Test + public void countAtSquare4() { + final BigInteger result = grains.grainsOnSquare(4); + assertThat(result).isEqualTo(new BigInteger("8")); + } + + @Test + public void countAtSquare16() { + final BigInteger result = grains.grainsOnSquare(16); + assertThat(result).isEqualTo(new BigInteger("32768")); + } + + @Test + public void countAtSquare32() { + final BigInteger result = grains.grainsOnSquare(32); + assertThat(result).isEqualTo(new BigInteger("2147483648")); + } + + @Test + public void countAtSquare64() { + final BigInteger result = grains.grainsOnSquare(64); + assertThat(result).isEqualTo(new BigInteger("9223372036854775808")); + } + + @Test + public void errorOnNullBoardSize() { + assertThatExceptionOfType(IllegalArgumentException.class) + .isThrownBy(() -> grains.grainsOnSquare(0)) + .withMessage("square must be between 1 and 64"); + } + + @Test + public void errorOnNegativeBoardSize() { + assertThatExceptionOfType(IllegalArgumentException.class) + .isThrownBy(() -> grains.grainsOnSquare(-1)) + .withMessage("square must be between 1 and 64"); + } + + @Test + public void errorOnExcessiveBoardSize() { + assertThatExceptionOfType(IllegalArgumentException.class) + .isThrownBy(() -> grains.grainsOnSquare(65)) + .withMessage("square must be between 1 and 64"); + } + + @Test + public void totalNumberOfGrainsOnABoard() { + final BigInteger total = grains.grainsOnBoard(); + assertThat(total).isEqualTo(new BigInteger("18446744073709551615")); + } +} From 8cd5bb9b1d05a6234bedeb96203ca974054283c3 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Sun, 17 Jul 2022 01:41:49 +0530 Subject: [PATCH 22/77] GH-5: Exercism-Java: Dungeon & Dragon Character --- .../java/exercism/DnDCharacter.java | 100 +++++++++++++++ .../java/exercism/DnDCharacterTest.java | 119 ++++++++++++++++++ 2 files changed, 219 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/DnDCharacter.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/DnDCharacterTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/DnDCharacter.java b/exercism/src/main/java/io/sampadadubey/java/exercism/DnDCharacter.java new file mode 100644 index 0000000..9d53741 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/DnDCharacter.java @@ -0,0 +1,100 @@ +package io.sampadadubey.java.exercism; + +import java.util.Arrays; +import java.util.Random; + +public class DnDCharacter { + + static final Random DICE = new Random(); + + static int rollDice() { + final int rolledValue = DICE.nextInt(6); + return rolledValue != 0 ? rolledValue : 1; + } + + private final int strength; + + private final int dexterity; + + private final int constitution; + + private final int intelligence; + + private final int wisdom; + + private final int charisma; + + DnDCharacter() { + this.strength = ability(); + this.dexterity = ability(); + this.constitution = ability(); + this.intelligence = ability(); + this.wisdom = ability(); + this.charisma = ability(); + } + + int ability() { + return getSum(getHighestNValues(4, 3)); + } + + int modifier(final int input) { + return (int) Math.floor((input - 10.0) / 2); + } + + int getStrength() { + return strength; + } + + int getDexterity() { + return dexterity; + } + + int getConstitution() { + return constitution; + } + + int getIntelligence() { + return intelligence; + } + + int getWisdom() { + return wisdom; + } + + int getCharisma() { + return charisma; + } + + int getHitpoints() { + return 10 + modifier(constitution); + } + + private int getSum(final int[] values) { + return Arrays.stream(values).sum(); + } + + private int[] getHighestNValues(final int count, final int highestN) { + + final int[] values = getRandomValues(count); + final int[] highestNValues = new int[highestN]; + + Arrays.sort(values); + + for (int index = 0; index < highestN; index++) { + highestNValues[index] = values[values.length - index - 1]; + } + + return highestNValues; + } + + private int[] getRandomValues(final int count) { + + final int[] values = new int[count]; + + for (int index = 0; index < count; index++) { + values[index] = rollDice(); + } + + return values; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/DnDCharacterTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/DnDCharacterTest.java new file mode 100644 index 0000000..47b08b0 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/DnDCharacterTest.java @@ -0,0 +1,119 @@ +package io.sampadadubey.java.exercism; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.junit.jupiter.api.Test; + +public class DnDCharacterTest { + + private final DnDCharacter dndCharacter = new DnDCharacter(); + + @Test + public void testAbilityModifierForScore3IsNegative4() { + assertEquals(-4, dndCharacter.modifier(3)); + } + + @Test + public void testAbilityModifierForScore4IsNegative3() { + assertEquals(-3, dndCharacter.modifier(4)); + } + + @Test + public void testAbilityModifierForScore5IsNegative3() { + assertEquals(-3, dndCharacter.modifier(5)); + } + + @Test + public void testAbilityModifierForScore6IsNegative2() { + assertEquals(-2, dndCharacter.modifier(6)); + } + + @Test + public void testAbilityModifierForScore7IsNegative2() { + assertEquals(-2, dndCharacter.modifier(7)); + } + + @Test + public void testAbilityModifierForScore8IsNegative1() { + assertEquals(-1, dndCharacter.modifier(8)); + } + + @Test + public void testAbilityModifierForScore9IsNegative1() { + assertEquals(-1, dndCharacter.modifier(9)); + } + + @Test + public void testAbilityModifierForScore10Is0() { + assertEquals(0, dndCharacter.modifier(10)); + } + + @Test + public void testAbilityModifierForScore11Is0() { + assertEquals(0, dndCharacter.modifier(11)); + } + + @Test + public void testAbilityModifierForScore12Is1() { + assertEquals(1, dndCharacter.modifier(12)); + } + + @Test + public void testAbilityModifierForScore13Is1() { + assertEquals(1, dndCharacter.modifier(13)); + } + + @Test + public void testAbilityModifierForScore14Is2() { + assertEquals(2, dndCharacter.modifier(14)); + } + + @Test + public void testAbilityModifierForScore15Is2() { + assertEquals(2, dndCharacter.modifier(15)); + } + + @Test + public void testAbilityModifierForScore16Is3() { + assertEquals(3, dndCharacter.modifier(16)); + } + + @Test + public void testAbilityModifierForScore17Is3() { + assertEquals(3, dndCharacter.modifier(17)); + } + + @Test + public void testAbilityModifierForScore18Is4() { + assertEquals(4, dndCharacter.modifier(18)); + } + + @Test + public void testRandomAbilityIsWithinRange() { + final int score = dndCharacter.ability(); + assertTrue(score > 2 && score < 19); + } + + @Test + public void testRandomCharacterIsValid() { + + for (int index = 0; index < 1000; index++) { + + final DnDCharacter character = new DnDCharacter(); + + assertTrue(character.getStrength() > 2 && character.getStrength() < 19); + assertTrue(character.getDexterity() > 2 && character.getDexterity() < 19); + assertTrue(character.getConstitution() > 2 && character.getConstitution() < 19); + assertTrue(character.getIntelligence() > 2 && character.getIntelligence() < 19); + assertTrue(character.getWisdom() > 2 && character.getWisdom() < 19); + assertTrue(character.getCharisma() > 2 && character.getCharisma() < 19); + assertEquals(character.getHitpoints(), 10 + character.modifier(character.getConstitution())); + } + } + + @Test + public void testEachAbilityIsOnlyCalculatedOnce() { + assertEquals(dndCharacter.getStrength(), dndCharacter.getStrength()); + } +} From 04e9cb41aaa53613d0369233e74f522f608be272 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Sun, 17 Jul 2022 23:12:27 +0530 Subject: [PATCH 23/77] GH-5: Exercism-Java: Acronym --- .../sampadadubey/java/exercism/Acronym.java | 27 ++++++++ .../java/exercism/AcronymTest.java | 62 +++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/Acronym.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/AcronymTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Acronym.java b/exercism/src/main/java/io/sampadadubey/java/exercism/Acronym.java new file mode 100644 index 0000000..2cf0c1a --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/Acronym.java @@ -0,0 +1,27 @@ +package io.sampadadubey.java.exercism; + +public class Acronym { + + private final String phrase; + + Acronym(final String phrase) { + this.phrase = phrase; + } + + String get() { + + final String[] parts = getCleanedPhrase().split(" "); + + final StringBuilder acronym = new StringBuilder(); + + for (final String part : parts) { + acronym.append(part.charAt(0)); + } + + return acronym.toString().toUpperCase(); + } + + private String getCleanedPhrase() { + return phrase.replaceAll("[^A-Za-z]*\\s+[^A-Za-z]*", " ").replaceAll("-", " "); + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/AcronymTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/AcronymTest.java new file mode 100644 index 0000000..79f2f82 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/AcronymTest.java @@ -0,0 +1,62 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.Test; + +class AcronymTest { + + @Test + void basic() { + assertThat(new Acronym("Portable Network Graphics").get()) + .isEqualTo("PNG"); + } + + @Test + void lowercaseWords() { + assertThat(new Acronym("Ruby on Rails").get()) + .isEqualTo("ROR"); + } + + @Test + void punctuation() { + assertThat(new Acronym("First In, First Out").get()) + .isEqualTo("FIFO"); + } + + @Test + void nonAcronymAllCapsWord() { + assertThat(new Acronym("GNU Image Manipulation Program").get()) + .isEqualTo("GIMP"); + } + + @Test + void punctuationWithoutWhitespace() { + assertThat(new Acronym("Complementary metal-oxide semiconductor").get()) + .isEqualTo("CMOS"); + } + + @Test + void veryLongAbbreviation() { + assertThat(new Acronym("Rolling On The Floor Laughing So Hard That My Dogs Came Over And Licked Me").get()) + .isEqualTo("ROTFLSHTMDCOALM"); + } + + @Test + void consecutiveDelimiters() { + assertThat(new Acronym("Something - I made up from thin air").get()) + .isEqualTo("SIMUFTA"); + } + + @Test + void apostrophes() { + assertThat(new Acronym("Halley's Comet").get()) + .isEqualTo("HC"); + } + + @Test + void underscoreEmphasis() { + assertThat(new Acronym("The Road _Not_ Taken").get()) + .isEqualTo("TRNT"); + } +} From 4a5f2073ef39711d586c84469a1d07c5cd99ca17 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Sun, 17 Jul 2022 23:13:00 +0530 Subject: [PATCH 24/77] GH-5: Exercism-Java: Pangram Checker --- .../java/exercism/PangramChecker.java | 17 +++++ .../java/exercism/PangramCheckerTest.java | 66 +++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/PangramChecker.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/PangramCheckerTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/PangramChecker.java b/exercism/src/main/java/io/sampadadubey/java/exercism/PangramChecker.java new file mode 100644 index 0000000..5f4104a --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/PangramChecker.java @@ -0,0 +1,17 @@ +package io.sampadadubey.java.exercism; + +import static java.util.stream.Collectors.toSet; + +import java.util.Arrays; +import java.util.Set; + +public class PangramChecker { + + public boolean isPangram(final String input) { + + final Set characters = Arrays.stream("abcdefghijklmnopqrstuvwxyz".split("")).collect(toSet()); + final Set inputCharacters = Arrays.stream(input.split("")).map(String::toLowerCase).collect(toSet()); + + return inputCharacters.containsAll(characters); + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/PangramCheckerTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/PangramCheckerTest.java new file mode 100644 index 0000000..bf646c4 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/PangramCheckerTest.java @@ -0,0 +1,66 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +class PangramCheckerTest { + + private PangramChecker pangramChecker; + + @BeforeEach + void setup() { + pangramChecker = new PangramChecker(); + } + + @Test + void emptySentenceIsNotPangram() { + assertThat(pangramChecker.isPangram("")).isFalse(); + } + + @Test + void perfectLowerCasePhraseIsPangram() { + assertThat(pangramChecker.isPangram("abcdefghijklmnopqrstuvwxyz")).isTrue(); + } + + @Test + void phraseWithOnlyLowerCaseIsPangram() { + assertThat(pangramChecker.isPangram("the quick brown fox jumps over the lazy dog")).isTrue(); + } + + @Test + void phraseMissingCharacterXIsNotPangram() { + assertThat(pangramChecker.isPangram("a quick movement of the enemy will jeopardize five gunboats")).isFalse(); + } + + @Test + void phraseMissingCharacterHIsNotPangram() { + assertThat(pangramChecker.isPangram("five boxing wizards jump quickly at it")).isFalse(); + } + + @Test + void phraseWithUnderscoresIsPangram() { + assertThat(pangramChecker.isPangram("the_quick_brown_fox_jumps_over_the_lazy_dog")).isTrue(); + } + + @Test + void phraseWithNumbersIsPangram() { + assertThat(pangramChecker.isPangram("the 1 quick brown fox jumps over the 2 lazy dogs")).isTrue(); + } + + @Test + void phraseWithMissingLettersReplacedByNumbersIsNotPangram() { + assertThat(pangramChecker.isPangram("7h3 qu1ck brown fox jumps ov3r 7h3 lazy dog")).isFalse(); + } + + @Test + void phraseWithMixedCaseAndPunctuationIsPangram() { + assertThat(pangramChecker.isPangram("\"Five quacking Zephyrs jolt my wax bed.\"")).isTrue(); + } + + @Test + void caseInsensitivePhraseIsNotPangram() { + assertThat(pangramChecker.isPangram("the quick brown fox jumps over with lazy FX")).isFalse(); + } +} From 1bde68684f582c81cae75a96d5a6293eb8505bb8 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Mon, 18 Jul 2022 23:15:57 +0530 Subject: [PATCH 25/77] GH-5: Exercism-Java: Hamming Distance --- .../sampadadubey/java/exercism/Hamming.java | 43 +++++++++++++ .../java/exercism/HammingTest.java | 62 +++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/Hamming.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/HammingTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Hamming.java b/exercism/src/main/java/io/sampadadubey/java/exercism/Hamming.java new file mode 100644 index 0000000..97c18ee --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/Hamming.java @@ -0,0 +1,43 @@ +package io.sampadadubey.java.exercism; + +public class Hamming { + + private final String leftStrand; + + private final String rightStrand; + + public Hamming(final String leftStrand, final String rightStrand) { + + if (leftStrand.trim().isEmpty() && !rightStrand.trim().isEmpty()) { + throw new IllegalArgumentException("left strand must not be empty."); + } + + if (rightStrand.trim().isEmpty() && !leftStrand.trim().isEmpty()) { + throw new IllegalArgumentException("right strand must not be empty."); + } + + final int leftStrandLength = leftStrand.length(); + final int rightStrandLength = rightStrand.length(); + + if (leftStrandLength != rightStrandLength) { + throw new IllegalArgumentException("leftStrand and rightStrand must be of equal length."); + } + + this.leftStrand = leftStrand; + this.rightStrand = rightStrand; + + } + + public int getHammingDistance() { + + int hammingDistance = 0; + + for (int index = 0; index < leftStrand.length(); index++) { + if (leftStrand.charAt(index) != rightStrand.charAt(index)) { + hammingDistance++; + } + } + + return hammingDistance; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/HammingTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/HammingTest.java new file mode 100644 index 0000000..9a5c9c5 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/HammingTest.java @@ -0,0 +1,62 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; + +import org.junit.jupiter.api.Test; + +class HammingTest { + + @Test + void testNoDistanceBetweenEmptyStrands() { + assertThat(new Hamming("", "").getHammingDistance()).isEqualTo(0); + } + + @Test + void testNoDistanceBetweenShortIdenticalStrands() { + assertThat(new Hamming("A", "A").getHammingDistance()).isEqualTo(0); + } + + @Test + void testCompleteDistanceInSingleLetterDifferentStrands() { + assertThat(new Hamming("G", "T").getHammingDistance()).isEqualTo(1); + } + + @Test + void testDistanceInLongIdenticalStrands() { + assertThat(new Hamming("GGACTGAAATCTG", "GGACTGAAATCTG").getHammingDistance()).isEqualTo(0); + } + + @Test + void testDistanceInLongDifferentStrands() { + assertThat(new Hamming("GGACGGATTCTG", "AGGACGGATTCT").getHammingDistance()).isEqualTo(9); + } + + @Test + void testValidatesFirstStrandNotLonger() { + assertThatIllegalArgumentException() + .isThrownBy(() -> new Hamming("AATG", "AAA")) + .withMessage("leftStrand and rightStrand must be of equal length."); + } + + @Test + void testValidatesSecondStrandNotLonger() { + assertThatIllegalArgumentException() + .isThrownBy(() -> new Hamming("ATA", "AGTG")) + .withMessage("leftStrand and rightStrand must be of equal length."); + } + + @Test + void testDisallowLeftEmptyStrand() { + assertThatIllegalArgumentException() + .isThrownBy(() -> new Hamming("", "G")) + .withMessage("left strand must not be empty."); + } + + @Test + void testDisallowRightEmptyStrand() { + assertThatIllegalArgumentException() + .isThrownBy(() -> new Hamming("G", "")) + .withMessage("right strand must not be empty."); + } +} From 986eb526a36b8533a8fc5eae69d4dc022067deb2 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Mon, 18 Jul 2022 23:16:23 +0530 Subject: [PATCH 26/77] GH-5: Exercism-Java: RNA Transcription --- .../java/exercism/RnaTranscription.java | 27 +++++++++++ .../java/exercism/RnaTranscriptionTest.java | 46 +++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/RnaTranscription.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/RnaTranscriptionTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/RnaTranscription.java b/exercism/src/main/java/io/sampadadubey/java/exercism/RnaTranscription.java new file mode 100644 index 0000000..1d011bc --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/RnaTranscription.java @@ -0,0 +1,27 @@ +package io.sampadadubey.java.exercism; + +import java.util.HashMap; +import java.util.Map; + +class RnaTranscription { + + static final Map DNA_TO_RNA = new HashMap<>() { + { + put('G', "C"); + put('C', "G"); + put('T', "A"); + put('A', "U"); + } + }; + + String transcribe(final String dnaStrand) { + + final StringBuilder rnaStrand = new StringBuilder(dnaStrand.length()); + + for (final Character character : dnaStrand.toCharArray()) { + rnaStrand.append(DNA_TO_RNA.get(character)); + } + + return rnaStrand.toString(); + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/RnaTranscriptionTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/RnaTranscriptionTest.java new file mode 100644 index 0000000..7f0c9e1 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/RnaTranscriptionTest.java @@ -0,0 +1,46 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +class RnaTranscriptionTest { + + private RnaTranscription rnaTranscription; + + @BeforeEach + void setUp() { + rnaTranscription = new RnaTranscription(); + } + + @Test + void testEmptyRnaSequence() { + assertThat(rnaTranscription.transcribe("")).isEmpty(); + } + + @Test + void testRnaTranscriptionOfCytosineIsGuanine() { + assertThat(rnaTranscription.transcribe("C")).isEqualTo("G"); + } + + @Test + void testRnaTranscriptionOfGuanineIsCytosine() { + assertThat(rnaTranscription.transcribe("G")).isEqualTo("C"); + } + + @Test + void testRnaTranscriptionOfThymineIsAdenine() { + assertThat(rnaTranscription.transcribe("T")).isEqualTo("A"); + } + + @Test + void testRnaTranscriptionOfAdenineIsUracil() { + assertThat(rnaTranscription.transcribe("A")).isEqualTo("U"); + } + + @Test + void testRnaTranscription() { + assertThat(rnaTranscription.transcribe("ACGTGGTCTTAA")).isEqualTo("UGCACCAGAAUU"); + } +} From 8093699acf4010334f9527ebae8d863ee142f9b3 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Mon, 18 Jul 2022 23:16:44 +0530 Subject: [PATCH 27/77] GH-5: Exercism-Java: Leap Year --- .../sampadadubey/java/exercism/LeapYear.java | 17 ++++++ .../java/exercism/LeapYearTest.java | 61 +++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/LeapYear.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/LeapYearTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/LeapYear.java b/exercism/src/main/java/io/sampadadubey/java/exercism/LeapYear.java new file mode 100644 index 0000000..9060362 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/LeapYear.java @@ -0,0 +1,17 @@ +package io.sampadadubey.java.exercism; + +public class LeapYear { + + boolean isLeapYear(final int year) { + + boolean leapYear = false; + + if (year % 100 == 0) { + leapYear = year % 400 == 0; + } else { + leapYear = year % 4 == 0; + } + + return leapYear; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/LeapYearTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/LeapYearTest.java new file mode 100644 index 0000000..ef9f8a7 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/LeapYearTest.java @@ -0,0 +1,61 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +public class LeapYearTest { + + private LeapYear leap; + + @BeforeEach + public void setup() { + leap = new LeapYear(); + } + + @Test + public void testYearNotDivBy4InCommonYear() { + assertThat(leap.isLeapYear(2015)).isFalse(); + } + + @Test + public void testYearDivBy2NotDivBy4InCommonYear() { + assertThat(leap.isLeapYear(1970)).isFalse(); + } + + @Test + public void testYearDivBy4NotDivBy100InLeapYear() { + assertThat(leap.isLeapYear(1996)).isTrue(); + } + + @Test + public void testYearDivBy4And5InLeapYear() { + assertThat(leap.isLeapYear(1960)).isTrue(); + } + + @Test + public void testYearDivBy100NotDivBy400InCommonYear() { + assertThat(leap.isLeapYear(2100)).isFalse(); + } + + @Test + public void testYearDivBy100NotDivBy3IsNotLeapYear() { + assertThat(leap.isLeapYear(1900)).isFalse(); + } + + @Test + public void testYearDivBy400InLeapYear() { + assertThat(leap.isLeapYear(2000)).isTrue(); + } + + @Test + public void testYearDivBy400NotDivBy125IsLeapYear() { + assertThat(leap.isLeapYear(2400)).isTrue(); + } + + @Test + public void testYearDivBy200NotDivBy400InCommonYear() { + assertThat(leap.isLeapYear(1800)).isFalse(); + } +} From 58017e5cf00c753221f0e6975b77f02ced57d479 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Wed, 20 Jul 2022 00:31:29 +0530 Subject: [PATCH 28/77] GH-5: Exercism-Java: Perfect Numbers --- .../java/exercism/NaturalNumber.java | 61 +++++++++++++ .../java/exercism/NaturalNumberTest.java | 85 +++++++++++++++++++ 2 files changed, 146 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/NaturalNumber.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/NaturalNumberTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/NaturalNumber.java b/exercism/src/main/java/io/sampadadubey/java/exercism/NaturalNumber.java new file mode 100644 index 0000000..c712a0d --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/NaturalNumber.java @@ -0,0 +1,61 @@ +package io.sampadadubey.java.exercism; + +public class NaturalNumber { + + private final int number; + + public NaturalNumber(final int number) { + + if (number <= 0) { + throw new IllegalArgumentException("You must supply a natural number (positive integer)"); + } + + this.number = number; + } + + public Classification getClassification() { + + final Classification result; + + if (number != 1) { + + int loopNumber = number; + int sum = 1; + int divisor = 2; + + while (divisor < loopNumber) { + + final double dividendWithDecimal = ((double) number) / divisor; + final double dividendWithoutDecimal = Math.floor(dividendWithDecimal); + + if (dividendWithDecimal == dividendWithoutDecimal) { + loopNumber = (int) dividendWithDecimal; + if (divisor != loopNumber) { + sum = sum + divisor + loopNumber; + } else { + sum = sum + divisor; + } + } + + divisor++; + } + + if (sum < number) { + result = Classification.DEFICIENT; + } else if (sum > number) { + result = Classification.ABUNDANT; + } else { + result = Classification.PERFECT; + } + + } else { + result = Classification.DEFICIENT; + } + + return result; + } +} + +enum Classification { + DEFICIENT, PERFECT, ABUNDANT +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/NaturalNumberTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/NaturalNumberTest.java new file mode 100644 index 0000000..97c7f8d --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/NaturalNumberTest.java @@ -0,0 +1,85 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; + +import org.junit.jupiter.api.Test; + +class NaturalNumberTest { + + @Test + void testSmallPerfectNumberIsClassifiedCorrectly() { + assertThat(new NaturalNumber(6).getClassification()).isEqualTo(Classification.PERFECT); + } + + @Test + void testMediumPerfectNumberIsClassifiedCorrectly() { + assertThat(new NaturalNumber(28).getClassification()).isEqualTo(Classification.PERFECT); + } + + @Test + void testLargePerfectNumberIsClassifiedCorrectly() { + assertThat(new NaturalNumber(33550336).getClassification()).isEqualTo(Classification.PERFECT); + } + + @Test + void testSmallAbundantNumberIsClassifiedCorrectly() { + assertThat(new NaturalNumber(12).getClassification()).isEqualTo(Classification.ABUNDANT); + + } + + @Test + void testMediumAbundantNumberIsClassifiedCorrectly() { + assertThat(new NaturalNumber(30).getClassification()).isEqualTo(Classification.ABUNDANT); + } + + @Test + void testLargeAbundantNumberIsClassifiedCorrectly() { + assertThat(new NaturalNumber(33440335).getClassification()).isEqualTo(Classification.ABUNDANT); + } + + @Test + void testSmallestPrimeDeficientNumberIsClassifiedCorrectly() { + assertThat(new NaturalNumber(2).getClassification()).isEqualTo(Classification.DEFICIENT); + } + + @Test + void testSmallestNonPrimeDeficientNumberIsClassifiedCorrectly() { + assertThat(new NaturalNumber(4).getClassification()).isEqualTo(Classification.DEFICIENT); + } + + @Test + void testMediumDeficientNumberIsClassifiedCorrectly() { + assertThat(new NaturalNumber(32).getClassification()).isEqualTo(Classification.DEFICIENT); + } + + @Test + void testLargeDeficientNumberIsClassifiedCorrectly() { + assertThat(new NaturalNumber(33550337).getClassification()).isEqualTo(Classification.DEFICIENT); + } + + @Test + /* + * The number 1 has no proper divisors + * (https://en.wikipedia.org/wiki/Divisor#Further_notions_and_facts), and the + * additive identity is 0, so the aliquot sum of 1 should be 0. Hence 1 should + * be classified as deficient. + */ + void testThatOneIsCorrectlyClassifiedAsDeficient() { + assertThat(new NaturalNumber(1).getClassification()).isEqualTo(Classification.DEFICIENT); + } + + @Test + void testThatNonNegativeIntegerIsRejected() { + assertThatExceptionOfType(IllegalArgumentException.class) + .isThrownBy(() -> new NaturalNumber(0)) + .withMessage("You must supply a natural number (positive integer)"); + } + + @Test + void testThatNegativeIntegerIsRejected() { + assertThatExceptionOfType(IllegalArgumentException.class) + .isThrownBy(() -> new NaturalNumber(-1)) + .withMessage("You must supply a natural number (positive integer)"); + } +} From a780b40f1aa68f2914fa3a371173c94b3f59ad3a Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Wed, 20 Jul 2022 00:31:54 +0530 Subject: [PATCH 29/77] GH-5: Exercism-Java: Space Age --- .../sampadadubey/java/exercism/SpaceAge.java | 82 +++++++++++++++++++ .../java/exercism/SpaceAgeTest.java | 51 ++++++++++++ 2 files changed, 133 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/SpaceAge.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/SpaceAgeTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/SpaceAge.java b/exercism/src/main/java/io/sampadadubey/java/exercism/SpaceAge.java new file mode 100644 index 0000000..cda139f --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/SpaceAge.java @@ -0,0 +1,82 @@ +package io.sampadadubey.java.exercism; + +class SpaceAge { + + static final double EARTH_YEAR_IN_SECONDS = 31557600.0; + + private final double seconds; + + SpaceAge(final double seconds) { + this.seconds = seconds; + } + + double getSeconds() { + return seconds; + } + + double onEarth() { + return (seconds / EARTH_YEAR_IN_SECONDS) * Planet.EARTH.getYearConversion(); + } + + double onMercury() { + return getAgeOnPlanet(Planet.MERCURY); + } + + double onVenus() { + return getAgeOnPlanet(Planet.VENUS); + } + + double onMars() { + return getAgeOnPlanet(Planet.MARS); + } + + double onJupiter() { + return getAgeOnPlanet(Planet.JUPITER); + } + + double onSaturn() { + return getAgeOnPlanet(Planet.SATURN); + } + + double onUranus() { + return getAgeOnPlanet(Planet.URANUS); + } + + double onNeptune() { + return getAgeOnPlanet(Planet.NEPTURE); + } + + private double getAgeOnPlanet(final Planet planet) { + return onEarth() / planet.getYearConversion(); + } +} + +enum Planet { + + MERCURY(0.2408467), + + VENUS(0.61519726), + + EARTH(1.0), + + MARS(1.8808158), + + JUPITER(11.862615), + + SATURN(29.447498), + + URANUS(84.016846), + + NEPTURE(164.79132), + ; + + private final double yearConversion; + + private Planet(final double yearConversion) { + this.yearConversion = yearConversion; + } + + public double getYearConversion() { + return yearConversion; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/SpaceAgeTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/SpaceAgeTest.java new file mode 100644 index 0000000..1edb6c4 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/SpaceAgeTest.java @@ -0,0 +1,51 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.assertj.core.data.Offset; +import org.junit.jupiter.api.Test; + +class SpaceAgeTest { + + private static final Offset MAXIMUM_DELTA = Offset.offset(1E-02); + + @Test + void ageOnEarth() { + assertThat(new SpaceAge(1000000000).onEarth()).isEqualTo(31.69, MAXIMUM_DELTA); + } + + @Test + void ageOnMercury() { + assertThat(new SpaceAge(2134835688).onMercury()).isEqualTo(280.88, MAXIMUM_DELTA); + } + + @Test + void ageOnVenus() { + assertThat(new SpaceAge(189839836).onVenus()).isEqualTo(9.78, MAXIMUM_DELTA); + } + + @Test + void ageOnMars() { + assertThat(new SpaceAge(2129871239L).onMars()).isEqualTo(35.88, MAXIMUM_DELTA); + } + + @Test + void ageOnJupiter() { + assertThat(new SpaceAge(901876382).onJupiter()).isEqualTo(2.41, MAXIMUM_DELTA); + } + + @Test + void ageOnSaturn() { + assertThat(new SpaceAge(2000000000L).onSaturn()).isEqualTo(2.15, MAXIMUM_DELTA); + } + + @Test + void ageOnUranus() { + assertThat(new SpaceAge(1210123456L).onUranus()).isEqualTo(0.46, MAXIMUM_DELTA); + } + + @Test + void ageOnNeptune() { + assertThat(new SpaceAge(1821023456L).onNeptune()).isEqualTo(0.35, MAXIMUM_DELTA); + } +} From c9b9b2ec41a0dc90f6b27b2a40ec92c5436ba666 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Wed, 20 Jul 2022 00:32:37 +0530 Subject: [PATCH 30/77] GH-5: Exercism-Java: Say --- .../io/sampadadubey/java/exercism/Say.java | 212 ++++++++++++++++++ .../sampadadubey/java/exercism/SayTest.java | 87 +++++++ 2 files changed, 299 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/Say.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/SayTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Say.java b/exercism/src/main/java/io/sampadadubey/java/exercism/Say.java new file mode 100644 index 0000000..f81748d --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/Say.java @@ -0,0 +1,212 @@ +package io.sampadadubey.java.exercism; + +import static java.lang.String.format; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class Say { + + static final List NUMBERS = new ArrayList<>() { + { + add(NamedNumber.QUINTILLION); + add(NamedNumber.QUADRILLION); + add(NamedNumber.TRILLION); + add(NamedNumber.BILLION); + add(NamedNumber.MILLION); + add(NamedNumber.THOUSAND); + } + }; + + public String say(final long number) { + + if (number < 0) { + throw new IllegalArgumentException("negative numbers not allowed"); + } + + if (number >= NamedNumber.TRILLION.getNumber()) { + throw new IllegalArgumentException("number too big"); + } + + final StringBuilder result = new StringBuilder(); + + if (number != 0) { + long value = number; + + for (int index = 0; value != 0 && index < NUMBERS.size(); index++) { + + final long divisor = NUMBERS.get(index).getNumber(); + + final long currentNumber = value / divisor; + + value = value % divisor; + + if (currentNumber != 0) { + if (currentNumber >= NamedNumber.HUNDRED.getNumber()) { + result.append( + format("%s %s ", sayThreeDigitNumber(currentNumber), NamedNumber.getString(divisor))); + } else { + result.append( + format("%s %s ", sayTwoDigitNumber(currentNumber), NamedNumber.getString(divisor))); + } + } else if (value < NamedNumber.THOUSAND.getNumber()) { + result.append(sayThreeDigitNumber(number) + " "); + value = 0; + } + } + + if (value != 0) { + result.append(sayThreeDigitNumber(value)); + } + } else { + result.append(NamedNumber.getString(number)); + } + + return result.toString().trim(); + } + + private String sayThreeDigitNumber(final long number) { + + final int hundred = (int) NamedNumber.HUNDRED.getNumber(); + + // final int hundredsValue = ((int) Math.floor(number / hundred)) * hundred; + final int hundredsDigit = (int) (number / hundred); + final int twoDigitNumber = (int) (number % NamedNumber.HUNDRED.getNumber()); + + final StringBuilder result = new StringBuilder(); + + if (hundredsDigit != 0) { + result.append(NamedNumber.getString(hundredsDigit) + " hundred "); + } + + if (twoDigitNumber != 0) { + result.append(sayTwoDigitNumber(twoDigitNumber)); + } + + return result.toString().trim(); + } + + private String sayTwoDigitNumber(final long number) { + + final StringBuilder result = new StringBuilder(); + + if (number >= 20) { + final int tensValue = ((int) Math.floor(number / 10.0)) * 10; + final int unitsValue = (int) number % 10; + + final String tensString = NamedNumber.getString(tensValue); + final String unitsString = unitsValue != 0 ? "-" + NamedNumber.getString(unitsValue) : ""; + + result.append(format(" %s%s", tensString, unitsString).trim()); + } else { + result.append(NamedNumber.getString(number)); + } + + return result.toString().trim(); + } + + public static void main(String[] args) { + Say say = new Say(); + + for (int i = 1; i < 111111; i++) { + System.out.println(say.say(i)); + } + } +} + +enum NamedNumber { + + QUINTILLION(1_000_000_000_000_000_000L), + + QUADRILLION(1_000_000_000_000_000L), + + TRILLION(1_000_000_000_000L), + + BILLION(1_000_000_000L), + + MILLION(1_000_000L), + + THOUSAND(1_000L), + + HUNDRED(100), + + NINETY(90), + + EIGHTY(80), + + SEVENTY(70), + + SIXTY(60), + + FIFTY(50), + + FORTY(40), + + THIRTY(30), + + TWENTY(20), + + NINETEEN(19), + + EIGHTEEN(18), + + SEVENTEEN(17), + + SIXTEEN(16), + + FIFTEEN(15), + + FOURTEEN(14), + + THIRTEEN(13), + + TWELVE(12), + + ELEVEN(11), + + TEN(10), + + NINE(9), + + EIGHT(8), + + SEVEN(7), + + SIX(6), + + FIVE(5), + + FOUR(4), + + THREE(3), + + TWO(2), + + ONE(1), + + ZERO(0); + + static final Map VALUES = new HashMap() { + { + Arrays.stream(NamedNumber.values()) + .forEach(number -> put(number.getNumber(), number.name().toLowerCase())); + } + }; + + static String getString(final long number) { + return VALUES.getOrDefault(number, ""); + } + + private final long number; + + private NamedNumber(final long number) { + this.number = number; + } + + public long getNumber() { + return number; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/SayTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/SayTest.java new file mode 100644 index 0000000..c6c5592 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/SayTest.java @@ -0,0 +1,87 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; + +import org.junit.jupiter.api.Test; + +class SayTest { + + private Say say = new Say(); + + @Test + void zero() { + assertThat(say.say(0)).isEqualTo("zero"); + } + + @Test + void one() { + assertThat(say.say(1)).isEqualTo("one"); + } + + @Test + void fourteen() { + assertThat(say.say(14)).isEqualTo("fourteen"); + } + + @Test + void twenty() { + assertThat(say.say(20)).isEqualTo("twenty"); + } + + @Test + void twentyTwo() { + assertThat(say.say(22)).isEqualTo("twenty-two"); + } + + @Test + void oneHundred() { + assertThat(say.say(100)).isEqualTo("one hundred"); + } + + @Test + void oneHundredTwentyThree() { + assertThat(say.say(123)).isEqualTo("one hundred twenty-three"); + } + + @Test + void oneThousand() { + assertThat(say.say(1_000)).isEqualTo("one thousand"); + } + + @Test + void oneThousandTwoHundredThirtyFour() { + assertThat(say.say(1_234)).isEqualTo("one thousand two hundred thirty-four"); + } + + @Test + void oneMillion() { + assertThat(say.say(1_000_000)).isEqualTo("one million"); + } + + @Test + void oneMillionTwoThousandThreeHundredFortyFive() { + assertThat(say.say(1_002_345)).isEqualTo("one million two thousand three hundred forty-five"); + } + + @Test + void oneBillion() { + assertThat(say.say(1_000_000_000)).isEqualTo("one billion"); + } + + @Test + void nineHundredEightySevenBillionSixHundredFiftyFourThreeHundredTwentyOneThousandOneHundredTwentyThree() { + assertThat(say.say(987_654_321_123L)) + .isEqualTo("nine hundred eighty-seven billion six hundred fifty-four million" + + " three hundred twenty-one thousand one hundred twenty-three"); + } + + void illegalNegativeNumber() { + assertThatExceptionOfType(IllegalArgumentException.class).isThrownBy(() -> say.say(-1)); + } + + void illegalTooBigNumber() { + assertThatExceptionOfType(IllegalArgumentException.class) + .isThrownBy(() -> say.say(NamedNumber.TRILLION.getNumber())); + } +} From 95322f4444b6e840fc9295f6d06213062b97e7d0 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Thu, 21 Jul 2022 01:22:24 +0530 Subject: [PATCH 31/77] GH-5: Exercism-Java: Matrix --- .../io/sampadadubey/java/exercism/Matrix.java | 60 ++++++++++ .../java/exercism/MatrixTest.java | 104 ++++++++++++++++++ 2 files changed, 164 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/Matrix.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/MatrixTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Matrix.java b/exercism/src/main/java/io/sampadadubey/java/exercism/Matrix.java new file mode 100644 index 0000000..b72d0ac --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/Matrix.java @@ -0,0 +1,60 @@ +package io.sampadadubey.java.exercism; + +class Matrix { + + private final int rows; + + private final int cols; + + private final int[][] matrix; + + Matrix(final String matrixAsString) { + + final String[] rowData = matrixAsString.split("\\n"); + final String[] firstColumnData = rowData[0].split(" "); + + this.rows = rowData.length; + this.cols = rowData[0].split(" ").length; + this.matrix = new int[rowData.length][firstColumnData.length]; + + int row = 0; + String[] currentRowData; + + do { + + currentRowData = rowData[row].split(" "); + + matrix[row] = new int[cols]; + + for (int col = 0; col < cols; col++) { + matrix[row][col] = Integer.parseInt(currentRowData[col]); + } + + row++; + + } while (row < rowData.length); + + } + + int[] getRow(final int rowNumber) { + + final int[] rowData = new int[cols]; + + for (int col = 0; col < cols; col++) { + rowData[col] = matrix[rowNumber - 1][col]; + } + + return rowData; + } + + int[] getColumn(final int columnNumber) { + + final int[] colData = new int[rows]; + + for (int row = 0; row < rows; row++) { + colData[row] = matrix[row][columnNumber - 1]; + } + + return colData; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/MatrixTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/MatrixTest.java new file mode 100644 index 0000000..5e3f8f5 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/MatrixTest.java @@ -0,0 +1,104 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.Test; + +class MatrixTest { + + @Test + void extractRowFromOneNumberMatrixTest() { + + final String matrixAsString = "1"; + final int rowIndex = 1; + final int[] expectedRow = { 1 }; + + final Matrix matrix = new Matrix(matrixAsString); + + assertThat(matrix.getRow(rowIndex)).isEqualTo(expectedRow); + } + + @Test + void extractRowFromMatrixTest() { + + final String matrixAsString = "1 2\n3 4"; + final int rowIndex = 2; + final int[] expectedRow = { 3, 4 }; + + final Matrix matrix = new Matrix(matrixAsString); + + assertThat(matrix.getRow(rowIndex)).isEqualTo(expectedRow); + } + + @Test + void extractRowFromDiffWidthsMatrixTest() { + + final String matrixAsString = "1 2\n10 20"; + final int rowIndex = 2; + final int[] expectedRow = { 10, 20 }; + + final Matrix matrix = new Matrix(matrixAsString); + + assertThat(matrix.getRow(rowIndex)).isEqualTo(expectedRow); + } + + @Test + void extractRowFromNonSquareMatrixTest() { + + final String matrixAsString = "1 2 3\n4 5 6\n7 8 9\n8 7 6"; + final int rowIndex = 4; + final int[] expectedRow = { 8, 7, 6 }; + + final Matrix matrix = new Matrix(matrixAsString); + + assertThat(matrix.getRow(rowIndex)).isEqualTo(expectedRow); + } + + @Test + void extractColumnFromOneNumberMatrixTest() { + + final String matrixAsString = "1"; + final int columnIndex = 1; + final int[] expectedColumn = { 1 }; + + final Matrix matrix = new Matrix(matrixAsString); + + assertThat(matrix.getRow(columnIndex)).isEqualTo(expectedColumn); + } + + @Test + void extractColumnMatrixTest() { + + final String matrixAsString = "1 2 3\n4 5 6\n7 8 9"; + final int columnIndex = 3; + final int[] expectedColumn = { 3, 6, 9 }; + + final Matrix matrix = new Matrix(matrixAsString); + + assertThat(matrix.getColumn(columnIndex)).isEqualTo(expectedColumn); + } + + @Test + void extractColumnFromNonSquareMatrixTest() { + + final String matrixAsString = "1 2 3 4\n5 6 7 8\n9 8 7 6"; + final int columnIndex = 4; + final int[] expectedColumn = { 4, 8, 6 }; + + final Matrix matrix = new Matrix(matrixAsString); + + assertThat(matrix.getColumn(columnIndex)).isEqualTo(expectedColumn); + } + + @Test + void extractColumnFromDiffWidthsMatrixTest() { + + final String matrixAsString = "89 1903 3\n18 3 1\n9 4 800"; + final int columnIndex = 2; + final int[] expectedColumn = { 1903, 3, 4 }; + + final Matrix matrix = new Matrix(matrixAsString); + + assertThat(matrix.getColumn(columnIndex)).isEqualTo(expectedColumn); + } +} From bfc548a87851a5e286337884ead3e22089b6cc31 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Thu, 21 Jul 2022 01:22:56 +0530 Subject: [PATCH 32/77] GH-5: Exercism-Java: Elon's Toy Car --- .../java/exercism/ElonsToyCar.java | 45 +++++++ .../java/exercism/ElonsToyCarTest.java | 117 ++++++++++++++++++ 2 files changed, 162 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/ElonsToyCar.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/ElonsToyCarTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/ElonsToyCar.java b/exercism/src/main/java/io/sampadadubey/java/exercism/ElonsToyCar.java new file mode 100644 index 0000000..72460e1 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/ElonsToyCar.java @@ -0,0 +1,45 @@ +package io.sampadadubey.java.exercism; + +public class ElonsToyCar { + + static final int DRIVE_DISTANCE = 20; + + static final int BATTERY_USAGE = 1; + + public static ElonsToyCar buy() { + return new ElonsToyCar(); + } + + private int distance; + + private int battery; + + ElonsToyCar() { + this.distance = 0; + this.battery = 100; + } + + public String distanceDisplay() { + return String.format("Driven %s meters", distance); + } + + public String batteryDisplay() { + + final String display; + + if (battery == 0) { + display = "Battery empty"; + } else { + display = String.format("Battery at %s%%", battery); + } + + return display; + } + + public void drive() { + if (battery != 0) { + distance = distance + DRIVE_DISTANCE; + battery = battery - BATTERY_USAGE; + } + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/ElonsToyCarTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/ElonsToyCarTest.java new file mode 100644 index 0000000..12c1724 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/ElonsToyCarTest.java @@ -0,0 +1,117 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.Test; + +public class ElonsToyCarTest { + + @Test + public void buy_new_car_returns_instance() { + + final ElonsToyCar car = ElonsToyCar.buy(); + + assertThat(car).isNotNull(); + } + + @Test + public void buy_new_car_returns_new_car_each_time() { + + final ElonsToyCar car1 = ElonsToyCar.buy(); + final ElonsToyCar car2 = ElonsToyCar.buy(); + + assertThat(car1).isNotEqualTo(car2); + } + + @Test + public void new_car_distance_display() { + + final ElonsToyCar car = new ElonsToyCar(); + + assertThat(car.distanceDisplay()).isEqualTo("Driven 0 meters"); + } + + @Test + public void new_car_battery_display() { + + final ElonsToyCar car = new ElonsToyCar(); + + assertThat(car.batteryDisplay()).isEqualTo("Battery at 100%"); + } + + @Test + public void distance_display_after_driving_once() { + + final ElonsToyCar car = new ElonsToyCar(); + + car.drive(); + + assertThat(car.distanceDisplay()).isEqualTo("Driven 20 meters"); + } + + @Test + public void distance_display_after_driving_multiple_times() { + + final ElonsToyCar car = new ElonsToyCar(); + + for (int index = 0; index < 17; index++) { + car.drive(); + } + + assertThat(car.distanceDisplay()).isEqualTo("Driven 340 meters"); + } + + @Test + public void battery_display_after_driving_once() { + + final ElonsToyCar car = new ElonsToyCar(); + + car.drive(); + + assertThat(car.batteryDisplay()).isEqualTo("Battery at 99%"); + } + + @Test + public void battery_display_after_driving_multiple_times() { + + final ElonsToyCar car = new ElonsToyCar(); + + for (int index = 0; index < 23; index++) { + car.drive(); + } + + assertThat(car.batteryDisplay()).isEqualTo("Battery at 77%"); + } + + @Test + public void battery_display_when_battery_empty() { + + final ElonsToyCar car = new ElonsToyCar(); + + // Drain the battery + for (int index = 0; index < 100; index++) { + car.drive(); + } + + // Attempt to drive one more time (should not work) + car.drive(); + + assertThat(car.batteryDisplay()).isEqualTo("Battery empty"); + } + + @Test + public void distance_display_when_battery_empty() { + + final ElonsToyCar car = new ElonsToyCar(); + + // Drain the battery + for (int index = 0; index < 100; index++) { + car.drive(); + } + + // Attempt to drive one more time (should not work) + car.drive(); + + assertThat(car.distanceDisplay()).isEqualTo("Driven 2000 meters"); + } +} From 92f2fcbefe986c2d1c09477b0fece5820fea273c Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Thu, 21 Jul 2022 01:23:21 +0530 Subject: [PATCH 33/77] GH-5: Exercism-Java: Salary Calculator --- .../java/exercism/SalaryCalculator.java | 30 ++++++++ .../java/exercism/SalaryCalculatorTest.java | 71 +++++++++++++++++++ 2 files changed, 101 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/SalaryCalculator.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/SalaryCalculatorTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/SalaryCalculator.java b/exercism/src/main/java/io/sampadadubey/java/exercism/SalaryCalculator.java new file mode 100644 index 0000000..fe36719 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/SalaryCalculator.java @@ -0,0 +1,30 @@ +package io.sampadadubey.java.exercism; + +public class SalaryCalculator { + + static final double BASE_SALARY = 1000.0; + + static final double MAX_SALARY = 2000.0; + + public double multiplierPerDaysSkipped(final int daysSkipped) { + return daysSkipped > 5 ? 0.85 : 1.0; + } + + public int multiplierPerProductsSold(final int productsSold) { + return productsSold > 20 ? 13 : 10; + } + + public double bonusForProductSold(final int productsSold) { + return multiplierPerProductsSold(productsSold) * productsSold; + } + + public double finalSalary(final int daysSkipped, final int productsSold) { + + final double daySalary = BASE_SALARY * multiplierPerDaysSkipped(daysSkipped); + final double bonus = bonusForProductSold(productsSold); + + final double salary = daySalary + bonus; + + return daySalary + bonus < MAX_SALARY ? salary : MAX_SALARY; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/SalaryCalculatorTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/SalaryCalculatorTest.java new file mode 100644 index 0000000..91e8c32 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/SalaryCalculatorTest.java @@ -0,0 +1,71 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +public class SalaryCalculatorTest { + + public SalaryCalculator calculator; + + @BeforeEach + public void setUp() { + calculator = new SalaryCalculator(); + } + + @Test + public void regularSalary() { + assertThat(calculator.finalSalary(0, 0)).isEqualTo(1000.0); + } + + @Test + public void skippedBelowThreshold() { + assertThat(calculator.finalSalary(3, 0)).isEqualTo(1000.0); + } + + @Test + public void skippedAboveThreshold() { + assertThat(calculator.finalSalary(7, 0)).isEqualTo(850.0); + } + + @Test + public void soldBelowThreshold() { + assertThat(calculator.finalSalary(0, 10)).isEqualTo(1100.0); + } + + @Test + public void soldAboveThreshold() { + assertThat(calculator.finalSalary(0, 25)).isEqualTo(1325.0); + } + + @Test + public void skippedBelowThresholdAndSoldBelowThreshold() { + assertThat(calculator.finalSalary(2, 5)).isEqualTo(1050.0); + } + + @Test + public void skippedBelowThresholdAndSoldAboveThreshold() { + assertThat(calculator.finalSalary(4, 40)).isEqualTo(1520.0); + } + + @Test + public void skippedAboveThresholdAndSoldBelowThreshold() { + assertThat(calculator.finalSalary(10, 2)).isEqualTo(870.0); + } + + @Test + public void skippedAboveThresholdAndSoldAboveThreshold() { + assertThat(calculator.finalSalary(7, 50)).isEqualTo(1500.0); + } + + @Test + public void salaryCanReachCloseToMaximum() { + assertThat(calculator.finalSalary(0, 76)).isEqualTo(1988.0); + } + + @Test + public void salaryRespectMaximum() { + assertThat(calculator.finalSalary(0, 77)).isEqualTo(2000.0); + } +} From 9d9fa7236bb4bc5e5b316655d0b7d76210e94600 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Thu, 21 Jul 2022 01:48:30 +0530 Subject: [PATCH 34/77] GH-5: Exercism-Java: Codacy violation fixes --- .../sampadadubey/java/exercism/BlackJack.java | 16 +++-- .../java/exercism/DnDCharacter.java | 10 ++-- .../java/exercism/CarsAssembleTest.java | 2 +- .../sampadadubey/java/exercism/DartsTest.java | 28 ++++----- .../DifferenceOfSquaresCalculatorTest.java | 22 +++---- .../java/exercism/DnDCharacterTest.java | 40 ++++++------- .../java/exercism/ElonsToyCarTest.java | 22 +++---- .../java/exercism/GrainsTest.java | 24 ++++---- .../java/exercism/GreeterTest.java | 2 +- .../java/exercism/LeapYearTest.java | 22 +++---- .../java/exercism/RaindropConverterTest.java | 38 ++++++------ .../java/exercism/ResistorColorDuoTest.java | 14 ++--- .../java/exercism/SalaryCalculatorTest.java | 28 ++++----- .../java/exercism/utils/ReflectionProxy.java | 59 +++++++++++-------- 14 files changed, 172 insertions(+), 155 deletions(-) diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/BlackJack.java b/exercism/src/main/java/io/sampadadubey/java/exercism/BlackJack.java index dd5ee29..fb9bae7 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/BlackJack.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/BlackJack.java @@ -5,7 +5,13 @@ public class BlackJack { - static final int BLACKJACK = 21; + static final int SCORE_BLACKJACK = 21; + + static final int SCORE_SEVENTEEN = 17; + + static final int SCORE_ELEVEN = 11; + + static final int SCORE_SEVEN = 7; static final Set HIGH_VALUE_CARDS = new HashSet() { { @@ -22,7 +28,7 @@ public int parseCard(final String card) { } public boolean isBlackjack(final String card1, final String card2) { - return parseCard(card1) + parseCard(card2) == BLACKJACK; + return parseCard(card1) + parseCard(card2) == SCORE_BLACKJACK; } public String largeHand(final boolean isBlackjack, final int dealerScore) { @@ -47,12 +53,12 @@ public String smallHand(final int handScore, final int dealerScore) { final Decision decision; - if (handScore >= 17) { + if (handScore >= SCORE_SEVENTEEN) { decision = Decision.STAND; - } else if (handScore <= 11) { + } else if (handScore <= SCORE_ELEVEN) { decision = Decision.HIT; } else { - if (dealerScore >= 7) { + if (dealerScore >= SCORE_SEVEN) { decision = Decision.HIT; } else { decision = Decision.STAND; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/DnDCharacter.java b/exercism/src/main/java/io/sampadadubey/java/exercism/DnDCharacter.java index 9d53741..f76799d 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/DnDCharacter.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/DnDCharacter.java @@ -7,11 +7,6 @@ public class DnDCharacter { static final Random DICE = new Random(); - static int rollDice() { - final int rolledValue = DICE.nextInt(6); - return rolledValue != 0 ? rolledValue : 1; - } - private final int strength; private final int dexterity; @@ -24,6 +19,11 @@ static int rollDice() { private final int charisma; + static int rollDice() { + final int rolledValue = DICE.nextInt(6); + return rolledValue != 0 ? rolledValue : 1; + } + DnDCharacter() { this.strength = ability(); this.dexterity = ability(); diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/CarsAssembleTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/CarsAssembleTest.java index 9a6167d..a56351c 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/CarsAssembleTest.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/CarsAssembleTest.java @@ -1,6 +1,6 @@ package io.sampadadubey.java.exercism; -import static org.assertj.core.api.Assertions.*; +import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/DartsTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/DartsTest.java index b976956..e4b2315 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/DartsTest.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/DartsTest.java @@ -4,82 +4,82 @@ import org.junit.jupiter.api.Test; -public class DartsTest { +class DartsTest { @Test - public void missedTarget() { + void missedTarget() { final Darts dart = new Darts(-9, 9); assertThat(dart.score()).isEqualTo(0); } @Test - public void onTheOuterCircle() { + void onTheOuterCircle() { final Darts dart = new Darts(0, 10); assertThat(dart.score()).isEqualTo(1); } @Test - public void onTheMiddleCircle() { + void onTheMiddleCircle() { final Darts dart = new Darts(-5, 0); assertThat(dart.score()).isEqualTo(5); } @Test - public void onTheInnerCircle() { + void onTheInnerCircle() { final Darts dart = new Darts(0, -1); assertThat(dart.score()).isEqualTo(10); } @Test - public void exactlyOnCentre() { + void exactlyOnCentre() { final Darts dart = new Darts(0, 0); assertThat(dart.score()).isEqualTo(10); } @Test - public void nearTheCentre() { + void nearTheCentre() { final Darts dart = new Darts(-0.1, -0.1); assertThat(dart.score()).isEqualTo(10); } @Test - public void justWithinTheInnerCircle() { + void justWithinTheInnerCircle() { final Darts dart = new Darts(0.7, 0.7); assertThat(dart.score()).isEqualTo(10); } @Test - public void justOutsideTheInnerCircle() { + void justOutsideTheInnerCircle() { final Darts dart = new Darts(0.8, -0.8); assertThat(dart.score()).isEqualTo(5); } @Test - public void justWithinTheMiddleCirlce() { + void justWithinTheMiddleCirlce() { final Darts dart = new Darts(-3.5, 3.5); assertThat(dart.score()).isEqualTo(5); } @Test - public void justOutsideTheMiddleCircle() { + void justOutsideTheMiddleCircle() { final Darts dart = new Darts(-3.6, -3.6); assertThat(dart.score()).isEqualTo(1); } @Test - public void justWithinTheOuterCirlce() { + void justWithinTheOuterCirlce() { final Darts dart = new Darts(-7.0, 7.0); assertThat(dart.score()).isEqualTo(1); } @Test - public void justOutsideTheOuterCircle() { + void justOutsideTheOuterCircle() { final Darts dart = new Darts(7.1, -7.1); assertThat(dart.score()).isEqualTo(0); } @Test - public void asymmetricPositionBetweenTheInnerAndMiddleCircles() { + void asymmetricPositionBetweenTheInnerAndMiddleCircles() { final Darts dart = new Darts(0.5, -4); assertThat(dart.score()).isEqualTo(5); } diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/DifferenceOfSquaresCalculatorTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/DifferenceOfSquaresCalculatorTest.java index fa5dfd4..632f3a0 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/DifferenceOfSquaresCalculatorTest.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/DifferenceOfSquaresCalculatorTest.java @@ -5,73 +5,73 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -public class DifferenceOfSquaresCalculatorTest { +class DifferenceOfSquaresCalculatorTest { private DifferenceOfSquaresCalculator calculator; @BeforeEach - public void setUp() { + void setUp() { calculator = new DifferenceOfSquaresCalculator(); } @Test - public void testSquareOfSumUpToOne() { + void testSquareOfSumUpToOne() { final int expected = 1; final int actual = calculator.computeSquareOfSumTo(1); assertThat(actual).isEqualTo(expected); } @Test - public void testSquareOfSumUpToFive() { + void testSquareOfSumUpToFive() { final int expected = 225; final int actual = calculator.computeSquareOfSumTo(5); assertThat(actual).isEqualTo(expected); } @Test - public void testSquareOfSumUpToHundred() { + void testSquareOfSumUpToHundred() { final int expected = 25502500; final int actual = calculator.computeSquareOfSumTo(100); assertThat(actual).isEqualTo(expected); } @Test - public void testSumOfSquaresUpToOne() { + void testSumOfSquaresUpToOne() { final int expected = 1; final int actual = calculator.computeSumOfSquaresTo(1); assertThat(actual).isEqualTo(expected); } @Test - public void testSumOfSquaresUpToFive() { + void testSumOfSquaresUpToFive() { final int expected = 55; final int actual = calculator.computeSumOfSquaresTo(5); assertThat(actual).isEqualTo(expected); } @Test - public void testSumOfSquaresUpToHundred() { + void testSumOfSquaresUpToHundred() { final int expected = 338350; final int actual = calculator.computeSumOfSquaresTo(100); assertThat(actual).isEqualTo(expected); } @Test - public void testDifferenceOfSquaresUpToOne() { + void testDifferenceOfSquaresUpToOne() { final int expected = 0; final int actual = calculator.computeDifferenceOfSquares(1); assertThat(actual).isEqualTo(expected); } @Test - public void testDifferenceOfSquaresUpToFive() { + void testDifferenceOfSquaresUpToFive() { final int expected = 170; final int actual = calculator.computeDifferenceOfSquares(5); assertThat(actual).isEqualTo(expected); } @Test - public void testDifferenceOfSquaresUpToHundred() { + void testDifferenceOfSquaresUpToHundred() { final int expected = 25164150; final int actual = calculator.computeDifferenceOfSquares(100); assertThat(actual).isEqualTo(expected); diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/DnDCharacterTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/DnDCharacterTest.java index 47b08b0..22f95dd 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/DnDCharacterTest.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/DnDCharacterTest.java @@ -5,98 +5,98 @@ import org.junit.jupiter.api.Test; -public class DnDCharacterTest { +class DnDCharacterTest { private final DnDCharacter dndCharacter = new DnDCharacter(); @Test - public void testAbilityModifierForScore3IsNegative4() { + void testAbilityModifierForScore3IsNegative4() { assertEquals(-4, dndCharacter.modifier(3)); } @Test - public void testAbilityModifierForScore4IsNegative3() { + void testAbilityModifierForScore4IsNegative3() { assertEquals(-3, dndCharacter.modifier(4)); } @Test - public void testAbilityModifierForScore5IsNegative3() { + void testAbilityModifierForScore5IsNegative3() { assertEquals(-3, dndCharacter.modifier(5)); } @Test - public void testAbilityModifierForScore6IsNegative2() { + void testAbilityModifierForScore6IsNegative2() { assertEquals(-2, dndCharacter.modifier(6)); } @Test - public void testAbilityModifierForScore7IsNegative2() { + void testAbilityModifierForScore7IsNegative2() { assertEquals(-2, dndCharacter.modifier(7)); } @Test - public void testAbilityModifierForScore8IsNegative1() { + void testAbilityModifierForScore8IsNegative1() { assertEquals(-1, dndCharacter.modifier(8)); } @Test - public void testAbilityModifierForScore9IsNegative1() { + void testAbilityModifierForScore9IsNegative1() { assertEquals(-1, dndCharacter.modifier(9)); } @Test - public void testAbilityModifierForScore10Is0() { + void testAbilityModifierForScore10Is0() { assertEquals(0, dndCharacter.modifier(10)); } @Test - public void testAbilityModifierForScore11Is0() { + void testAbilityModifierForScore11Is0() { assertEquals(0, dndCharacter.modifier(11)); } @Test - public void testAbilityModifierForScore12Is1() { + void testAbilityModifierForScore12Is1() { assertEquals(1, dndCharacter.modifier(12)); } @Test - public void testAbilityModifierForScore13Is1() { + void testAbilityModifierForScore13Is1() { assertEquals(1, dndCharacter.modifier(13)); } @Test - public void testAbilityModifierForScore14Is2() { + void testAbilityModifierForScore14Is2() { assertEquals(2, dndCharacter.modifier(14)); } @Test - public void testAbilityModifierForScore15Is2() { + void testAbilityModifierForScore15Is2() { assertEquals(2, dndCharacter.modifier(15)); } @Test - public void testAbilityModifierForScore16Is3() { + void testAbilityModifierForScore16Is3() { assertEquals(3, dndCharacter.modifier(16)); } @Test - public void testAbilityModifierForScore17Is3() { + void testAbilityModifierForScore17Is3() { assertEquals(3, dndCharacter.modifier(17)); } @Test - public void testAbilityModifierForScore18Is4() { + void testAbilityModifierForScore18Is4() { assertEquals(4, dndCharacter.modifier(18)); } @Test - public void testRandomAbilityIsWithinRange() { + void testRandomAbilityIsWithinRange() { final int score = dndCharacter.ability(); assertTrue(score > 2 && score < 19); } @Test - public void testRandomCharacterIsValid() { + void testRandomCharacterIsValid() { for (int index = 0; index < 1000; index++) { @@ -113,7 +113,7 @@ public void testRandomCharacterIsValid() { } @Test - public void testEachAbilityIsOnlyCalculatedOnce() { + void testEachAbilityIsOnlyCalculatedOnce() { assertEquals(dndCharacter.getStrength(), dndCharacter.getStrength()); } } diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/ElonsToyCarTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/ElonsToyCarTest.java index 12c1724..cfae351 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/ElonsToyCarTest.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/ElonsToyCarTest.java @@ -4,10 +4,10 @@ import org.junit.jupiter.api.Test; -public class ElonsToyCarTest { +class ElonsToyCarTest { @Test - public void buy_new_car_returns_instance() { + void buy_new_car_returns_instance() { final ElonsToyCar car = ElonsToyCar.buy(); @@ -15,7 +15,7 @@ public void buy_new_car_returns_instance() { } @Test - public void buy_new_car_returns_new_car_each_time() { + void buy_new_car_returns_new_car_each_time() { final ElonsToyCar car1 = ElonsToyCar.buy(); final ElonsToyCar car2 = ElonsToyCar.buy(); @@ -24,7 +24,7 @@ public void buy_new_car_returns_new_car_each_time() { } @Test - public void new_car_distance_display() { + void new_car_distance_display() { final ElonsToyCar car = new ElonsToyCar(); @@ -32,7 +32,7 @@ public void new_car_distance_display() { } @Test - public void new_car_battery_display() { + void new_car_battery_display() { final ElonsToyCar car = new ElonsToyCar(); @@ -40,7 +40,7 @@ public void new_car_battery_display() { } @Test - public void distance_display_after_driving_once() { + void distance_display_after_driving_once() { final ElonsToyCar car = new ElonsToyCar(); @@ -50,7 +50,7 @@ public void distance_display_after_driving_once() { } @Test - public void distance_display_after_driving_multiple_times() { + void distance_display_after_driving_multiple_times() { final ElonsToyCar car = new ElonsToyCar(); @@ -62,7 +62,7 @@ public void distance_display_after_driving_multiple_times() { } @Test - public void battery_display_after_driving_once() { + void battery_display_after_driving_once() { final ElonsToyCar car = new ElonsToyCar(); @@ -72,7 +72,7 @@ public void battery_display_after_driving_once() { } @Test - public void battery_display_after_driving_multiple_times() { + void battery_display_after_driving_multiple_times() { final ElonsToyCar car = new ElonsToyCar(); @@ -84,7 +84,7 @@ public void battery_display_after_driving_multiple_times() { } @Test - public void battery_display_when_battery_empty() { + void battery_display_when_battery_empty() { final ElonsToyCar car = new ElonsToyCar(); @@ -100,7 +100,7 @@ public void battery_display_when_battery_empty() { } @Test - public void distance_display_when_battery_empty() { + void distance_display_when_battery_empty() { final ElonsToyCar car = new ElonsToyCar(); diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/GrainsTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/GrainsTest.java index 960bc44..7e3d969 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/GrainsTest.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/GrainsTest.java @@ -7,75 +7,75 @@ import org.junit.jupiter.api.Test; -public class GrainsTest { +class GrainsTest { private Grains grains = new Grains(); @Test - public void countAtSquare1() { + void countAtSquare1() { final BigInteger result = grains.grainsOnSquare(1); assertThat(result).isEqualTo(new BigInteger("1")); } @Test - public void countAtSquare2() { + void countAtSquare2() { final BigInteger result = grains.grainsOnSquare(2); assertThat(result).isEqualTo(new BigInteger("2")); } @Test - public void countAtSquare3() { + void countAtSquare3() { final BigInteger result = grains.grainsOnSquare(3); assertThat(result).isEqualTo(new BigInteger("4")); } @Test - public void countAtSquare4() { + void countAtSquare4() { final BigInteger result = grains.grainsOnSquare(4); assertThat(result).isEqualTo(new BigInteger("8")); } @Test - public void countAtSquare16() { + void countAtSquare16() { final BigInteger result = grains.grainsOnSquare(16); assertThat(result).isEqualTo(new BigInteger("32768")); } @Test - public void countAtSquare32() { + void countAtSquare32() { final BigInteger result = grains.grainsOnSquare(32); assertThat(result).isEqualTo(new BigInteger("2147483648")); } @Test - public void countAtSquare64() { + void countAtSquare64() { final BigInteger result = grains.grainsOnSquare(64); assertThat(result).isEqualTo(new BigInteger("9223372036854775808")); } @Test - public void errorOnNullBoardSize() { + void errorOnNullBoardSize() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> grains.grainsOnSquare(0)) .withMessage("square must be between 1 and 64"); } @Test - public void errorOnNegativeBoardSize() { + void errorOnNegativeBoardSize() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> grains.grainsOnSquare(-1)) .withMessage("square must be between 1 and 64"); } @Test - public void errorOnExcessiveBoardSize() { + void errorOnExcessiveBoardSize() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> grains.grainsOnSquare(65)) .withMessage("square must be between 1 and 64"); } @Test - public void totalNumberOfGrainsOnABoard() { + void totalNumberOfGrainsOnABoard() { final BigInteger total = grains.grainsOnBoard(); assertThat(total).isEqualTo(new BigInteger("18446744073709551615")); } diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/GreeterTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/GreeterTest.java index e54068d..2425d25 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/GreeterTest.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/GreeterTest.java @@ -7,7 +7,7 @@ class GreeterTest { @Test - public void greeter_returns_the_correct_greeting() { + void greeter_returns_the_correct_greeting() { assertThat(new Greeter().getGreeting()).isEqualTo("Hello, World!"); } } diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/LeapYearTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/LeapYearTest.java index ef9f8a7..01c67aa 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/LeapYearTest.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/LeapYearTest.java @@ -5,57 +5,57 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -public class LeapYearTest { +class LeapYearTest { private LeapYear leap; @BeforeEach - public void setup() { + void setup() { leap = new LeapYear(); } @Test - public void testYearNotDivBy4InCommonYear() { + void testYearNotDivBy4InCommonYear() { assertThat(leap.isLeapYear(2015)).isFalse(); } @Test - public void testYearDivBy2NotDivBy4InCommonYear() { + void testYearDivBy2NotDivBy4InCommonYear() { assertThat(leap.isLeapYear(1970)).isFalse(); } @Test - public void testYearDivBy4NotDivBy100InLeapYear() { + void testYearDivBy4NotDivBy100InLeapYear() { assertThat(leap.isLeapYear(1996)).isTrue(); } @Test - public void testYearDivBy4And5InLeapYear() { + void testYearDivBy4And5InLeapYear() { assertThat(leap.isLeapYear(1960)).isTrue(); } @Test - public void testYearDivBy100NotDivBy400InCommonYear() { + void testYearDivBy100NotDivBy400InCommonYear() { assertThat(leap.isLeapYear(2100)).isFalse(); } @Test - public void testYearDivBy100NotDivBy3IsNotLeapYear() { + void testYearDivBy100NotDivBy3IsNotLeapYear() { assertThat(leap.isLeapYear(1900)).isFalse(); } @Test - public void testYearDivBy400InLeapYear() { + void testYearDivBy400InLeapYear() { assertThat(leap.isLeapYear(2000)).isTrue(); } @Test - public void testYearDivBy400NotDivBy125IsLeapYear() { + void testYearDivBy400NotDivBy125IsLeapYear() { assertThat(leap.isLeapYear(2400)).isTrue(); } @Test - public void testYearDivBy200NotDivBy400InCommonYear() { + void testYearDivBy200NotDivBy400InCommonYear() { assertThat(leap.isLeapYear(1800)).isFalse(); } } diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/RaindropConverterTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/RaindropConverterTest.java index cebfb1c..77f09e7 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/RaindropConverterTest.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/RaindropConverterTest.java @@ -4,97 +4,97 @@ import org.junit.jupiter.api.Test; -public class RaindropConverterTest { +class RaindropConverterTest { private RaindropConverter raindropConverter = new RaindropConverter(); @Test - public void soundFor1Is1() { + void soundFor1Is1() { assertThat(raindropConverter.convert(1)).isEqualTo("1"); } @Test - public void soundFor3IsPling() { + void soundFor3IsPling() { assertThat(raindropConverter.convert(3)).isEqualTo("Pling"); } @Test - public void soundFor5IsPlang() { + void soundFor5IsPlang() { assertThat(raindropConverter.convert(5)).isEqualTo("Plang"); } @Test - public void soundFor7IsPlong() { + void soundFor7IsPlong() { assertThat(raindropConverter.convert(7)).isEqualTo("Plong"); } @Test - public void soundFor6IsPlingAsItHasFactor3() { + void soundFor6IsPlingAsItHasFactor3() { assertThat(raindropConverter.convert(6)).isEqualTo("Pling"); } @Test - public void noSoundFor2Cubed() { + void noSoundFor2Cubed() { assertThat(raindropConverter.convert(8)).isEqualTo("8"); } @Test - public void soundFor9IsPlingAsItHasFactor3() { + void soundFor9IsPlingAsItHasFactor3() { assertThat(raindropConverter.convert(9)).isEqualTo("Pling"); } @Test - public void soundFor10IsPlangAsItHasFactor5() { + void soundFor10IsPlangAsItHasFactor5() { assertThat(raindropConverter.convert(10)).isEqualTo("Plang"); } @Test - public void soundFor14IsPlongAsItHasFactor7() { + void soundFor14IsPlongAsItHasFactor7() { assertThat(raindropConverter.convert(14)).isEqualTo("Plong"); } @Test - public void soundFor15IsPlingPlangAsItHasFactors3And5() { + void soundFor15IsPlingPlangAsItHasFactors3And5() { assertThat(raindropConverter.convert(15)).isEqualTo("PlingPlang"); } @Test - public void soundFor21IsPlingPlongAsItHasFactors3And7() { + void soundFor21IsPlingPlongAsItHasFactors3And7() { assertThat(raindropConverter.convert(21)).isEqualTo("PlingPlong"); } @Test - public void soundFor25IsPlangAsItHasFactor5() { + void soundFor25IsPlangAsItHasFactor5() { assertThat(raindropConverter.convert(25)).isEqualTo("Plang"); } @Test - public void soundFor27IsPlingAsItHasFactor3() { + void soundFor27IsPlingAsItHasFactor3() { assertThat(raindropConverter.convert(27)).isEqualTo("Pling"); } @Test - public void soundFor35IsPlangPlongAsItHasFactors5And7() { + void soundFor35IsPlangPlongAsItHasFactors5And7() { assertThat(raindropConverter.convert(35)).isEqualTo("PlangPlong"); } @Test - public void soundFor49IsPlongAsItHasFactor7() { + void soundFor49IsPlongAsItHasFactor7() { assertThat(raindropConverter.convert(49)).isEqualTo("Plong"); } @Test - public void noSoundFor52() { + void noSoundFor52() { assertThat(raindropConverter.convert(52)).isEqualTo("52"); } @Test - public void soundFor105IsPlingPlangPlongAsItHasFactors3And5And7() { + void soundFor105IsPlingPlangPlongAsItHasFactors3And5And7() { assertThat(raindropConverter.convert(105)).isEqualTo("PlingPlangPlong"); } @Test - public void soundFor3125IsPlangAsItHasFactor5() { + void soundFor3125IsPlangAsItHasFactor5() { assertThat(raindropConverter.convert(3125)).isEqualTo("Plang"); } } diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/ResistorColorDuoTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/ResistorColorDuoTest.java index 8ea8f2a..1f3ebbd 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/ResistorColorDuoTest.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/ResistorColorDuoTest.java @@ -5,44 +5,44 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -public class ResistorColorDuoTest { +class ResistorColorDuoTest { private ResistorColorDuo resistorColorDuo; @BeforeEach - public void setup() { + void setup() { resistorColorDuo = new ResistorColorDuo(); } @Test - public void testBrownAndBlack() { + void testBrownAndBlack() { final String[] colors = new String[] { "brown", "black" }; final int expected = 10; assertThat(resistorColorDuo.value(colors)).isEqualTo(expected); } @Test - public void testBlueAndGrey() { + void testBlueAndGrey() { final String[] colors = new String[] { "blue", "grey" }; final int expected = 68; assertThat(resistorColorDuo.value(colors)).isEqualTo(expected); } @Test - public void testYellowAndViolet() { + void testYellowAndViolet() { final String[] colors = new String[] { "yellow", "violet" }; final int expected = 47; assertThat(resistorColorDuo.value(colors)).isEqualTo(expected); } @Test - public void testOrangeAndOrange() { + void testOrangeAndOrange() { final String[] colors = new String[] { "orange", "orange" }; final int expected = 33; assertThat(resistorColorDuo.value(colors)).isEqualTo(expected); } @Test - public void testIgnoreAdditionalColors() { + void testIgnoreAdditionalColors() { final String[] colors = new String[] { "green", "brown", "orange" }; final int expected = 51; assertThat(resistorColorDuo.value(colors)).isEqualTo(expected); diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/SalaryCalculatorTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/SalaryCalculatorTest.java index 91e8c32..33ea788 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/SalaryCalculatorTest.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/SalaryCalculatorTest.java @@ -5,67 +5,67 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -public class SalaryCalculatorTest { +class SalaryCalculatorTest { - public SalaryCalculator calculator; + SalaryCalculator calculator; @BeforeEach - public void setUp() { + void setUp() { calculator = new SalaryCalculator(); } @Test - public void regularSalary() { + void regularSalary() { assertThat(calculator.finalSalary(0, 0)).isEqualTo(1000.0); } @Test - public void skippedBelowThreshold() { + void skippedBelowThreshold() { assertThat(calculator.finalSalary(3, 0)).isEqualTo(1000.0); } @Test - public void skippedAboveThreshold() { + void skippedAboveThreshold() { assertThat(calculator.finalSalary(7, 0)).isEqualTo(850.0); } @Test - public void soldBelowThreshold() { + void soldBelowThreshold() { assertThat(calculator.finalSalary(0, 10)).isEqualTo(1100.0); } @Test - public void soldAboveThreshold() { + void soldAboveThreshold() { assertThat(calculator.finalSalary(0, 25)).isEqualTo(1325.0); } @Test - public void skippedBelowThresholdAndSoldBelowThreshold() { + void skippedBelowThresholdAndSoldBelowThreshold() { assertThat(calculator.finalSalary(2, 5)).isEqualTo(1050.0); } @Test - public void skippedBelowThresholdAndSoldAboveThreshold() { + void skippedBelowThresholdAndSoldAboveThreshold() { assertThat(calculator.finalSalary(4, 40)).isEqualTo(1520.0); } @Test - public void skippedAboveThresholdAndSoldBelowThreshold() { + void skippedAboveThresholdAndSoldBelowThreshold() { assertThat(calculator.finalSalary(10, 2)).isEqualTo(870.0); } @Test - public void skippedAboveThresholdAndSoldAboveThreshold() { + void skippedAboveThresholdAndSoldAboveThreshold() { assertThat(calculator.finalSalary(7, 50)).isEqualTo(1500.0); } @Test - public void salaryCanReachCloseToMaximum() { + void salaryCanReachCloseToMaximum() { assertThat(calculator.finalSalary(0, 76)).isEqualTo(1988.0); } @Test - public void salaryRespectMaximum() { + void salaryRespectMaximum() { assertThat(calculator.finalSalary(0, 77)).isEqualTo(2000.0); } } diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/utils/ReflectionProxy.java b/exercism/src/test/java/io/sampadadubey/java/exercism/utils/ReflectionProxy.java index 9d932c9..4be7fab 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/utils/ReflectionProxy.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/utils/ReflectionProxy.java @@ -20,7 +20,7 @@ public abstract class ReflectionProxy { * A constructor to instantiate the target class with parameters * @param args An array of parameters matching the constructor from the target class */ - protected ReflectionProxy(Object... args) { + protected ReflectionProxy(final Object... args) { this.target = instantiateTarget(args); } @@ -43,11 +43,16 @@ public Object getTarget() { * @return The target class if it exists, null otherwise */ public Class getTargetClass() { + + Class result = null; + try { - return forName(this.getTargetClassName()); - } catch (ClassNotFoundException e) { - return null; + result = forName(this.getTargetClassName()); + } catch (final ClassNotFoundException e) { + result = null; } + + return result; } /** @@ -56,17 +61,20 @@ public Class getTargetClass() { * @param parameterTypes The list of parameter types * @return True if the method is found, false otherwise */ - public boolean hasMethod(String name, Class... parameterTypes) { - Class targetClass = getTargetClass(); + public boolean hasMethod(final String name, final Class... parameterTypes) { + final Class targetClass = getTargetClass(); + boolean hasMethod = false; if (targetClass == null || name == null) { - return false; - } - try { - Method m = targetClass.getDeclaredMethod(name, parameterTypes); - return m != null; - } catch (NoSuchMethodException e) { - return false; + hasMethod = false; + } else { + try { + Method m = targetClass.getDeclaredMethod(name, parameterTypes); + hasMethod = m != null; + } catch (final NoSuchMethodException e) { + hasMethod = false; + } } + return hasMethod; } /** @@ -75,17 +83,20 @@ public boolean hasMethod(String name, Class... parameterTypes) { * @param parameterTypes A list of method parameters * @return True if the method exists and is public, false otherwise */ - public boolean isMethodPublic(String name, Class... parameterTypes) { - Class targetClass = getTargetClass(); + public boolean isMethodPublic(final String name, final Class... parameterTypes) { + final Class targetClass = getTargetClass(); + boolean isMethodPublic = false; if (targetClass == null || name == null) { - return false; - } - try { - Method m = targetClass.getDeclaredMethod(name, parameterTypes); - return Modifier.isPublic(m.getModifiers()); - } catch (NoSuchMethodException e) { - return false; + isMethodPublic = false; + } else { + try { + Method m = targetClass.getDeclaredMethod(name, parameterTypes); + isMethodPublic = Modifier.isPublic(m.getModifiers()); + } catch (final NoSuchMethodException e) { + isMethodPublic = false; + } } + return isMethodPublic; } /** @@ -95,7 +106,7 @@ public boolean isMethodPublic(String name, Class... parameterTypes) { * @param parameterTypes The list of method parameters * @return */ - public boolean isMethodReturnType(Class returnType, String name, Class... parameterTypes) { + public boolean isMethodReturnType(final Class returnType, final String name, final Class... parameterTypes) { return isMethodReturnType(returnType, null, name, parameterTypes); } @@ -107,7 +118,7 @@ public boolean isMethodReturnType(Class returnType, String name, Class... * @param The result type we expect the method to be * @return The value returned by the method */ - protected T invokeMethod(String methodName, Class[] parameterTypes, Object... parameterValues) { + protected T invokeMethod(final String methodName, final Class[] parameterTypes, Object... parameterValues) { if (target == null) { return null; } From 19f7057c0ef00494fdc04fe6fdf1c0ab4e7d3055 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Thu, 21 Jul 2022 01:56:03 +0530 Subject: [PATCH 35/77] GH-5: Exercism-Java: Codacy violation fixes --- .../java/exercism/RaindropConverter.java | 26 ++++++++++++------- .../java/exercism/NaturalNumberTest.java | 2 +- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/RaindropConverter.java b/exercism/src/main/java/io/sampadadubey/java/exercism/RaindropConverter.java index aae0d4d..046094d 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/RaindropConverter.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/RaindropConverter.java @@ -2,26 +2,32 @@ public class RaindropConverter { + static final int THREE = 3; + + static final int FIVE = 5; + + static final int SEVEN = 7; + String convert(final int number) { - String result = ""; + final StringBuilder result = new StringBuilder(); - if (number % 3 == 0) { - result += "Pling"; + if (number % THREE == 0) { + result.append("Pling"); } - if (number % 5 == 0) { - result += "Plang"; + if (number % FIVE == 0) { + result.append("Plang"); } - if (number % 7 == 0) { - result += "Plong"; + if (number % SEVEN == 0) { + result.append("Plong"); } - if (result.isEmpty()) { - result += String.valueOf(number); + if (result.length() == 0) { + result.append(String.valueOf(number)); } - return result; + return result.toString(); } } diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/NaturalNumberTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/NaturalNumberTest.java index 97c7f8d..0b289da 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/NaturalNumberTest.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/NaturalNumberTest.java @@ -35,7 +35,7 @@ void testMediumAbundantNumberIsClassifiedCorrectly() { @Test void testLargeAbundantNumberIsClassifiedCorrectly() { - assertThat(new NaturalNumber(33440335).getClassification()).isEqualTo(Classification.ABUNDANT); + assertThat(new NaturalNumber(33550335).getClassification()).isEqualTo(Classification.ABUNDANT); } @Test From cf52c41bc80072114372c835e9cde0f99453a480 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Thu, 21 Jul 2022 02:20:03 +0530 Subject: [PATCH 36/77] GH-5: Exercism-Java: Codacy violation fixes --- .../sampadadubey/java/exercism/LeapYear.java | 2 +- .../java/exercism/RnaTranscription.java | 16 +-- .../io/sampadadubey/java/exercism/Say.java | 70 +++++---- .../java/exercism/ScrabbleScore.java | 60 ++++---- .../java/exercism/SqueakyClean.java | 12 +- .../java/exercism/BlackJackTest.java | 136 +++++++++++------- .../java/exercism/SqueakyCleanTest.java | 28 ++-- 7 files changed, 180 insertions(+), 144 deletions(-) diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/LeapYear.java b/exercism/src/main/java/io/sampadadubey/java/exercism/LeapYear.java index 9060362..4adcc3a 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/LeapYear.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/LeapYear.java @@ -4,7 +4,7 @@ public class LeapYear { boolean isLeapYear(final int year) { - boolean leapYear = false; + final boolean leapYear; if (year % 100 == 0) { leapYear = year % 400 == 0; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/RnaTranscription.java b/exercism/src/main/java/io/sampadadubey/java/exercism/RnaTranscription.java index 1d011bc..6d8b631 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/RnaTranscription.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/RnaTranscription.java @@ -5,14 +5,14 @@ class RnaTranscription { - static final Map DNA_TO_RNA = new HashMap<>() { - { - put('G', "C"); - put('C', "G"); - put('T', "A"); - put('A', "U"); - } - }; + static final Map DNA_TO_RNA = new HashMap<>(4); + + static { + DNA_TO_RNA.put('G', "C"); + DNA_TO_RNA.put('C', "G"); + DNA_TO_RNA.put('T', "A"); + DNA_TO_RNA.put('A', "U"); + } String transcribe(final String dnaStrand) { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Say.java b/exercism/src/main/java/io/sampadadubey/java/exercism/Say.java index f81748d..6bfdb27 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/Say.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/Say.java @@ -10,6 +10,8 @@ public class Say { + static final int TWENTY = 20; + static final List NUMBERS = new ArrayList<>() { { add(NamedNumber.QUINTILLION); @@ -23,6 +25,21 @@ public class Say { public String say(final long number) { + validate(number); + + final String result; + + if (number != 0) { + result = sayNumber(number); + } else { + result = NamedNumber.getString(number); + } + + return result; + } + + private void validate(final long number) { + if (number < 0) { throw new IllegalArgumentException("negative numbers not allowed"); } @@ -30,39 +47,38 @@ public String say(final long number) { if (number >= NamedNumber.TRILLION.getNumber()) { throw new IllegalArgumentException("number too big"); } + } + + private String sayNumber(final long number) { final StringBuilder result = new StringBuilder(); - if (number != 0) { - long value = number; + long value = number; - for (int index = 0; value != 0 && index < NUMBERS.size(); index++) { + for (int index = 0; value != 0 && index < NUMBERS.size(); index++) { - final long divisor = NUMBERS.get(index).getNumber(); + final long divisor = NUMBERS.get(index).getNumber(); - final long currentNumber = value / divisor; + final long currentNumber = value / divisor; - value = value % divisor; + value = value % divisor; - if (currentNumber != 0) { - if (currentNumber >= NamedNumber.HUNDRED.getNumber()) { - result.append( - format("%s %s ", sayThreeDigitNumber(currentNumber), NamedNumber.getString(divisor))); - } else { - result.append( - format("%s %s ", sayTwoDigitNumber(currentNumber), NamedNumber.getString(divisor))); - } - } else if (value < NamedNumber.THOUSAND.getNumber()) { - result.append(sayThreeDigitNumber(number) + " "); - value = 0; + if (currentNumber != 0) { + if (currentNumber >= NamedNumber.HUNDRED.getNumber()) { + result.append( + format("%s %s ", sayThreeDigitNumber(currentNumber), NamedNumber.getString(divisor))); + } else { + result.append( + format("%s %s ", sayTwoDigitNumber(currentNumber), NamedNumber.getString(divisor))); } + } else if (value < NamedNumber.THOUSAND.getNumber()) { + result.append(sayThreeDigitNumber(number) + " "); + value = 0; } + } - if (value != 0) { - result.append(sayThreeDigitNumber(value)); - } - } else { - result.append(NamedNumber.getString(number)); + if (value != 0) { + result.append(sayThreeDigitNumber(value)); } return result.toString().trim(); @@ -93,7 +109,7 @@ private String sayTwoDigitNumber(final long number) { final StringBuilder result = new StringBuilder(); - if (number >= 20) { + if (number >= TWENTY) { final int tensValue = ((int) Math.floor(number / 10.0)) * 10; final int unitsValue = (int) number % 10; @@ -107,14 +123,6 @@ private String sayTwoDigitNumber(final long number) { return result.toString().trim(); } - - public static void main(String[] args) { - Say say = new Say(); - - for (int i = 1; i < 111111; i++) { - System.out.println(say.say(i)); - } - } } enum NamedNumber { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/ScrabbleScore.java b/exercism/src/main/java/io/sampadadubey/java/exercism/ScrabbleScore.java index 42b6ae4..a1e641c 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/ScrabbleScore.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/ScrabbleScore.java @@ -3,43 +3,45 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Optional; class ScrabbleScore { - static Map LETTER_VALUES = new HashMap() { - { - final String[] valueOneCharacters = new String[] { "1", "a,e,i,o,u,l,n,r,s,t" }; - final String[] valueTwoCharacters = new String[] { "2", "d,g" }; - final String[] valueThreeCharacters = new String[] { "3", "b,c,m,p" }; - final String[] valueFourCharacters = new String[] { "4", "f,h,v,w,y" }; - final String[] valueFiveCharacters = new String[] { "5", "k" }; - final String[] valueEightCharacters = new String[] { "8", "j,x" }; - final String[] valueTenCharacters = new String[] { "10", "q,z" }; - - final List values = new ArrayList<>(); - values.add(valueOneCharacters); - values.add(valueTwoCharacters); - values.add(valueThreeCharacters); - values.add(valueFourCharacters); - values.add(valueFiveCharacters); - values.add(valueEightCharacters); - values.add(valueTenCharacters); - - for (final String[] value : values) { - final Integer characterValue = Integer.parseInt(value[0]); - final String[] characters = value[1].split(","); - for (final String character : characters) { - put(character.toLowerCase(), characterValue); - put(character.toUpperCase(), characterValue); - } - } - } - }; + static final Map LETTER_VALUES = new HashMap<>(); private final String word; + static { + + final String[] valueOneCharacters = new String[] { "1", "a,e,i,o,u,l,n,r,s,t" }; + final String[] valueTwoCharacters = new String[] { "2", "d,g" }; + final String[] valueThreeCharacters = new String[] { "3", "b,c,m,p" }; + final String[] valueFourCharacters = new String[] { "4", "f,h,v,w,y" }; + final String[] valueFiveCharacters = new String[] { "5", "k" }; + final String[] valueEightCharacters = new String[] { "8", "j,x" }; + final String[] valueTenCharacters = new String[] { "10", "q,z" }; + + final List values = new ArrayList<>(); + values.add(valueOneCharacters); + values.add(valueTwoCharacters); + values.add(valueThreeCharacters); + values.add(valueFourCharacters); + values.add(valueFiveCharacters); + values.add(valueEightCharacters); + values.add(valueTenCharacters); + + for (final String[] value : values) { + final Integer characterValue = Integer.parseInt(value[0]); + final String[] characters = value[1].split(","); + for (final String character : characters) { + LETTER_VALUES.put(character.toLowerCase(Locale.getDefault()), characterValue); + LETTER_VALUES.put(character.toUpperCase(Locale.getDefault()), characterValue); + } + } + } + ScrabbleScore(final String word) { this.word = Optional.ofNullable(word).orElseGet(() -> "").trim(); } diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/SqueakyClean.java b/exercism/src/main/java/io/sampadadubey/java/exercism/SqueakyClean.java index 3864c48..64209f2 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/SqueakyClean.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/SqueakyClean.java @@ -2,7 +2,7 @@ public class SqueakyClean { - static String clean(final String identifier) { + String clean(final String identifier) { String allSpacesReplaced = identifier.replaceAll(" ", "_"); String allSpaceAndNumbersReplaced = allSpacesReplaced.replaceAll("[0-9]", ""); @@ -15,8 +15,6 @@ static String clean(final String identifier) { final char value = allSpaceAndNumbersReplaced.charAt(index); - System.out.println(String.format("Char[%s] -> %d", value, (int) value)); - if (isControlCharacter(value)) { result.append("CTRL"); } else if (isGreekCharacter(value)) { @@ -34,19 +32,19 @@ static String clean(final String identifier) { return result.toString(); } - static boolean isControlCharacter(final char value) { + boolean isControlCharacter(final char value) { return value <= 37 || value == 127; } - static boolean isGreekCharacter(final char value) { + boolean isGreekCharacter(final char value) { return 945 <= value && value <= 969; } - static boolean isHyphen(final char value) { + boolean isHyphen(final char value) { return value == '-'; } - static boolean isEmoji(final char value) { + boolean isEmoji(final char value) { return value >= 8032; } } diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/BlackJackTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/BlackJackTest.java index fe64ae5..473187b 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/BlackJackTest.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/BlackJackTest.java @@ -7,6 +7,32 @@ class BlackJackTest { + private static final String TWO = "two"; + + private static final String THREE = "three"; + + private static final String FOUR = "four"; + + private static final String FIVE = "five"; + + private static final String SIX = "six"; + + private static final String SEVEN = "seven"; + + private static final String EIGHT = "eight"; + + private static final String NINE = "nine"; + + private static final String TEN = "ten"; + + private static final String JACK = "jack"; + + private static final String QUEEN = "queen"; + + private static final String KING = "king"; + + private static final String ACE = "ace"; + private BlackJack fixture; @BeforeEach @@ -16,277 +42,277 @@ void setUp() { @Test void correctParsesAce() { - assertThat(fixture.parseCard("ace")).isEqualTo(11); + assertThat(fixture.parseCard(ACE)).isEqualTo(11); } @Test void correctParsesTwo() { - assertThat(fixture.parseCard("two")).isEqualTo(2); + assertThat(fixture.parseCard(TWO)).isEqualTo(2); } @Test void correctParsesThree() { - assertThat(fixture.parseCard("three")).isEqualTo(3); + assertThat(fixture.parseCard(THREE)).isEqualTo(3); } @Test void correctParsesFour() { - assertThat(fixture.parseCard("four")).isEqualTo(4); + assertThat(fixture.parseCard(FOUR)).isEqualTo(4); } @Test void correctParsesFive() { - assertThat(fixture.parseCard("five")).isEqualTo(5); + assertThat(fixture.parseCard(FIVE)).isEqualTo(5); } @Test void correctParsesSix() { - assertThat(fixture.parseCard("six")).isEqualTo(6); + assertThat(fixture.parseCard(SIX)).isEqualTo(6); } @Test void correctParsesSeven() { - assertThat(fixture.parseCard("seven")).isEqualTo(7); + assertThat(fixture.parseCard(SEVEN)).isEqualTo(7); } @Test void correctParsesEight() { - assertThat(fixture.parseCard("eight")).isEqualTo(8); + assertThat(fixture.parseCard(EIGHT)).isEqualTo(8); } @Test void correctParsesNine() { - assertThat(fixture.parseCard("nine")).isEqualTo(9); + assertThat(fixture.parseCard(NINE)).isEqualTo(9); } @Test void correctParsesTen() { - assertThat(fixture.parseCard("ten")).isEqualTo(10); + assertThat(fixture.parseCard(TEN)).isEqualTo(10); } @Test void correctParsesJack() { - assertThat(fixture.parseCard("jack")).isEqualTo(10); + assertThat(fixture.parseCard(JACK)).isEqualTo(10); } @Test void correctParsesQueen() { - assertThat(fixture.parseCard("queen")).isEqualTo(10); + assertThat(fixture.parseCard(QUEEN)).isEqualTo(10); } @Test void correctParsesKing() { - assertThat(fixture.parseCard("king")).isEqualTo(10); + assertThat(fixture.parseCard(KING)).isEqualTo(10); } @Test void blackjackWithTenAceSecond() { - assertThat(fixture.isBlackjack("ten", "ace")).isEqualTo(true); + assertThat(fixture.isBlackjack(TEN, ACE)).isEqualTo(true); } @Test void blackjackWithJackAceSecond() { - assertThat(fixture.isBlackjack("jack", "ace")).isEqualTo(true); + assertThat(fixture.isBlackjack(JACK, ACE)).isEqualTo(true); } @Test void blackjackWithQueenAceSecond() { - assertThat(fixture.isBlackjack("queen", "ace")).isEqualTo(true); + assertThat(fixture.isBlackjack(QUEEN, ACE)).isEqualTo(true); } @Test void blackjackWithKingAceSecond() { - assertThat(fixture.isBlackjack("king", "ace")).isEqualTo(true); + assertThat(fixture.isBlackjack(KING, ACE)).isEqualTo(true); } @Test void noBlackjackWithFive() { - assertThat(fixture.isBlackjack("ace", "five")).isEqualTo(false); + assertThat(fixture.isBlackjack(ACE, FIVE)).isEqualTo(false); } @Test void noBlackjackWithNine() { - assertThat(fixture.isBlackjack("ace", "nine")).isEqualTo(false); + assertThat(fixture.isBlackjack(ACE, NINE)).isEqualTo(false); } @Test void noBlackjackWithTwoAces() { - assertThat(fixture.isBlackjack("ace", "ace")).isEqualTo(false); + assertThat(fixture.isBlackjack(ACE, ACE)).isEqualTo(false); } @Test void noBlackjackWithTwoFigures() { - assertThat(fixture.isBlackjack("queen", "jack")).isEqualTo(false); + assertThat(fixture.isBlackjack(QUEEN, JACK)).isEqualTo(false); } @Test void noBlackjackWithKingAndFive() { - assertThat(fixture.isBlackjack("king", "five")).isEqualTo(false); + assertThat(fixture.isBlackjack(KING, FIVE)).isEqualTo(false); } @Test void noBlackjackWithEightAndFive() { - assertThat(fixture.isBlackjack("eight", "five")).isEqualTo(false); + assertThat(fixture.isBlackjack(EIGHT, FIVE)).isEqualTo(false); } @Test void firstTurnWithAceAceAndDealerAce() { - assertThat(fixture.firstTurn("ace", "ace", "ace")).isEqualTo("P"); + assertThat(fixture.firstTurn(ACE, ACE, ACE)).isEqualTo("P"); } @Test void firstTurnWithJackJackAndDealerAce() { - assertThat(fixture.firstTurn("jack", "jack", "ace")).isEqualTo("S"); + assertThat(fixture.firstTurn(JACK, JACK, ACE)).isEqualTo("S"); } @Test void firstTurnWithKingKingAndDealerAce() { - assertThat(fixture.firstTurn("king", "king", "ace")).isEqualTo("S"); + assertThat(fixture.firstTurn(KING, KING, ACE)).isEqualTo("S"); } @Test void firstTurnWithTwoTwoAndDealerAce() { - assertThat(fixture.firstTurn("two", "two", "ace")).isEqualTo("H"); + assertThat(fixture.firstTurn(TWO, TWO, ACE)).isEqualTo("H"); } @Test void firstTurnWithFiveFiveAndAce() { - assertThat(fixture.firstTurn("five", "five", "ace")).isEqualTo("H"); + assertThat(fixture.firstTurn(FIVE, FIVE, ACE)).isEqualTo("H"); } @Test void firstTurnWithJackAceAndDealerAce() { - assertThat(fixture.firstTurn("jack", "ace", "ace")).isEqualTo("S"); + assertThat(fixture.firstTurn(JACK, ACE, ACE)).isEqualTo("S"); } @Test void firstTurnWithAceKingAndDealerQueen() { - assertThat(fixture.firstTurn("ace", "king", "queen")).isEqualTo("S"); + assertThat(fixture.firstTurn(ACE, KING, QUEEN)).isEqualTo("S"); } @Test void firstTurnWithTenAceAndDealerFive() { - assertThat(fixture.firstTurn("ten", "ace", "five")).isEqualTo("W"); + assertThat(fixture.firstTurn(TEN, ACE, FIVE)).isEqualTo("W"); } @Test void firstTurnWithKingAceAndDealerNine() { - assertThat(fixture.firstTurn("king", "ace", "nine")).isEqualTo("W"); + assertThat(fixture.firstTurn(KING, ACE, NINE)).isEqualTo("W"); } @Test void firstTurnWithKingTenAndDealerAce() { - assertThat(fixture.firstTurn("king", "ten", "ace")).isEqualTo("S"); + assertThat(fixture.firstTurn(KING, TEN, ACE)).isEqualTo("S"); } @Test void firstTurnWithNineTenAndDealerAce() { - assertThat(fixture.firstTurn("nine", "ten", "ace")).isEqualTo("S"); + assertThat(fixture.firstTurn(NINE, TEN, ACE)).isEqualTo("S"); } @Test void firstTurnWithEightTenAndDealerAce() { - assertThat(fixture.firstTurn("eight", "ten", "ace")).isEqualTo("S"); + assertThat(fixture.firstTurn(EIGHT, TEN, ACE)).isEqualTo("S"); } @Test void firstTurnWithKingSevenAndDealerAce() { - assertThat(fixture.firstTurn("king", "seven", "ace")).isEqualTo("S"); + assertThat(fixture.firstTurn(KING, SEVEN, ACE)).isEqualTo("S"); } @Test void firstTurnWithSixTenAndDealerSix() { - assertThat(fixture.firstTurn("six", "ten", "six")).isEqualTo("S"); + assertThat(fixture.firstTurn(SIX, TEN, SIX)).isEqualTo("S"); } @Test void firstTurnWithSixTenAndDealerSeven() { - assertThat(fixture.firstTurn("six", "ten", "seven")).isEqualTo("H"); + assertThat(fixture.firstTurn(SIX, TEN, SEVEN)).isEqualTo("H"); } @Test void firstTurnWithSixTenAndDealerAce() { - assertThat(fixture.firstTurn("six", "ten", "ace")).isEqualTo("H"); + assertThat(fixture.firstTurn(SIX, TEN, ACE)).isEqualTo("H"); } @Test void firstTurnWithFiveTenAndDealerSix() { - assertThat(fixture.firstTurn("five", "ten", "six")).isEqualTo("S"); + assertThat(fixture.firstTurn(FIVE, TEN, SIX)).isEqualTo("S"); } @Test void firstTurnWithFiveTenAndDealerSeven() { - assertThat(fixture.firstTurn("five", "ten", "seven")).isEqualTo("H"); + assertThat(fixture.firstTurn(FIVE, TEN, SEVEN)).isEqualTo("H"); } @Test void firstTurnWithFiveTenAndDealerKing() { - assertThat(fixture.firstTurn("five", "ten", "king")).isEqualTo("H"); + assertThat(fixture.firstTurn(FIVE, TEN, KING)).isEqualTo("H"); } @Test void firstTurnWithFourTenAndDealerSix() { - assertThat(fixture.firstTurn("four", "ten", "six")).isEqualTo("S"); + assertThat(fixture.firstTurn(FOUR, TEN, SIX)).isEqualTo("S"); } @Test void firstTurnWithFourTenAndDealerSeven() { - assertThat(fixture.firstTurn("four", "ten", "seven")).isEqualTo("H"); + assertThat(fixture.firstTurn(FOUR, TEN, SEVEN)).isEqualTo("H"); } @Test void firstTurnWithFourTenAndDealerQueen() { - assertThat(fixture.firstTurn("four", "ten", "queen")).isEqualTo("H"); + assertThat(fixture.firstTurn(FOUR, TEN, QUEEN)).isEqualTo("H"); } @Test void firstTurnWithThreeTenAndDealerSix() { - assertThat(fixture.firstTurn("three", "ten", "six")).isEqualTo("S"); + assertThat(fixture.firstTurn(THREE, TEN, SIX)).isEqualTo("S"); } @Test void firstTurnWithThreeTenAndDealerSeven() { - assertThat(fixture.firstTurn("three", "ten", "seven")).isEqualTo("H"); + assertThat(fixture.firstTurn(THREE, TEN, SEVEN)).isEqualTo("H"); } @Test void firstTurnWithThreeTenAndDealerQueen() { - assertThat(fixture.firstTurn("three", "ten", "queen")).isEqualTo("H"); + assertThat(fixture.firstTurn(THREE, TEN, QUEEN)).isEqualTo("H"); } @Test void firstTurnWithTwoTenAndDealerSix() { - assertThat(fixture.firstTurn("two", "ten", "six")).isEqualTo("S"); + assertThat(fixture.firstTurn(TWO, TEN, SIX)).isEqualTo("S"); } @Test void firstTurnWithTwoTenAndDealerSeven() { - assertThat(fixture.firstTurn("two", "ten", "seven")).isEqualTo("H"); + assertThat(fixture.firstTurn(TWO, TEN, SEVEN)).isEqualTo("H"); } @Test void firstTurnWithTwoTenAndDealerQueen() { - assertThat(fixture.firstTurn("two", "ten", "queen")).isEqualTo("H"); + assertThat(fixture.firstTurn(TWO, TEN, QUEEN)).isEqualTo("H"); } @Test void firstTurnWithTwoNineAndDealerQueen() { - assertThat(fixture.firstTurn("two", "nine", "queen")).isEqualTo("H"); + assertThat(fixture.firstTurn(TWO, NINE, QUEEN)).isEqualTo("H"); } @Test void firstTurnWithTwoEightAndDealerTwo() { - assertThat(fixture.firstTurn("two", "eight", "two")).isEqualTo("H"); + assertThat(fixture.firstTurn(TWO, EIGHT, TWO)).isEqualTo("H"); } @Test void firstTurnWithTwoThreeAndDealerQueen() { - assertThat(fixture.firstTurn("two", "three", "queen")).isEqualTo("H"); + assertThat(fixture.firstTurn(TWO, THREE, QUEEN)).isEqualTo("H"); } @Test void firstTurnWithTwoTwoAndDealerFive() { - assertThat(fixture.firstTurn("two", "two", "five")).isEqualTo("H"); + assertThat(fixture.firstTurn(TWO, TWO, FIVE)).isEqualTo("H"); } } diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/SqueakyCleanTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/SqueakyCleanTest.java index 43879e5..b4f44e7 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/SqueakyCleanTest.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/SqueakyCleanTest.java @@ -6,69 +6,71 @@ class SqueakyCleanTest { + private final SqueakyClean fixture = new SqueakyClean(); + @Test void empty() { new SqueakyClean(); - assertThat(SqueakyClean.clean("")).isEmpty(); + assertThat(fixture.clean("")).isEmpty(); } @Test void single_letter() { - assertThat(SqueakyClean.clean("A")).isEqualTo("A"); + assertThat(fixture.clean("A")).isEqualTo("A"); } @Test void string() { - assertThat(SqueakyClean.clean("àḃç")).isEqualTo("àḃç"); + assertThat(fixture.clean("àḃç")).isEqualTo("àḃç"); } @Test void spaces() { - assertThat(SqueakyClean.clean("my Id")).isEqualTo("my___Id"); + assertThat(fixture.clean("my Id")).isEqualTo("my___Id"); } @Test void leading_and_trailing_spaces() { - assertThat(SqueakyClean.clean(" myId ")).isEqualTo("_myId_"); + assertThat(fixture.clean(" myId ")).isEqualTo("_myId_"); } @Test void ctrl() { - assertThat(SqueakyClean.clean("my\0\r\u007FId")).isEqualTo("myCTRLCTRLCTRLId"); + assertThat(fixture.clean("my\0\r\u007FId")).isEqualTo("myCTRLCTRLCTRLId"); } @Test void string_with_no_letters() { - assertThat(SqueakyClean.clean("\uD83D\uDE00\uD83D\uDE00\uD83D\uDE00")).isEmpty(); + assertThat(fixture.clean("\uD83D\uDE00\uD83D\uDE00\uD83D\uDE00")).isEmpty(); } @Test void keep_only_letters() { - assertThat(SqueakyClean.clean("a1\uD83D\uDE002\uD83D\uDE003\uD83D\uDE00b")).isEqualTo("ab"); + assertThat(fixture.clean("a1\uD83D\uDE002\uD83D\uDE003\uD83D\uDE00b")).isEqualTo("ab"); } @Test void kebab_to_camel_case() { - assertThat(SqueakyClean.clean("à-ḃç")).isEqualTo("àḂç"); + assertThat(fixture.clean("à-ḃç")).isEqualTo("àḂç"); } @Test void kebab_to_camel_case_no_letter() { - assertThat(SqueakyClean.clean("a-1C")).isEqualTo("aC"); + assertThat(fixture.clean("a-1C")).isEqualTo("aC"); } @Test void omit_lower_case_greek_letters() { - assertThat(SqueakyClean.clean("MyΟβιεγτFinder")).isEqualTo("MyΟFinder"); + assertThat(fixture.clean("MyΟβιεγτFinder")).isEqualTo("MyΟFinder"); } @Test void combine_conversions() { - assertThat(SqueakyClean.clean("9 -abcĐ\uD83D\uDE00ω\0")).isEqualTo("_AbcĐCTRL"); + assertThat(fixture.clean("9 -abcĐ\uD83D\uDE00ω\0")).isEqualTo("_AbcĐCTRL"); } @Test void kebab_to_camel_case_hyphen_at_the_end() { - assertThat(SqueakyClean.clean("a-")).isEqualTo("a-"); + assertThat(fixture.clean("a-")).isEqualTo("a-"); } } From 2cbc7020c4ddd28655a460ee0579c9bad4211675 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Thu, 21 Jul 2022 02:35:47 +0530 Subject: [PATCH 37/77] GH-5: Exercism-Java: Codacy violation fixes --- .../java/exercism/AnnalynsInfiltration.java | 8 +-- .../java/exercism/BirdWatcher.java | 2 +- .../sampadadubey/java/exercism/BlackJack.java | 10 +-- .../java/exercism/LanguageList.java | 8 +-- .../sampadadubey/java/exercism/LogLevels.java | 9 +-- .../io/sampadadubey/java/exercism/Matrix.java | 12 ++-- .../java/exercism/NaturalNumber.java | 47 ++++++++------ .../java/exercism/ResistorColorCode.java | 3 +- .../io/sampadadubey/java/exercism/Say.java | 3 +- .../exercism/AnnalynsInfiltrationTest.java | 62 ++++++++++--------- .../java/exercism/LogLevelsTest.java | 24 +++---- 11 files changed, 100 insertions(+), 88 deletions(-) diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/AnnalynsInfiltration.java b/exercism/src/main/java/io/sampadadubey/java/exercism/AnnalynsInfiltration.java index 6c091d4..4f3972b 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/AnnalynsInfiltration.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/AnnalynsInfiltration.java @@ -2,20 +2,20 @@ public class AnnalynsInfiltration { - public static boolean canFastAttack(final boolean knightIsAwake) { + boolean canFastAttack(final boolean knightIsAwake) { return !knightIsAwake; } - public static boolean canSpy(final boolean knightIsAwake, final boolean archerIsAwake, + boolean canSpy(final boolean knightIsAwake, final boolean archerIsAwake, final boolean prisonerIsAwake) { return knightIsAwake || archerIsAwake || prisonerIsAwake; } - public static boolean canSignalPrisoner(final boolean archerIsAwake, final boolean prisonerIsAwake) { + boolean canSignalPrisoner(final boolean archerIsAwake, final boolean prisonerIsAwake) { return !archerIsAwake && prisonerIsAwake; } - public static boolean canFreePrisoner(final boolean knightIsAwake, final boolean archerIsAwake, + boolean canFreePrisoner(final boolean knightIsAwake, final boolean archerIsAwake, final boolean prisonerIsAwake, final boolean petDogIsPresent) { boolean result = false; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/BirdWatcher.java b/exercism/src/main/java/io/sampadadubey/java/exercism/BirdWatcher.java index 5d77340..6db7520 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/BirdWatcher.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/BirdWatcher.java @@ -24,7 +24,7 @@ public int[] getLastWeek() { final int multiplier = (dayCount - 1) / DAYS_IN_WEEK; - int lastWeekStartIndex = (DAYS_IN_WEEK * multiplier); + final int lastWeekStartIndex = (DAYS_IN_WEEK * multiplier); lastWeekBirdsPerDay = new int[dayCount - lastWeekStartIndex]; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/BlackJack.java b/exercism/src/main/java/io/sampadadubey/java/exercism/BlackJack.java index fb9bae7..bdd46e1 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/BlackJack.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/BlackJack.java @@ -7,6 +7,8 @@ public class BlackJack { static final int SCORE_BLACKJACK = 21; + static final int SCORE_TWENTY = 20; + static final int SCORE_SEVENTEEN = 17; static final int SCORE_ELEVEN = 11; @@ -74,10 +76,10 @@ public String smallHand(final int handScore, final int dealerScore) { // the other functions together in a // complete decision tree for the first turn. public String firstTurn(final String card1, final String card2, final String dealerCard) { - int handScore = parseCard(card1) + parseCard(card2); - int dealerScore = parseCard(dealerCard); + final int handScore = parseCard(card1) + parseCard(card2); + final int dealerScore = parseCard(dealerCard); - if (20 < handScore) { + if (SCORE_TWENTY < handScore) { return largeHand(isBlackjack(card1, card2), dealerScore); } else { return smallHand(handScore, dealerScore); @@ -128,7 +130,7 @@ static Card get(final String cardValueToParse) { return Card.UNKNOWN; } - private Card(final int value) { + Card(final int value) { this.value = value; } diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/LanguageList.java b/exercism/src/main/java/io/sampadadubey/java/exercism/LanguageList.java index 69b4b0e..e008f70 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/LanguageList.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/LanguageList.java @@ -1,6 +1,7 @@ package io.sampadadubey.java.exercism; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -9,12 +10,7 @@ public class LanguageList { private final List languages = new ArrayList<>(); - private final Set excitingLanguages = new HashSet() { - { - add("Java"); - add("Kotlin"); - } - }; + private final Set excitingLanguages = new HashSet<>(Arrays.asList("Java", "Kotlin")); public boolean isEmpty() { return languages.isEmpty(); diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/LogLevels.java b/exercism/src/main/java/io/sampadadubey/java/exercism/LogLevels.java index e7e29ae..7c9f66a 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/LogLevels.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/LogLevels.java @@ -1,5 +1,6 @@ package io.sampadadubey.java.exercism; +import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -11,17 +12,17 @@ public class LogLevels { static final int MATCHER_GROUP_LOG_MESSAGE = 2; - public static String message(final String logLine) { + public String message(final String logLine) { final Matcher matcher = LOG_PATTERN.matcher(logLine); return matcher.matches() ? matcher.group(MATCHER_GROUP_LOG_MESSAGE).trim() : ""; } - public static String logLevel(final String logLine) { + public String logLevel(final String logLine) { final Matcher matcher = LOG_PATTERN.matcher(logLine); - return matcher.matches() ? matcher.group(MATCHER_GROUP_LOG_LEVEL).trim().toLowerCase() : ""; + return matcher.matches() ? matcher.group(MATCHER_GROUP_LOG_LEVEL).trim().toLowerCase(Locale.getDefault()) : ""; } - public static String reformat(final String logLine) { + public String reformat(final String logLine) { final String logLevel = logLevel(logLine); final String message = message(logLine); return String.format("%s (%s)", message, logLevel); diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Matrix.java b/exercism/src/main/java/io/sampadadubey/java/exercism/Matrix.java index b72d0ac..d8d58f3 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/Matrix.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/Matrix.java @@ -6,7 +6,7 @@ class Matrix { private final int cols; - private final int[][] matrix; + private final int[][] data; Matrix(final String matrixAsString) { @@ -15,7 +15,7 @@ class Matrix { this.rows = rowData.length; this.cols = rowData[0].split(" ").length; - this.matrix = new int[rowData.length][firstColumnData.length]; + this.data = new int[rowData.length][firstColumnData.length]; int row = 0; String[] currentRowData; @@ -24,10 +24,10 @@ class Matrix { currentRowData = rowData[row].split(" "); - matrix[row] = new int[cols]; + data[row] = new int[cols]; for (int col = 0; col < cols; col++) { - matrix[row][col] = Integer.parseInt(currentRowData[col]); + data[row][col] = Integer.parseInt(currentRowData[col]); } row++; @@ -41,7 +41,7 @@ int[] getRow(final int rowNumber) { final int[] rowData = new int[cols]; for (int col = 0; col < cols; col++) { - rowData[col] = matrix[rowNumber - 1][col]; + rowData[col] = data[rowNumber - 1][col]; } return rowData; @@ -52,7 +52,7 @@ int[] getColumn(final int columnNumber) { final int[] colData = new int[rows]; for (int row = 0; row < rows; row++) { - colData[row] = matrix[row][columnNumber - 1]; + colData[row] = data[row][columnNumber - 1]; } return colData; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/NaturalNumber.java b/exercism/src/main/java/io/sampadadubey/java/exercism/NaturalNumber.java index c712a0d..27d92b1 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/NaturalNumber.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/NaturalNumber.java @@ -19,26 +19,7 @@ public Classification getClassification() { if (number != 1) { - int loopNumber = number; - int sum = 1; - int divisor = 2; - - while (divisor < loopNumber) { - - final double dividendWithDecimal = ((double) number) / divisor; - final double dividendWithoutDecimal = Math.floor(dividendWithDecimal); - - if (dividendWithDecimal == dividendWithoutDecimal) { - loopNumber = (int) dividendWithDecimal; - if (divisor != loopNumber) { - sum = sum + divisor + loopNumber; - } else { - sum = sum + divisor; - } - } - - divisor++; - } + final int sum = getSumOfDivisors(number); if (sum < number) { result = Classification.DEFICIENT; @@ -54,6 +35,32 @@ public Classification getClassification() { return result; } + + private int getSumOfDivisors(final int number) { + + int loopNumber = number; + int sum = 1; + int divisor = 2; + + while (divisor < loopNumber) { + + final double dividendWithDecimal = ((double) number) / divisor; + final double dividendWithoutDecimal = Math.floor(dividendWithDecimal); + + if (dividendWithDecimal == dividendWithoutDecimal) { + loopNumber = (int) dividendWithDecimal; + if (divisor != loopNumber) { + sum = sum + divisor + loopNumber; + } else { + sum = sum + divisor; + } + } + + divisor++; + } + + return sum; + } } enum Classification { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColorCode.java b/exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColorCode.java index 0459143..a8057a6 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColorCode.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColorCode.java @@ -1,6 +1,7 @@ package io.sampadadubey.java.exercism; import java.util.Arrays; +import java.util.Locale; public enum ResistorColorCode { @@ -48,7 +49,7 @@ static String[] colors() { final String[] colors = new String[values.length]; for (int index = 0; index < values.length; index++) { - colors[index] = values[index].name().toLowerCase(); + colors[index] = values[index].name().toLowerCase(Locale.getDefault()); } return colors; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Say.java b/exercism/src/main/java/io/sampadadubey/java/exercism/Say.java index 6bfdb27..8bcbc06 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/Say.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/Say.java @@ -6,6 +6,7 @@ import java.util.Arrays; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; public class Say { @@ -200,7 +201,7 @@ enum NamedNumber { static final Map VALUES = new HashMap() { { Arrays.stream(NamedNumber.values()) - .forEach(number -> put(number.getNumber(), number.name().toLowerCase())); + .forEach(number -> put(number.getNumber(), number.name().toLowerCase(Locale.getDefault()))); } }; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/AnnalynsInfiltrationTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/AnnalynsInfiltrationTest.java index c591807..8b440b3 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/AnnalynsInfiltrationTest.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/AnnalynsInfiltrationTest.java @@ -6,16 +6,18 @@ class AnnalynsInfiltrationTest { + private final AnnalynsInfiltration fixture = new AnnalynsInfiltration(); + @Test void cannot_execute_fast_attack_if_knight_is_awake() { final boolean knightIsAwake = true; - assertThat(AnnalynsInfiltration.canFastAttack(knightIsAwake)).isFalse(); + assertThat(fixture.canFastAttack(knightIsAwake)).isFalse(); } @Test void can_execute_fast_attack_if_knight_is_sleeping() { final boolean knightIsAwake = false; - assertThat(AnnalynsInfiltration.canFastAttack(knightIsAwake)).isTrue(); + assertThat(fixture.canFastAttack(knightIsAwake)).isTrue(); } @Test @@ -23,7 +25,7 @@ void cannot_spy_if_everyone_is_sleeping() { final boolean knightIsAwake = false; final boolean archerIsAwake = false; final boolean prisonerIsAwake = false; - assertThat(AnnalynsInfiltration.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isFalse(); + assertThat(fixture.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isFalse(); } @Test @@ -31,7 +33,7 @@ void can_spy_if_everyone_but_knight_is_sleeping() { final boolean knightIsAwake = true; final boolean archerIsAwake = false; final boolean prisonerIsAwake = false; - assertThat(AnnalynsInfiltration.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isTrue(); + assertThat(fixture.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isTrue(); } @Test @@ -39,7 +41,7 @@ void can_spy_if_everyone_but_archer_is_sleeping() { final boolean knightIsAwake = false; final boolean archerIsAwake = true; final boolean prisonerIsAwake = false; - assertThat(AnnalynsInfiltration.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isTrue(); + assertThat(fixture.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isTrue(); } @Test @@ -47,7 +49,7 @@ void can_spy_if_everyone_but_prisoner_is_sleeping() { final boolean knightIsAwake = false; final boolean archerIsAwake = false; final boolean prisonerIsAwake = true; - assertThat(AnnalynsInfiltration.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isTrue(); + assertThat(fixture.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isTrue(); } @Test @@ -55,7 +57,7 @@ void can_spy_if_only_knight_is_sleeping() { final boolean knightIsAwake = false; final boolean archerIsAwake = true; final boolean prisonerIsAwake = true; - assertThat(AnnalynsInfiltration.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isTrue(); + assertThat(fixture.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isTrue(); } @Test @@ -63,7 +65,7 @@ void can_spy_if_only_archer_is_sleeping() { final boolean knightIsAwake = true; final boolean archerIsAwake = false; final boolean prisonerIsAwake = true; - assertThat(AnnalynsInfiltration.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isTrue(); + assertThat(fixture.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isTrue(); } @Test @@ -71,7 +73,7 @@ void can_spy_if_only_prisoner_is_sleeping() { final boolean knightIsAwake = true; final boolean archerIsAwake = true; final boolean prisonerIsAwake = false; - assertThat(AnnalynsInfiltration.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isTrue(); + assertThat(fixture.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isTrue(); } @Test @@ -79,35 +81,35 @@ void can_spy_if_everyone_is_awake() { final boolean knightIsAwake = true; final boolean archerIsAwake = true; final boolean prisonerIsAwake = true; - assertThat(AnnalynsInfiltration.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isTrue(); + assertThat(fixture.canSpy(knightIsAwake, archerIsAwake, prisonerIsAwake)).isTrue(); } @Test void can_signal_prisoner_if_archer_is_sleeping_and_prisoner_is_awake() { final boolean archerIsAwake = false; final boolean prisonerIsAwake = true; - assertThat(AnnalynsInfiltration.canSignalPrisoner(archerIsAwake, prisonerIsAwake)).isTrue(); + assertThat(fixture.canSignalPrisoner(archerIsAwake, prisonerIsAwake)).isTrue(); } @Test void cannot_signal_prisoner_if_archer_is_awake_and_prisoner_is_sleeping() { final boolean archerIsAwake = true; final boolean prisonerIsAwake = false; - assertThat(AnnalynsInfiltration.canSignalPrisoner(archerIsAwake, prisonerIsAwake)).isFalse(); + assertThat(fixture.canSignalPrisoner(archerIsAwake, prisonerIsAwake)).isFalse(); } @Test void cannot_signal_prisoner_if_archer_and_prisoner_are_both_sleeping() { final boolean archerIsAwake = false; final boolean prisonerIsAwake = false; - assertThat(AnnalynsInfiltration.canSignalPrisoner(archerIsAwake, prisonerIsAwake)).isFalse(); + assertThat(fixture.canSignalPrisoner(archerIsAwake, prisonerIsAwake)).isFalse(); } @Test void cannot_signal_prisoner_if_archer_and_prisoner_are_both_awake() { final boolean archerIsAwake = true; final boolean prisonerIsAwake = true; - assertThat(AnnalynsInfiltration.canSignalPrisoner(archerIsAwake, prisonerIsAwake)).isFalse(); + assertThat(fixture.canSignalPrisoner(archerIsAwake, prisonerIsAwake)).isFalse(); } @Test @@ -116,7 +118,7 @@ void cannot_release_prisoner_if_everyone_is_awake_and_pet_dog_is_present() { final boolean archerIsAwake = true; final boolean prisonerIsAwake = true; final boolean petDogIsPresent = true; - assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + assertThat(fixture.canFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent)).isFalse(); } @@ -126,7 +128,7 @@ void cannot_release_prisoner_if_everyone_is_awake_and_pet_dog_is_absent() { final boolean archerIsAwake = true; final boolean prisonerIsAwake = true; final boolean petDogIsPresent = false; - assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + assertThat(fixture.canFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent)).isFalse(); } @@ -136,7 +138,7 @@ void can_release_prisoner_if_everyone_is_asleep_and_pet_dog_is_present() { final boolean archerIsAwake = false; final boolean prisonerIsAwake = false; final boolean petDogIsPresent = true; - assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + assertThat(fixture.canFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent)).isTrue(); } @@ -146,7 +148,7 @@ void cannot_release_prisoner_if_everyone_is_asleep_and_pet_dog_is_absent() { final boolean archerIsAwake = false; final boolean prisonerIsAwake = false; final boolean petDogIsPresent = false; - assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + assertThat(fixture.canFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent)).isFalse(); } @@ -156,7 +158,7 @@ void can_release_prisoner_if_only_prisoner_is_awake_and_pet_dog_is_present() { final boolean archerIsAwake = false; final boolean prisonerIsAwake = true; final boolean petDogIsPresent = true; - assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + assertThat(fixture.canFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent)).isTrue(); } @@ -166,7 +168,7 @@ void can_release_prisoner_if_only_prisoner_is_awake_and_pet_dog_is_absent() { final boolean archerIsAwake = false; final boolean prisonerIsAwake = true; final boolean petDogIsPresent = false; - assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + assertThat(fixture.canFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent)).isTrue(); } @@ -176,7 +178,7 @@ void cannot_release_prisoner_if_only_archer_is_awake_and_pet_dog_is_present() { final boolean archerIsAwake = true; final boolean prisonerIsAwake = false; final boolean petDogIsPresent = true; - assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + assertThat(fixture.canFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent)).isFalse(); } @@ -186,7 +188,7 @@ void cannot_release_prisoner_if_only_archer_is_awake_and_pet_dog_is_absent() { final boolean archerIsAwake = true; final boolean prisonerIsAwake = false; final boolean petDogIsPresent = false; - assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + assertThat(fixture.canFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent)).isFalse(); } @@ -196,7 +198,7 @@ void can_release_prisoner_if_only_knight_is_awake_and_pet_dog_is_present() { final boolean archerIsAwake = false; final boolean prisonerIsAwake = false; final boolean petDogIsPresent = true; - assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + assertThat(fixture.canFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent)).isTrue(); } @@ -206,7 +208,7 @@ void cannot_release_prisoner_if_only_knight_is_awake_and_pet_dog_is_absent() { final boolean archerIsAwake = false; final boolean prisonerIsAwake = false; final boolean petDogIsPresent = false; - assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + assertThat(fixture.canFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent)).isFalse(); } @@ -216,7 +218,7 @@ void cannot_release_prisoner_if_only_knight_is_asleep_and_pet_dog_is_present() { final boolean archerIsAwake = true; final boolean prisonerIsAwake = true; final boolean petDogIsPresent = true; - assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + assertThat(fixture.canFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent)).isFalse(); } @@ -226,7 +228,7 @@ void cannot_release_prisoner_if_only_knight_is_asleep_and_pet_dog_is_absent() { final boolean archerIsAwake = true; final boolean prisonerIsAwake = true; final boolean petDogIsPresent = false; - assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + assertThat(fixture.canFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent)).isFalse(); } @@ -236,7 +238,7 @@ void can_release_prisoner_if_only_archer_is_asleep_and_pet_dog_is_present() { final boolean archerIsAwake = false; final boolean prisonerIsAwake = true; final boolean petDogIsPresent = true; - assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + assertThat(fixture.canFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent)).isTrue(); } @@ -246,7 +248,7 @@ void cannot_release_prisoner_if_only_archer_is_asleep_and_pet_dog_is_absent() { final boolean archerIsAwake = false; final boolean prisonerIsAwake = true; final boolean petDogIsPresent = false; - assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + assertThat(fixture.canFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent)).isFalse(); } @@ -256,7 +258,7 @@ void cannot_release_prisoner_if_only_prisoner_is_asleep_and_pet_dog_is_present() final boolean archerIsAwake = true; final boolean prisonerIsAwake = false; final boolean petDogIsPresent = true; - assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + assertThat(fixture.canFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent)).isFalse(); } @@ -266,7 +268,7 @@ void cannot_release_prisoner_if_only_prisoner_is_asleep_and_pet_dog_is_absent() final boolean archerIsAwake = true; final boolean prisonerIsAwake = false; final boolean petDogIsPresent = false; - assertThat(AnnalynsInfiltration.canFreePrisoner(knightIsAwake, archerIsAwake, + assertThat(fixture.canFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent)).isFalse(); } } diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/LogLevelsTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/LogLevelsTest.java index ad17447..5ca9214 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/LogLevelsTest.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/LogLevelsTest.java @@ -6,62 +6,64 @@ class LogLevelsTest { + private final LogLevels fixture = new LogLevels(); + @Test void error_message() { - assertThat(LogLevels.message("[ERROR]: Stack overflow")).isEqualTo("Stack overflow"); + assertThat(fixture.message("[ERROR]: Stack overflow")).isEqualTo("Stack overflow"); } @Test void warning_message() { - assertThat(LogLevels.message("[WARNING]: Disk almost full")).isEqualTo("Disk almost full"); + assertThat(fixture.message("[WARNING]: Disk almost full")).isEqualTo("Disk almost full"); } @Test void info_message() { - assertThat(LogLevels.message("[INFO]: File moved")).isEqualTo("File moved"); + assertThat(fixture.message("[INFO]: File moved")).isEqualTo("File moved"); } @Test void message_with_leading_and_trailing_white_space() { - assertThat(LogLevels.message("[WARNING]: \tTimezone not set \r\n")).isEqualTo("Timezone not set"); + assertThat(fixture.message("[WARNING]: \tTimezone not set \r\n")).isEqualTo("Timezone not set"); } @Test void error_log_level() { - assertThat(LogLevels.logLevel("[ERROR]: Disk full")).isEqualTo("error"); + assertThat(fixture.logLevel("[ERROR]: Disk full")).isEqualTo("error"); } @Test void warning_log_level() { - assertThat(LogLevels.logLevel("[WARNING]: Unsafe password")).isEqualTo("warning"); + assertThat(fixture.logLevel("[WARNING]: Unsafe password")).isEqualTo("warning"); } @Test void info_log_level() { - assertThat(LogLevels.logLevel("[INFO]: Timezone changed")).isEqualTo("info"); + assertThat(fixture.logLevel("[INFO]: Timezone changed")).isEqualTo("info"); } @Test void error_reformat() { - assertThat(LogLevels.reformat("[ERROR]: Segmentation fault")) + assertThat(fixture.reformat("[ERROR]: Segmentation fault")) .isEqualTo("Segmentation fault (error)"); } @Test void warning_reformat() { - assertThat(LogLevels.reformat("[WARNING]: Decreased performance")) + assertThat(fixture.reformat("[WARNING]: Decreased performance")) .isEqualTo("Decreased performance (warning)"); } @Test void info_reformat() { - assertThat(LogLevels.reformat("[INFO]: Disk defragmented")) + assertThat(fixture.reformat("[INFO]: Disk defragmented")) .isEqualTo("Disk defragmented (info)"); } @Test void reformat_with_leading_and_trailing_white_space() { - assertThat(LogLevels.reformat("[ERROR]: \t Corrupt disk\t \t \r\n")) + assertThat(fixture.reformat("[ERROR]: \t Corrupt disk\t \t \r\n")) .isEqualTo("Corrupt disk (error)"); } } From abf234855088f1cac04f4e0d9347e4c172d0cc6c Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Thu, 21 Jul 2022 02:46:48 +0530 Subject: [PATCH 38/77] GH-5: Exercism-Java: Codacy violation fixes --- .../sampadadubey/java/exercism/SpaceAge.java | 16 +++--- .../java/exercism/DnDCharacterTest.java | 53 +++++++++---------- .../java/exercism/NaturalNumberTest.java | 6 +-- 3 files changed, 37 insertions(+), 38 deletions(-) diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/SpaceAge.java b/exercism/src/main/java/io/sampadadubey/java/exercism/SpaceAge.java index cda139f..11b4c66 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/SpaceAge.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/SpaceAge.java @@ -2,7 +2,7 @@ class SpaceAge { - static final double EARTH_YEAR_IN_SECONDS = 31557600.0; + static final double EARTH_YEAR_IN_SECONDS = 31_557_600.0; private final double seconds; @@ -53,21 +53,21 @@ private double getAgeOnPlanet(final Planet planet) { enum Planet { - MERCURY(0.2408467), + MERCURY(0.240_846_7), - VENUS(0.61519726), + VENUS(0.615_197_26), EARTH(1.0), - MARS(1.8808158), + MARS(1.880_815_8), - JUPITER(11.862615), + JUPITER(11.862_615), - SATURN(29.447498), + SATURN(29.447_498), - URANUS(84.016846), + URANUS(84.016_846), - NEPTURE(164.79132), + NEPTURE(164.791_32), ; private final double yearConversion; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/DnDCharacterTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/DnDCharacterTest.java index 22f95dd..507e628 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/DnDCharacterTest.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/DnDCharacterTest.java @@ -1,7 +1,6 @@ package io.sampadadubey.java.exercism; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.Test; @@ -11,88 +10,88 @@ class DnDCharacterTest { @Test void testAbilityModifierForScore3IsNegative4() { - assertEquals(-4, dndCharacter.modifier(3)); + assertThat(dndCharacter.modifier(3)).isEqualTo(-4); } @Test void testAbilityModifierForScore4IsNegative3() { - assertEquals(-3, dndCharacter.modifier(4)); + assertThat(dndCharacter.modifier(4)).isEqualTo(-3); } @Test void testAbilityModifierForScore5IsNegative3() { - assertEquals(-3, dndCharacter.modifier(5)); + assertThat(dndCharacter.modifier(5)).isEqualTo(-3); } @Test void testAbilityModifierForScore6IsNegative2() { - assertEquals(-2, dndCharacter.modifier(6)); + assertThat(dndCharacter.modifier(6)).isEqualTo(-2); } @Test void testAbilityModifierForScore7IsNegative2() { - assertEquals(-2, dndCharacter.modifier(7)); + assertThat(dndCharacter.modifier(7)).isEqualTo(-2); } @Test void testAbilityModifierForScore8IsNegative1() { - assertEquals(-1, dndCharacter.modifier(8)); + assertThat(dndCharacter.modifier(8)).isEqualTo(-1); } @Test void testAbilityModifierForScore9IsNegative1() { - assertEquals(-1, dndCharacter.modifier(9)); + assertThat(dndCharacter.modifier(9)).isEqualTo(-1); } @Test void testAbilityModifierForScore10Is0() { - assertEquals(0, dndCharacter.modifier(10)); + assertThat(dndCharacter.modifier(10)).isEqualTo(0); } @Test void testAbilityModifierForScore11Is0() { - assertEquals(0, dndCharacter.modifier(11)); + assertThat(dndCharacter.modifier(11)).isEqualTo(0); } @Test void testAbilityModifierForScore12Is1() { - assertEquals(1, dndCharacter.modifier(12)); + assertThat(dndCharacter.modifier(12)).isEqualTo(1); } @Test void testAbilityModifierForScore13Is1() { - assertEquals(1, dndCharacter.modifier(13)); + assertThat(dndCharacter.modifier(13)).isEqualTo(1); } @Test void testAbilityModifierForScore14Is2() { - assertEquals(2, dndCharacter.modifier(14)); + assertThat(dndCharacter.modifier(14)).isEqualTo(2); } @Test void testAbilityModifierForScore15Is2() { - assertEquals(2, dndCharacter.modifier(15)); + assertThat(dndCharacter.modifier(15)).isEqualTo(2); } @Test void testAbilityModifierForScore16Is3() { - assertEquals(3, dndCharacter.modifier(16)); + assertThat(dndCharacter.modifier(16)).isEqualTo(3); } @Test void testAbilityModifierForScore17Is3() { - assertEquals(3, dndCharacter.modifier(17)); + assertThat(dndCharacter.modifier(17)).isEqualTo(3); } @Test void testAbilityModifierForScore18Is4() { - assertEquals(4, dndCharacter.modifier(18)); + assertThat(dndCharacter.modifier(18)).isEqualTo(4); } @Test void testRandomAbilityIsWithinRange() { final int score = dndCharacter.ability(); - assertTrue(score > 2 && score < 19); + assertThat(score).isGreaterThan(2).isLessThan(19); } @Test @@ -102,18 +101,18 @@ void testRandomCharacterIsValid() { final DnDCharacter character = new DnDCharacter(); - assertTrue(character.getStrength() > 2 && character.getStrength() < 19); - assertTrue(character.getDexterity() > 2 && character.getDexterity() < 19); - assertTrue(character.getConstitution() > 2 && character.getConstitution() < 19); - assertTrue(character.getIntelligence() > 2 && character.getIntelligence() < 19); - assertTrue(character.getWisdom() > 2 && character.getWisdom() < 19); - assertTrue(character.getCharisma() > 2 && character.getCharisma() < 19); - assertEquals(character.getHitpoints(), 10 + character.modifier(character.getConstitution())); + assertThat(character.getStrength()).isGreaterThan(2).isLessThan(19); + assertThat(character.getDexterity()).isGreaterThan(2).isLessThan(19); + assertThat(character.getConstitution()).isGreaterThan(2).isLessThan(19); + assertThat(character.getIntelligence()).isGreaterThan(2).isLessThan(19); + assertThat(character.getWisdom()).isGreaterThan(2).isLessThan(19); + assertThat(character.getCharisma()).isGreaterThan(2).isLessThan(19); + assertThat(character.getHitpoints()).isEqualTo(10 + character.modifier(character.getConstitution())); } } @Test void testEachAbilityIsOnlyCalculatedOnce() { - assertEquals(dndCharacter.getStrength(), dndCharacter.getStrength()); + assertThat(dndCharacter.getStrength()).isEqualTo(dndCharacter.getStrength()); } } diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/NaturalNumberTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/NaturalNumberTest.java index 0b289da..1059e3f 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/NaturalNumberTest.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/NaturalNumberTest.java @@ -19,7 +19,7 @@ void testMediumPerfectNumberIsClassifiedCorrectly() { @Test void testLargePerfectNumberIsClassifiedCorrectly() { - assertThat(new NaturalNumber(33550336).getClassification()).isEqualTo(Classification.PERFECT); + assertThat(new NaturalNumber(33_550_336).getClassification()).isEqualTo(Classification.PERFECT); } @Test @@ -35,7 +35,7 @@ void testMediumAbundantNumberIsClassifiedCorrectly() { @Test void testLargeAbundantNumberIsClassifiedCorrectly() { - assertThat(new NaturalNumber(33550335).getClassification()).isEqualTo(Classification.ABUNDANT); + assertThat(new NaturalNumber(33_550_335).getClassification()).isEqualTo(Classification.ABUNDANT); } @Test @@ -55,7 +55,7 @@ void testMediumDeficientNumberIsClassifiedCorrectly() { @Test void testLargeDeficientNumberIsClassifiedCorrectly() { - assertThat(new NaturalNumber(33550337).getClassification()).isEqualTo(Classification.DEFICIENT); + assertThat(new NaturalNumber(33_550_337).getClassification()).isEqualTo(Classification.DEFICIENT); } @Test From 33b99d79d5a5788b2a6ae91cc3dbefdc562c5513 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Thu, 21 Jul 2022 02:50:52 +0530 Subject: [PATCH 39/77] GH-5: Exercism-Java: Codacy violation fixes --- .../java/exercism/RaindropConverter.java | 12 ++++++--- .../java/exercism/RaindropConverterTest.java | 25 +++++++++++-------- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/RaindropConverter.java b/exercism/src/main/java/io/sampadadubey/java/exercism/RaindropConverter.java index 046094d..6f430a8 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/RaindropConverter.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/RaindropConverter.java @@ -8,20 +8,26 @@ public class RaindropConverter { static final int SEVEN = 7; + static final String PLING = "Pling"; + + static final String PLANG = "Plang"; + + static final String PLONG = "Plong"; + String convert(final int number) { final StringBuilder result = new StringBuilder(); if (number % THREE == 0) { - result.append("Pling"); + result.append(PLING); } if (number % FIVE == 0) { - result.append("Plang"); + result.append(PLANG); } if (number % SEVEN == 0) { - result.append("Plong"); + result.append(PLONG); } if (result.length() == 0) { diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/RaindropConverterTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/RaindropConverterTest.java index 77f09e7..9060d00 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/RaindropConverterTest.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/RaindropConverterTest.java @@ -1,5 +1,8 @@ package io.sampadadubey.java.exercism; +import static io.sampadadubey.java.exercism.RaindropConverter.PLANG; +import static io.sampadadubey.java.exercism.RaindropConverter.PLING; +import static io.sampadadubey.java.exercism.RaindropConverter.PLONG; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.Test; @@ -15,22 +18,22 @@ void soundFor1Is1() { @Test void soundFor3IsPling() { - assertThat(raindropConverter.convert(3)).isEqualTo("Pling"); + assertThat(raindropConverter.convert(3)).isEqualTo(PLING); } @Test void soundFor5IsPlang() { - assertThat(raindropConverter.convert(5)).isEqualTo("Plang"); + assertThat(raindropConverter.convert(5)).isEqualTo(PLANG); } @Test void soundFor7IsPlong() { - assertThat(raindropConverter.convert(7)).isEqualTo("Plong"); + assertThat(raindropConverter.convert(7)).isEqualTo(PLONG); } @Test void soundFor6IsPlingAsItHasFactor3() { - assertThat(raindropConverter.convert(6)).isEqualTo("Pling"); + assertThat(raindropConverter.convert(6)).isEqualTo(PLING); } @Test @@ -40,17 +43,17 @@ void noSoundFor2Cubed() { @Test void soundFor9IsPlingAsItHasFactor3() { - assertThat(raindropConverter.convert(9)).isEqualTo("Pling"); + assertThat(raindropConverter.convert(9)).isEqualTo(PLING); } @Test void soundFor10IsPlangAsItHasFactor5() { - assertThat(raindropConverter.convert(10)).isEqualTo("Plang"); + assertThat(raindropConverter.convert(10)).isEqualTo(PLANG); } @Test void soundFor14IsPlongAsItHasFactor7() { - assertThat(raindropConverter.convert(14)).isEqualTo("Plong"); + assertThat(raindropConverter.convert(14)).isEqualTo(PLONG); } @Test @@ -65,12 +68,12 @@ void soundFor21IsPlingPlongAsItHasFactors3And7() { @Test void soundFor25IsPlangAsItHasFactor5() { - assertThat(raindropConverter.convert(25)).isEqualTo("Plang"); + assertThat(raindropConverter.convert(25)).isEqualTo(PLANG); } @Test void soundFor27IsPlingAsItHasFactor3() { - assertThat(raindropConverter.convert(27)).isEqualTo("Pling"); + assertThat(raindropConverter.convert(27)).isEqualTo(PLING); } @Test @@ -80,7 +83,7 @@ void soundFor35IsPlangPlongAsItHasFactors5And7() { @Test void soundFor49IsPlongAsItHasFactor7() { - assertThat(raindropConverter.convert(49)).isEqualTo("Plong"); + assertThat(raindropConverter.convert(49)).isEqualTo(PLONG); } @Test @@ -95,6 +98,6 @@ void soundFor105IsPlingPlangPlongAsItHasFactors3And5And7() { @Test void soundFor3125IsPlangAsItHasFactor5() { - assertThat(raindropConverter.convert(3125)).isEqualTo("Plang"); + assertThat(raindropConverter.convert(3125)).isEqualTo(PLANG); } } From 64dc5ce9254e47d8d38a1e342f00a0419fd6f99d Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Thu, 21 Jul 2022 02:52:25 +0530 Subject: [PATCH 40/77] GH-5: Exercism-Java: Codacy violation fixes --- .../sampadadubey/java/exercism/SpaceAgeTest.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/SpaceAgeTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/SpaceAgeTest.java index 1edb6c4..227d1b6 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/SpaceAgeTest.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/SpaceAgeTest.java @@ -11,41 +11,41 @@ class SpaceAgeTest { @Test void ageOnEarth() { - assertThat(new SpaceAge(1000000000).onEarth()).isEqualTo(31.69, MAXIMUM_DELTA); + assertThat(new SpaceAge(1_000_000_000).onEarth()).isEqualTo(31.69, MAXIMUM_DELTA); } @Test void ageOnMercury() { - assertThat(new SpaceAge(2134835688).onMercury()).isEqualTo(280.88, MAXIMUM_DELTA); + assertThat(new SpaceAge(2_134_835_688).onMercury()).isEqualTo(280.88, MAXIMUM_DELTA); } @Test void ageOnVenus() { - assertThat(new SpaceAge(189839836).onVenus()).isEqualTo(9.78, MAXIMUM_DELTA); + assertThat(new SpaceAge(189_839_836).onVenus()).isEqualTo(9.78, MAXIMUM_DELTA); } @Test void ageOnMars() { - assertThat(new SpaceAge(2129871239L).onMars()).isEqualTo(35.88, MAXIMUM_DELTA); + assertThat(new SpaceAge(2_129_871_239).onMars()).isEqualTo(35.88, MAXIMUM_DELTA); } @Test void ageOnJupiter() { - assertThat(new SpaceAge(901876382).onJupiter()).isEqualTo(2.41, MAXIMUM_DELTA); + assertThat(new SpaceAge(901_876_382).onJupiter()).isEqualTo(2.41, MAXIMUM_DELTA); } @Test void ageOnSaturn() { - assertThat(new SpaceAge(2000000000L).onSaturn()).isEqualTo(2.15, MAXIMUM_DELTA); + assertThat(new SpaceAge(2_000_000_000).onSaturn()).isEqualTo(2.15, MAXIMUM_DELTA); } @Test void ageOnUranus() { - assertThat(new SpaceAge(1210123456L).onUranus()).isEqualTo(0.46, MAXIMUM_DELTA); + assertThat(new SpaceAge(1_210_123_456).onUranus()).isEqualTo(0.46, MAXIMUM_DELTA); } @Test void ageOnNeptune() { - assertThat(new SpaceAge(1821023456L).onNeptune()).isEqualTo(0.35, MAXIMUM_DELTA); + assertThat(new SpaceAge(1_821_023_456).onNeptune()).isEqualTo(0.35, MAXIMUM_DELTA); } } From 4660684cbe771a73c0709bf10f42b29485533b10 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Thu, 21 Jul 2022 03:01:52 +0530 Subject: [PATCH 41/77] GH-5: Exercism-Java: Codacy violation fixes --- .../java/exercism/utils/ReflectionProxy.java | 156 +++++++++--------- 1 file changed, 78 insertions(+), 78 deletions(-) diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/utils/ReflectionProxy.java b/exercism/src/test/java/io/sampadadubey/java/exercism/utils/ReflectionProxy.java index 4be7fab..d9ae11e 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/utils/ReflectionProxy.java +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/utils/ReflectionProxy.java @@ -68,8 +68,8 @@ public boolean hasMethod(final String name, final Class... parameterTypes) { hasMethod = false; } else { try { - Method m = targetClass.getDeclaredMethod(name, parameterTypes); - hasMethod = m != null; + final Method method = targetClass.getDeclaredMethod(name, parameterTypes); + hasMethod = method != null; } catch (final NoSuchMethodException e) { hasMethod = false; } @@ -90,8 +90,8 @@ public boolean isMethodPublic(final String name, final Class... parameterType isMethodPublic = false; } else { try { - Method m = targetClass.getDeclaredMethod(name, parameterTypes); - isMethodPublic = Modifier.isPublic(m.getModifiers()); + final Method method = targetClass.getDeclaredMethod(name, parameterTypes); + isMethodPublic = Modifier.isPublic(method.getModifiers()); } catch (final NoSuchMethodException e) { isMethodPublic = false; } @@ -118,25 +118,25 @@ public boolean isMethodReturnType(final Class returnType, final String name, * @param The result type we expect the method to be * @return The value returned by the method */ - protected T invokeMethod(final String methodName, final Class[] parameterTypes, Object... parameterValues) { + protected T invokeMethod(final String methodName, final Class[] parameterTypes, final Object... parameterValues) { if (target == null) { return null; } try { // getDeclaredMethod is used to get protected/private methods - Method method = target.getClass().getDeclaredMethod(methodName, parameterTypes); + final Method method = target.getClass().getDeclaredMethod(methodName, parameterTypes); method.setAccessible(true); return (T) method.invoke(target, parameterValues); - } catch (NoSuchMethodException e) { + } catch (final NoSuchMethodException e) { try { // try getting it from parent class, but only public methods will work - Method method = target.getClass().getMethod(methodName, parameterTypes); + final Method method = target.getClass().getMethod(methodName, parameterTypes); method.setAccessible(true); return (T) method.invoke(target, parameterValues); - } catch (Exception ex) { + } catch (final Exception ex) { return null; } - } catch (Exception e) { + } catch (final Exception e) { return null; } } @@ -146,17 +146,17 @@ protected T invokeMethod(final String methodName, final Class[] paramete * @param args The list of constructor parameters * @return An instance of the target class, if found, or null otherwise */ - private Object instantiateTarget(Object... args) { - Class targetClass = getTargetClass(); + private Object instantiateTarget(final Object... args) { + final Class targetClass = getTargetClass(); if (targetClass == null) { return null; } - Constructor[] constructors = getAllConstructors(); - for (Constructor c : constructors) { - if (c.getParameterCount() == args.length) { + final Constructor[] constructors = getAllConstructors(); + for (final Constructor constructor : constructors) { + if (constructor.getParameterCount() == args.length) { try { - return c.newInstance(args); - } catch (Exception e) { + return constructor.newInstance(args); + } catch (final Exception e) { // do nothing; } } @@ -169,7 +169,7 @@ private Object instantiateTarget(Object... args) { * @return A list with all constructor definitions */ private Constructor[] getAllConstructors() { - Class targetClass = getTargetClass(); + final Class targetClass = getTargetClass(); if (targetClass == null) { return new Constructor[]{}; } @@ -183,7 +183,7 @@ private Constructor[] getAllConstructors() { * The default constructor, for when you have already an instance of the target class * @param target An instance of the target class */ - protected ReflectionProxy(Object target) { + protected ReflectionProxy(final Object target) { this.target = target; } @@ -200,8 +200,8 @@ public boolean existsClass() { * @param anInterface The interface to check * @return True if the class implements the referred interface, false otherwise */ - public boolean implementsInterface(Class anInterface) { - Class targetClass = getTargetClass(); + public boolean implementsInterface(final Class anInterface) { + final Class targetClass = getTargetClass(); if (targetClass == null || anInterface == null) { return false; } @@ -213,15 +213,15 @@ public boolean implementsInterface(Class anInterface) { * @param name The name of the property to find * @return True if the property is found, false otherwise */ - public boolean hasProperty(String name) { - Class targetClass = getTargetClass(); + public boolean hasProperty(final String name) { + final Class targetClass = getTargetClass(); if (targetClass == null || name == null) { return false; } try { - Field f = targetClass.getDeclaredField(name); - return f != null; - } catch (NoSuchFieldException e) { + Field field = targetClass.getDeclaredField(name); + return field != null; + } catch (final NoSuchFieldException e) { return false; } } @@ -232,7 +232,7 @@ public boolean hasProperty(String name) { * @param type The type you are expecting the property to be * @return True if the property is found and has the specified type, false otherwise */ - public boolean isPropertyOfType(String name, Class type) { + public boolean isPropertyOfType(final String name, final Class type) { return isPropertyOfType(name, type, null); } @@ -243,26 +243,26 @@ public boolean isPropertyOfType(String name, Class type) { * @param parameterizedType The parameterized property (eg. String) * @return True if the parameterized type matches the desired type, false otherwise */ - public boolean isPropertyOfType(String name, Class type, Class parameterizedType) { - Class targetClass = getTargetClass(); + public boolean isPropertyOfType(final String name, final Class type, final Class parameterizedType) { + final Class targetClass = getTargetClass(); if (targetClass == null || name == null || type == null) { return false; } try { - Field f = targetClass.getDeclaredField(name); - if (!f.getType().equals(type)) { + final Field field = targetClass.getDeclaredField(name); + if (!field.getType().equals(type)) { return false; } if (parameterizedType == null) { return true; } - if (!(f.getGenericType() instanceof ParameterizedType)) { + if (!(field.getGenericType() instanceof ParameterizedType)) { return false; } - ParameterizedType pType = (ParameterizedType) f.getGenericType(); + final ParameterizedType pType = (ParameterizedType) field.getGenericType(); return pType.getActualTypeArguments()[0].equals(parameterizedType); - } catch (NoSuchFieldException e) { + } catch (final NoSuchFieldException e) { return false; } } @@ -273,14 +273,14 @@ public boolean isPropertyOfType(String name, Class type, Class parameteriz * @return True if the property exists and is private, false otherwise */ public boolean isPropertyPrivate(String name) { - Class targetClass = getTargetClass(); + final Class targetClass = getTargetClass(); if (targetClass == null || name == null) { return false; } try { - Field f = targetClass.getDeclaredField(name); - return Modifier.isPrivate(f.getModifiers()); - } catch (NoSuchFieldException e) { + final Field field = targetClass.getDeclaredField(name); + return Modifier.isPrivate(field.getModifiers()); + } catch (final NoSuchFieldException e) { return false; } } @@ -293,26 +293,26 @@ public boolean isPropertyPrivate(String name) { * @param parameterTypes A list of method parameter types * @return True if the method returns the correct parameterized collection, false otherwise */ - public boolean isMethodReturnType(Class returnType, Class parameterizedType, - String name, Class... parameterTypes) { - Class targetClass = getTargetClass(); + public boolean isMethodReturnType(final Class returnType, final Class parameterizedType, + final String name, final Class... parameterTypes) { + final Class targetClass = getTargetClass(); if (targetClass == null || name == null) { return false; } try { - Method m = targetClass.getDeclaredMethod(name, parameterTypes); - if (!m.getReturnType().equals(returnType)) { + final Method method = targetClass.getDeclaredMethod(name, parameterTypes); + if (!method.getReturnType().equals(returnType)) { return false; } if (parameterizedType == null) { return true; } - if (!(m.getGenericReturnType() instanceof ParameterizedType)) { + if (!(method.getGenericReturnType() instanceof ParameterizedType)) { return false; } - ParameterizedType pType = (ParameterizedType) m.getGenericReturnType(); + final ParameterizedType pType = (ParameterizedType) method.getGenericReturnType(); return pType.getActualTypeArguments()[0].equals(parameterizedType); - } catch (NoSuchMethodException e) { + } catch (final NoSuchMethodException e) { return false; } } @@ -322,15 +322,15 @@ public boolean isMethodReturnType(Class returnType, Class parameterizedTyp * @param parameterTypes The list of desired parameter types * @return True if the constructor exists, false otherwise */ - public boolean hasConstructor(Class... parameterTypes) { - Class targetClass = getTargetClass(); + public boolean hasConstructor(final Class... parameterTypes) { + final Class targetClass = getTargetClass(); if (targetClass == null) { return false; } try { - Constructor c = targetClass.getDeclaredConstructor(parameterTypes); - return c != null; - } catch (NoSuchMethodException e) { + final Constructor constructor = targetClass.getDeclaredConstructor(parameterTypes); + return constructor != null; + } catch (final NoSuchMethodException e) { return false; } } @@ -340,15 +340,15 @@ public boolean hasConstructor(Class... parameterTypes) { * @param parameterTypes A list of parameter types * @return True if the constructor is found and is public, false otherwise */ - public boolean isConstructorPublic(Class... parameterTypes) { - Class targetClass = getTargetClass(); + public boolean isConstructorPublic(final Class... parameterTypes) { + final Class targetClass = getTargetClass(); if (targetClass == null) { return false; } try { - Constructor c = targetClass.getDeclaredConstructor(parameterTypes); - return Modifier.isPublic(c.getModifiers()); - } catch (NoSuchMethodException e) { + final Constructor constructor = targetClass.getDeclaredConstructor(parameterTypes); + return Modifier.isPublic(constructor.getModifiers()); + } catch (final NoSuchMethodException e) { return false; } } @@ -363,10 +363,10 @@ public boolean equals(Object obj) { return false; } try { - Method method = target.getClass().getMethod("equals", Object.class); + final Method method = target.getClass().getMethod("equals", Object.class); method.setAccessible(true); return (boolean) method.invoke(target, ((ReflectionProxy) obj).getTarget()); - } catch (Exception e) { + } catch (final Exception e) { return false; } } @@ -380,10 +380,10 @@ public int hashCode() { return 0; } try { - Method method = target.getClass().getMethod("hashCode"); + final Method method = target.getClass().getMethod("hashCode"); method.setAccessible(true); return (int) method.invoke(target); - } catch (Exception e) { + } catch (final Exception e) { return 0; } } @@ -402,12 +402,12 @@ public String toString() { * @param The type we are expecting it to be * @return The value of the property (if it exists) */ - protected T getPropertyValue(String propertyName) { + protected T getPropertyValue(final String propertyName) { if (target == null || !hasProperty(propertyName)) { return null; } try { - Field field = target.getClass().getDeclaredField(propertyName); + final Field field = target.getClass().getDeclaredField(propertyName); field.setAccessible(true); return (T) field.get(target); } catch (Exception e) { @@ -420,7 +420,7 @@ protected T getPropertyValue(String propertyName) { * @return True if the target class exists and is abstract, false otherwise */ public boolean isAbstract() { - Class targetClass = getTargetClass(); + final Class targetClass = getTargetClass(); if (targetClass == null) { return false; } @@ -432,15 +432,15 @@ public boolean isAbstract() { * @param className The fully qualified name of the class it should extend * @return True if the target class extends the specified one, false otherwise */ - public boolean extendsClass(String className) { - Class targetClass = getTargetClass(); + public boolean extendsClass(final String className) { + final Class targetClass = getTargetClass(); if (targetClass == null) { return false; } try { - Class parentClass = Class.forName(className); + final Class parentClass = Class.forName(className); return parentClass.isAssignableFrom(targetClass); - } catch (ClassNotFoundException e) { + } catch (final ClassNotFoundException e) { return false; } } @@ -450,7 +450,7 @@ public boolean extendsClass(String className) { * @return True if the target class exists and is an interface, false otherwise */ public boolean isInterface() { - Class targetClass = getTargetClass(); + final Class targetClass = getTargetClass(); if (targetClass == null) { return false; } @@ -463,15 +463,15 @@ public boolean isInterface() { * @param parameterTypes The list of method parameter types * @return True if the method exists and is abstract, false otherwise */ - public boolean isMethodAbstract(String name, Class... parameterTypes) { - Class targetClass = getTargetClass(); + public boolean isMethodAbstract(final String name, final Class... parameterTypes) { + final Class targetClass = getTargetClass(); if (targetClass == null || name == null) { return false; } try { - Method m = targetClass.getDeclaredMethod(name, parameterTypes); - return Modifier.isAbstract(m.getModifiers()); - } catch (NoSuchMethodException e) { + final Method method = targetClass.getDeclaredMethod(name, parameterTypes); + return Modifier.isAbstract(method.getModifiers()); + } catch (final NoSuchMethodException e) { return false; } } @@ -482,15 +482,15 @@ public boolean isMethodAbstract(String name, Class... parameterTypes) { * @param parameterTypes The list of method parameter types * @return True if the method exists and is protected, false otherwise */ - public boolean isMethodProtected(String name, Class... parameterTypes) { - Class targetClass = getTargetClass(); + public boolean isMethodProtected(final String name, final Class... parameterTypes) { + final Class targetClass = getTargetClass(); if (targetClass == null || name == null) { return false; } try { - Method m = targetClass.getDeclaredMethod(name, parameterTypes); - return Modifier.isProtected(m.getModifiers()); - } catch (NoSuchMethodException e) { + final Method method = targetClass.getDeclaredMethod(name, parameterTypes); + return Modifier.isProtected(method.getModifiers()); + } catch (final NoSuchMethodException e) { return false; } } From f068fb37ebb70ea1718b9236406df4aeb1c18e9d Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Fri, 22 Jul 2022 21:57:04 +0530 Subject: [PATCH 42/77] GH-5: Exercism-Java: Triangle --- .../sampadadubey/java/exercism/Triangle.java | 44 +++++ .../java/exercism/TriangleTest.java | 151 ++++++++++++++++++ 2 files changed, 195 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/Triangle.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/TriangleTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Triangle.java b/exercism/src/main/java/io/sampadadubey/java/exercism/Triangle.java new file mode 100644 index 0000000..e24d142 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/Triangle.java @@ -0,0 +1,44 @@ +package io.sampadadubey.java.exercism; + +public class Triangle { + + private double side1; + + private double side2; + + private double side3; + + Triangle(final double side1, final double side2, final double side3) throws TriangleException { + + if (side1 == 0 || side2 == 0 || side3 == 0) { + throw new TriangleException(); + } + + final double sum12 = side1 + side2; + final double sum23 = side2 + side3; + final double side13 = side1 + side3; + + if (sum12 < side3 || sum23 < side1 || side13 < side2) { + throw new TriangleException(); + } + + this.side1 = side1; + this.side2 = side2; + this.side3 = side3; + } + + boolean isEquilateral() { + return side1 == side2 && side2 == side3; + } + + boolean isIsosceles() { + return side1 == side2 || side2 == side3 || side1 == side3; + } + + boolean isScalene() { + return side1 != side2 && side2 != side3; + } +} + +class TriangleException extends Exception { +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/TriangleTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/TriangleTest.java new file mode 100644 index 0000000..f83df2e --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/TriangleTest.java @@ -0,0 +1,151 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; + +import org.junit.jupiter.api.Test; + +class TriangleTest { + + @Test + void equilateralTrianglesHaveEqualSides() throws TriangleException { + + final Triangle triangle = new Triangle(2, 2, 2); + + assertThat(triangle.isEquilateral()).isTrue(); + } + + @Test + void trianglesWithOneUnequalSideAreNotEquilateral() throws TriangleException { + + final Triangle triangle = new Triangle(2, 3, 2); + + assertThat(triangle.isEquilateral()).isFalse(); + } + + @Test + void trianglesWithNoEqualSidesAreNotEquilateral() throws TriangleException { + + final Triangle triangle = new Triangle(5, 4, 6); + + assertThat(triangle.isEquilateral()).isFalse(); + } + + @Test + void trianglesWithNoSizeAreIllegal() { + assertThatExceptionOfType(TriangleException.class) + .isThrownBy(() -> new Triangle(0, 0, 0)); + } + + @Test + void verySmallTrianglesCanBeEquilateral() throws TriangleException { + + final Triangle triangle = new Triangle(0.5, 0.5, 0.5); + + assertThat(triangle.isEquilateral()).isTrue(); + } + + @Test + void isoscelesTrianglesHaveLastTwoSidesEqual() throws TriangleException { + + final Triangle triangle = new Triangle(3, 4, 4); + + assertThat(triangle.isIsosceles()).isTrue(); + } + + @Test + void isoscelesTrianglesHaveTwoFirstSidesEqual() throws TriangleException { + + final Triangle triangle = new Triangle(4, 4, 3); + + assertThat(triangle.isIsosceles()).isTrue(); + } + + @Test + void isoscelesTrianglesHaveFirstAndLastSidesEqual() throws TriangleException { + + final Triangle triangle = new Triangle(4, 3, 4); + + assertThat(triangle.isIsosceles()).isTrue(); + } + + @Test + void equilateralTrianglesAreAlsoIsosceles() throws TriangleException { + + final Triangle triangle = new Triangle(4, 4, 4); + + assertThat(triangle.isIsosceles()).isTrue(); + } + + @Test + void noSidesAreEqualCantBeIsoceles() throws TriangleException { + + final Triangle triangle = new Triangle(2, 3, 4); + + assertThat(triangle.isIsosceles()).isFalse(); + } + + @Test + void firstTriangleInequalityViolation() { + assertThatExceptionOfType(TriangleException.class) + .isThrownBy(() -> new Triangle(1, 1, 3)); + } + + @Test + void secondTriangleInequalityViolation() { + assertThatExceptionOfType(TriangleException.class) + .isThrownBy(() -> new Triangle(1, 3, 1)); + } + + @Test + void thirdTriangleInequalityViolation() { + assertThatExceptionOfType(TriangleException.class) + .isThrownBy(() -> new Triangle(3, 1, 1)); + } + + @Test + void verySmallTrianglesCanBeIsosceles() throws TriangleException { + + final Triangle triangle = new Triangle(0.5, 0.4, 0.5); + + assertThat(triangle.isIsosceles()).isTrue(); + } + + @Test + void scaleneTrianglesHaveNoEqualSides() throws TriangleException { + + final Triangle triangle = new Triangle(5, 4, 6); + + assertThat(triangle.isScalene()).isTrue(); + } + + @Test + void allSidesEqualAreNotScalene() throws TriangleException { + + final Triangle triangle = new Triangle(4, 4, 4); + + assertThat(triangle.isScalene()).isFalse(); + } + + @Test + void twoSidesEqualAreNotScalene() throws TriangleException { + + final Triangle triangle = new Triangle(4, 4, 3); + + assertThat(triangle.isScalene()).isFalse(); + } + + @Test + void mayNotViolateTriangleInequality() { + assertThatExceptionOfType(TriangleException.class) + .isThrownBy(() -> new Triangle(7, 3, 2)); + } + + @Test + void verySmallTrianglesCanBeScalene() throws TriangleException { + + final Triangle triangle = new Triangle(0.5, 0.4, 0.6); + + assertThat(triangle.isScalene()).isTrue(); + } +} From 2553776d122efa0a2af8a7d2aad005d37cec1695 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Fri, 22 Jul 2022 21:57:44 +0530 Subject: [PATCH 43/77] GH-5: Exercism-Java: Isogram Checker --- .../java/exercism/IsogramChecker.java | 33 ++++++++ .../java/exercism/IsogramCheckerTest.java | 81 +++++++++++++++++++ 2 files changed, 114 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/IsogramChecker.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/IsogramCheckerTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/IsogramChecker.java b/exercism/src/main/java/io/sampadadubey/java/exercism/IsogramChecker.java new file mode 100644 index 0000000..2c46d1c --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/IsogramChecker.java @@ -0,0 +1,33 @@ +package io.sampadadubey.java.exercism; + +import java.util.HashSet; +import java.util.Locale; +import java.util.Set; + +class IsogramChecker { + + boolean isIsogram(final String phrase) { + + final char[] characters = phrase.toLowerCase(Locale.getDefault()).toCharArray(); + + final Set alphabets = new HashSet<>(characters.length); + + boolean isogram = true; + + for (int index = 0; index < characters.length; index++) { + + final char currentCharacter = characters[index]; + + if (currentCharacter == ' ' || currentCharacter == '-') { + continue; + } else if (alphabets.contains(currentCharacter)) { + isogram = false; + break; + } else { + alphabets.add(currentCharacter); + } + } + + return isogram; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/IsogramCheckerTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/IsogramCheckerTest.java new file mode 100644 index 0000000..106110e --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/IsogramCheckerTest.java @@ -0,0 +1,81 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +class IsogramCheckerTest { + + private IsogramChecker isogramChecker; + + @BeforeEach + void setUp() { + isogramChecker = new IsogramChecker(); + } + + @Test + void testEmptyString() { + assertThat(isogramChecker.isIsogram("")).isTrue(); + } + + @Test + void testLowercaseIsogram() { + assertThat(isogramChecker.isIsogram("isogram")).isTrue(); + } + + @Test + void testNotIsogram() { + assertThat(isogramChecker.isIsogram("eleven")).isFalse(); + } + + @Test + void testDuplicateEndAlphabet() { + assertThat(isogramChecker.isIsogram("zzyzx")).isFalse(); + } + + @Test + void testMediumLongIsogram() { + assertThat(isogramChecker.isIsogram("subdermatoglyphic")).isTrue(); + } + + @Test + void testCaseInsensitive() { + assertThat(isogramChecker.isIsogram("Alphabet")).isFalse(); + } + + @Test + void testDuplicatMixedCase() { + assertThat(isogramChecker.isIsogram("alphAbet")).isFalse(); + } + + @Test + void testIsogramWithHyphen() { + assertThat(isogramChecker.isIsogram("thumbscrew-japingly")).isTrue(); + } + + @Test + void testIsogramWithDuplicatedCharAfterHyphen() { + assertThat(isogramChecker.isIsogram("thumbscrew-jappingly")).isFalse(); + } + + @Test + void testIsogramWithDuplicatedHyphen() { + assertThat(isogramChecker.isIsogram("six-year-old")).isTrue(); + } + + @Test + void testMadeUpNameThatIsAnIsogram() { + assertThat(isogramChecker.isIsogram("Emily Jung Schwartzkopf")).isTrue(); + } + + @Test + void testDuplicatedCharacterInTheMiddleIsNotIsogram() { + assertThat(isogramChecker.isIsogram("accentor")).isFalse(); + } + + @Test + void testSameFirstAndLast() { + assertThat(new IsogramChecker().isIsogram("angola")).isFalse(); + } +} From 65d9415c5241bc296826ace82fd458bfba951055 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Fri, 22 Jul 2022 21:58:11 +0530 Subject: [PATCH 44/77] GH-5: Exercism-Java: Anagram --- .../sampadadubey/java/exercism/Anagram.java | 56 ++++++ .../java/exercism/AnagramTest.java | 180 ++++++++++++++++++ 2 files changed, 236 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/Anagram.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/AnagramTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Anagram.java b/exercism/src/main/java/io/sampadadubey/java/exercism/Anagram.java new file mode 100644 index 0000000..b7af4cb --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/Anagram.java @@ -0,0 +1,56 @@ +package io.sampadadubey.java.exercism; + +import static java.util.stream.Collectors.toList; + +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +class Anagram { + + private final String word; + + Anagram(final String word) { + this.word = word; + } + + List match(final List possibles) { + return possibles.stream().filter(this::match).collect(toList()); + } + + private boolean match(final String matchAgainst) { + + final int wordLength = word.length(); + + boolean match = false; + + if (!word.equalsIgnoreCase(matchAgainst) && wordLength == matchAgainst.length()) { + + final String caseInsensitiveWord = word.toLowerCase(Locale.getDefault()); + final String caseInsensitiveMatchAgainst = matchAgainst.toLowerCase(Locale.getDefault()); + + final Map wordCharacters = new HashMap<>(wordLength); + final Map matchCharacters = new HashMap<>(wordLength); + + for (int index = 0; index < wordLength; index++) { + + final Character wordCharacter = caseInsensitiveWord.charAt(index); + final Character matchCharacter = caseInsensitiveMatchAgainst.charAt(index); + + final int wordCharacterCount = wordCharacters.getOrDefault(wordCharacter, 0); + final int matchCharacterCount = matchCharacters.getOrDefault(matchCharacter, 0); + + wordCharacters.put(wordCharacter, wordCharacterCount + 1); + matchCharacters.put(matchCharacter, matchCharacterCount + 1); + } + + match = wordCharacters.keySet() + .stream() + .noneMatch(it -> !matchCharacters.containsKey(it) + || wordCharacters.get(it) != matchCharacters.get(it)); + } + + return match; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/AnagramTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/AnagramTest.java new file mode 100644 index 0000000..f2e1a6b --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/AnagramTest.java @@ -0,0 +1,180 @@ +package io.sampadadubey.java.exercism; + +import static java.util.Collections.emptyList; +import static org.assertj.core.api.Assertions.assertThat; + +import java.util.Arrays; +import java.util.List; + +import org.junit.jupiter.api.Test; + +class AnagramTest { + + @Test + void testNoMatches() { + + final String word = "diaper"; + final List matches = Arrays.asList("hello", "world", "zombies", "pants"); + final List expected = emptyList(); + + final Anagram detector = new Anagram(word); + + assertThat(detector.match(matches)).containsExactlyElementsOf(expected); + } + + @Test + void testDetectMultipleAnagrams() { + + final String word = "master"; + final List matches = Arrays.asList("stream", "pigeon", "maters"); + final List expected = Arrays.asList("stream", "maters"); + + final Anagram detector = new Anagram(word); + + assertThat(detector.match(matches)).containsExactlyElementsOf(expected); + } + + @Test + void testEliminateAnagramSubsets() { + + final String word = "good"; + final List matches = Arrays.asList("dog", "goody"); + final List expected = emptyList(); + + final Anagram detector = new Anagram(word); + + assertThat(detector.match(matches)).containsExactlyElementsOf(expected); + } + + @Test + void testDetectLongerAnagram() { + + final String word = "listen"; + final List matches = Arrays.asList("enlists", "google", "inlets", "banana"); + final List expected = Arrays.asList("inlets"); + + final Anagram detector = new Anagram(word); + + assertThat(detector.match(matches)).containsExactlyElementsOf(expected); + } + + @Test + void testDetectMultipleAnagramsForLongerWord() { + + final String word = "allergy"; + final List matches = Arrays.asList("gallery", "ballerina", "regally", "clergy", "largely", "leading"); + final List expected = Arrays.asList("gallery", "regally", "largely"); + + final Anagram detector = new Anagram(word); + + assertThat(detector.match(matches)).containsExactlyElementsOf(expected); + } + + @Test + void testDetectsMultipleAnagramsWithDifferentCase() { + + final String word = "nose"; + final List matches = Arrays.asList("Eons", "ONES"); + final List expected = Arrays.asList("Eons", "ONES"); + + final Anagram detector = new Anagram(word); + + assertThat(detector.match(matches)).containsExactlyElementsOf(expected); + } + + @Test + void testEliminateAnagramsWithSameChecksum() { + + final String word = "mass"; + final List matches = Arrays.asList("last"); + final List expected = emptyList(); + + final Anagram detector = new Anagram(word); + + assertThat(detector.match(matches)).containsExactlyElementsOf(expected); + } + + @Test + void testCaseInsensitiveWhenBothAnagramAndSubjectStartWithUpperCaseLetter() { + + final String word = "Orchestra"; + final List matches = Arrays.asList("cashregister", "Carthorse", "radishes"); + final List expected = Arrays.asList("Carthorse"); + + final Anagram detector = new Anagram(word); + + assertThat(detector.match(matches)).containsExactlyElementsOf(expected); + } + + @Test + void testCaseInsensitiveWhenSubjectStartsWithUpperCaseLetter() { + + final String word = "Orchestra"; + final List matches = Arrays.asList("cashregister", "carthorse", "radishes"); + final List expected = Arrays.asList("carthorse"); + + final Anagram detector = new Anagram(word); + + assertThat(detector.match(matches)).containsExactlyElementsOf(expected); + } + + @Test + void testCaseInsensitiveWhenAnagramStartsWithUpperCaseLetter() { + + final String word = "orchestra"; + final List matches = Arrays.asList("cashregister", "Carthorse", "radishes"); + final List expected = Arrays.asList("Carthorse"); + + final Anagram detector = new Anagram(word); + + assertThat(detector.match(matches)).containsExactlyElementsOf(expected); + } + + @Test + void testIdenticalWordRepeatedIsNotAnagram() { + + final String word = "go"; + final List matches = Arrays.asList("go Go GO"); + final List expected = emptyList(); + + final Anagram detector = new Anagram(word); + + assertThat(detector.match(matches)).containsExactlyElementsOf(expected); + } + + @Test + void testAnagramMustUseAllLettersExactlyOnce() { + + final String word = "tapper"; + final List matches = Arrays.asList("patter"); + final List expected = emptyList(); + + final Anagram detector = new Anagram(word); + + assertThat(detector.match(matches)).containsExactlyElementsOf(expected); + } + + @Test + void testWordsAreNotAnagramsOfThemselvesCaseInsensitive() { + + final String word = "BANANA"; + final List matches = Arrays.asList("BANANA", "Banana", "banana"); + final List expected = emptyList(); + + final Anagram detector = new Anagram(word); + + assertThat(detector.match(matches)).containsExactlyElementsOf(expected); + } + + @Test + void testWordsOtherThanThemselvesCanBeAnagrams() { + + final String word = "LISTEN"; + final List matches = Arrays.asList("Listen", "Silent", "LISTEN"); + final List expected = Arrays.asList("Silent"); + + final Anagram detector = new Anagram(word); + + assertThat(detector.match(matches)).containsExactlyElementsOf(expected); + } +} From 68726b706440fe9d901101838f8c987438bf6d99 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Sun, 24 Jul 2022 00:08:38 +0530 Subject: [PATCH 45/77] GH-5: Exercism-Java: Rotational Cipher --- .../java/exercism/RotationalCipher.java | 62 ++++++++++++++++ .../java/exercism/RotationalCipherTest.java | 72 +++++++++++++++++++ 2 files changed, 134 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/RotationalCipher.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/RotationalCipherTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/RotationalCipher.java b/exercism/src/main/java/io/sampadadubey/java/exercism/RotationalCipher.java new file mode 100644 index 0000000..909946f --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/RotationalCipher.java @@ -0,0 +1,62 @@ +package io.sampadadubey.java.exercism; + +class RotationalCipher { + + static final String POSITIONS = "abcdefghijklmnopqrstuvwxyz"; + + private final int shiftKey; + + RotationalCipher(final int shiftKey) { + this.shiftKey = shiftKey; + } + + String rotate(final String data) { + + final StringBuilder result = new StringBuilder(data.length()); + + for (int index = 0; index < data.length(); index++) { + + final char currentCharacter = data.charAt(index); + final boolean upper = isUpper(currentCharacter); + final char lower = upper ? toLower(currentCharacter) : currentCharacter; + + if (isLower(lower)) { + final char rotated = getRotatedCharacter(lower); + result.append(upper ? toUpper(rotated) : rotated); + } else { + result.append(lower); + } + } + + return result.toString(); + } + + private boolean isUpper(final char character) { + return 'A' <= character && character <= 'Z'; + } + + private boolean isLower(final char character) { + return 'a' <= character && character <= 'z'; + } + + private char toLower(final char character) { + return (char) (((int) character) + 32); + } + + private char toUpper(final char character) { + return (char) (((int) character) - 32); + } + + private char getRotatedCharacter(final char character) { + + final int currentPosition = POSITIONS.indexOf(character); + + int rotatedPosition = currentPosition + shiftKey; + + if (rotatedPosition >= POSITIONS.length()) { + rotatedPosition = rotatedPosition - POSITIONS.length(); + } + + return POSITIONS.charAt(rotatedPosition); + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/RotationalCipherTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/RotationalCipherTest.java new file mode 100644 index 0000000..7b827b8 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/RotationalCipherTest.java @@ -0,0 +1,72 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.Test; + +class RotationalCipherTest { + + private RotationalCipher rotationalCipher; + + @Test + void rotateSingleCharacterBy0() { + rotationalCipher = new RotationalCipher(0); + assertThat(rotationalCipher.rotate("a")).isEqualTo("a"); + } + + @Test + void rotateSingleCharacterBy1() { + rotationalCipher = new RotationalCipher(1); + assertThat(rotationalCipher.rotate("a")).isEqualTo("b"); + } + + @Test + void rotateSingleCharacterBy26() { + rotationalCipher = new RotationalCipher(26); + assertThat(rotationalCipher.rotate("a")).isEqualTo("a"); + } + + @Test + void rotateSingleCharacterBy13() { + rotationalCipher = new RotationalCipher(13); + assertThat(rotationalCipher.rotate("z")).isEqualTo("m"); + } + + @Test + void rotateSingleCharacterWithWrapAround() { + rotationalCipher = new RotationalCipher(13); + assertThat(rotationalCipher.rotate("n")).isEqualTo("a"); + } + + @Test + void rotateCapitalLetters() { + rotationalCipher = new RotationalCipher(5); + assertThat(rotationalCipher.rotate("OMG")).isEqualTo("TRL"); + } + + @Test + void rotateSpaces() { + rotationalCipher = new RotationalCipher(5); + assertThat(rotationalCipher.rotate("O M G")).isEqualTo("T R L"); + } + + @Test + void rotateNumbers() { + rotationalCipher = new RotationalCipher(4); + assertThat(rotationalCipher.rotate("Testing 1 2 3 testing")) + .isEqualTo("Xiwxmrk 1 2 3 xiwxmrk"); + } + + @Test + void rotatePunctuation() { + rotationalCipher = new RotationalCipher(21); + assertThat(rotationalCipher.rotate("Let's eat, Grandma!")).isEqualTo("Gzo'n zvo, Bmviyhv!"); + } + + @Test + void rotateAllLetters() { + rotationalCipher = new RotationalCipher(13); + assertThat(rotationalCipher.rotate("Gur dhvpx oebja sbk whzcf bire gur ynml qbt.")) + .isEqualTo("The quick brown fox jumps over the lazy dog."); + } +} From eab7f0ba709273dc850eb63beb5665f239f9c448 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Sun, 24 Jul 2022 00:11:58 +0530 Subject: [PATCH 46/77] GH-5: Exercism-Java: Proverb --- .../sampadadubey/java/exercism/Proverb.java | 27 +++++++ .../java/exercism/ProverbTest.java | 78 +++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/Proverb.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/ProverbTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Proverb.java b/exercism/src/main/java/io/sampadadubey/java/exercism/Proverb.java new file mode 100644 index 0000000..19e471d --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/Proverb.java @@ -0,0 +1,27 @@ +package io.sampadadubey.java.exercism; + +class Proverb { + + private final String[] words; + + Proverb(final String[] words) { + this.words = words; + } + + String recite() { + + final StringBuilder result = new StringBuilder(); + + if (words.length > 0) { + + for (int index = 1; index < words.length; index++) { + result.append(String.format("For want of a %s the %s was lost.\n", words[index - 1], words[index])); + } + + result.append(String.format("And all for the want of a %s.\n", words[0])); + } + + return result.toString().trim(); + } + +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/ProverbTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/ProverbTest.java new file mode 100644 index 0000000..3b1c3d5 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/ProverbTest.java @@ -0,0 +1,78 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.Test; + +class ProverbTest { + + @Test + void zeroWordsAreGiven() { + + final String[] words = new String[0]; + + assertThat(new Proverb(words).recite()).isEqualTo(""); + } + + @Test + void singlePieceOfProverb() { + + final String[] words = new String[] { "nail" }; + + assertThat(new Proverb(words).recite()) + .isEqualTo("And all for the want of a nail."); + } + + @Test + void twoPiecesOfProverb() { + + final String[] words = new String[] { "nail", "shoe" }; + + assertThat(new Proverb(words).recite()) + .isEqualTo( + "For want of a nail the shoe was lost.\n" + + "And all for the want of a nail."); + } + + @Test + void shortChainOfConsequences() { + + final String[] words = new String[] { "nail", "shoe", "horse" }; + + assertThat(new Proverb(words).recite()) + .isEqualTo( + "For want of a nail the shoe was lost.\n" + + "For want of a shoe the horse was lost.\n" + + "And all for the want of a nail."); + } + + @Test + void fullProverb() { + + final String[] words = new String[] { "nail", "shoe", "horse", "rider", "message", "battle", "kingdom" }; + + assertThat(new Proverb(words).recite()) + .isEqualTo( + "For want of a nail the shoe was lost.\n" + + "For want of a shoe the horse was lost.\n" + + "For want of a horse the rider was lost.\n" + + "For want of a rider the message was lost.\n" + + "For want of a message the battle was lost.\n" + + "For want of a battle the kingdom was lost.\n" + + "And all for the want of a nail."); + } + + @Test + void fourPiecesModernizedProverb() { + + final String[] words = new String[] { "pin", "gun", "soldier", "battle" }; + + assertThat(new Proverb(words).recite()) + .isEqualTo( + "For want of a pin the gun was lost.\n" + + "For want of a gun the soldier was lost.\n" + + "For want of a soldier the battle was lost.\n" + + "And all for the want of a pin."); + } + +} From 6f2d8625dbfabd1d4b10953d7a89fad5017564fe Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Sun, 24 Jul 2022 00:12:23 +0530 Subject: [PATCH 47/77] GH-5: Exercism-Java: Twelve Days --- .../java/exercism/TwelveDays.java | 72 +++++++ .../java/exercism/TwelveDaysTest.java | 190 ++++++++++++++++++ 2 files changed, 262 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/TwelveDays.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/TwelveDaysTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/TwelveDays.java b/exercism/src/main/java/io/sampadadubey/java/exercism/TwelveDays.java new file mode 100644 index 0000000..8e3aaf2 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/TwelveDays.java @@ -0,0 +1,72 @@ +package io.sampadadubey.java.exercism; + +import static java.lang.String.format; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; + +class TwelveDays { + + static final String PREFIX = "On the %s day of Christmas my true love gave to me:"; + + static final LinkedHashMap ITEMS = new LinkedHashMap<>() { + { + put(1, new String[] { "first", "a Partridge in a Pear Tree" }); + put(2, new String[] { "second", "two Turtle Doves" }); + put(3, new String[] { "third", "three French Hens" }); + put(4, new String[] { "fourth", "four Calling Birds" }); + put(5, new String[] { "fifth", "five Gold Rings" }); + put(6, new String[] { "sixth", "six Geese-a-Laying" }); + put(7, new String[] { "seventh", "seven Swans-a-Swimming" }); + put(8, new String[] { "eighth", "eight Maids-a-Milking" }); + put(9, new String[] { "ninth", "nine Ladies Dancing" }); + put(10, new String[] { "tenth", "ten Lords-a-Leaping" }); + put(11, new String[] { "eleventh", "eleven Pipers Piping" }); + put(12, new String[] { "twelfth", "twelve Drummers Drumming" }); + } + }; + + String verse(final int verseNumber) { + + final String verse; + + if (verseNumber > 1) { + + final String[] firstItem = ITEMS.get(1); + + final List verseItems = new ArrayList<>(verseNumber - 1); + + for (int index = verseNumber; index > 1; index--) { + verseItems.add(ITEMS.get(index)[1]); + } + + final String prefix = format(PREFIX, ITEMS.get(verseNumber)[0]); + final String verseItemsExceptFirst = String.join(", ", verseItems); + + verse = format("%s %s, and %s.", prefix, verseItemsExceptFirst, firstItem[1]); + + } else if (verseNumber == 1) { + verse = format("%s %s.", format(PREFIX, ITEMS.get(verseNumber)[0]), ITEMS.get(verseNumber)[1]); + } else { + verse = ""; + } + + return verse + "\n"; + } + + String verses(final int startVerse, final int endVerse) { + + final List verses = new ArrayList<>(endVerse - startVerse); + + for (int verseNumber = startVerse; verseNumber <= endVerse; verseNumber++) { + verses.add(verse(verseNumber)); + } + + return String.join("\n", verses); + } + + String sing() { + return verses(1, 12); + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/TwelveDaysTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/TwelveDaysTest.java new file mode 100644 index 0000000..f2e1366 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/TwelveDaysTest.java @@ -0,0 +1,190 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +class TwelveDaysTest { + private TwelveDays twelveDays; + + @BeforeEach + void setup() { + twelveDays = new TwelveDays(); + } + + @Test + void testVerseOne() { + final String expectedVerseOne = "On the first day of Christmas my true love gave to me: " + + "a Partridge in a Pear Tree.\n"; + assertThat(twelveDays.verse(1)).isEqualTo(expectedVerseOne); + } + + @Test + void testVerseTwo() { + final String expectedVerseTwo = "On the second day of Christmas my true love gave to me: " + + "two Turtle Doves, and a Partridge in a Pear Tree.\n"; + assertThat(twelveDays.verse(2)).isEqualTo(expectedVerseTwo); + } + + @Test + void testVerseThree() { + final String expectedVerseThree = "On the third day of Christmas my true love gave to me: " + + "three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n"; + assertThat(twelveDays.verse(3)).isEqualTo(expectedVerseThree); + } + + @Test + void testVerseFour() { + final String expectedVerseFour = "On the fourth day of Christmas my true love gave to me: " + + "four Calling Birds, three French Hens, two Turtle Doves, " + + "and a Partridge in a Pear Tree.\n"; + assertThat(twelveDays.verse(4)).isEqualTo(expectedVerseFour); + } + + @Test + void testVerseFive() { + final String expectedVerseFive = "On the fifth day of Christmas my true love gave to me: " + + "five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, " + + "and a Partridge in a Pear Tree.\n"; + assertThat(twelveDays.verse(5)).isEqualTo(expectedVerseFive); + } + + @Test + void testVerseSix() { + final String expectedVerseSix = "On the sixth day of Christmas my true love gave to me: " + + "six Geese-a-Laying, five Gold Rings, four Calling Birds, " + + "three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n"; + assertThat(twelveDays.verse(6)).isEqualTo(expectedVerseSix); + } + + @Test + void testVerseSeven() { + final String expectedVerseSeven = "On the seventh day of Christmas my true love gave to me: " + + "seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds," + + " three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n"; + assertThat(twelveDays.verse(7)).isEqualTo(expectedVerseSeven); + } + + @Test + void testVerseEight() { + final String expectedVerseEight = "On the eighth day of Christmas my true love gave to me: " + + "eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, " + + "five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, " + + "and a Partridge in a Pear Tree.\n"; + assertThat(twelveDays.verse(8)).isEqualTo(expectedVerseEight); + } + + @Test + void testVerseNine() { + final String expectedVerseNine = "On the ninth day of Christmas my true love gave to me: " + + "nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, " + + "six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, " + + "two Turtle Doves, and a Partridge in a Pear Tree.\n"; + assertThat(twelveDays.verse(9)).isEqualTo(expectedVerseNine); + } + + @Test + void testVerseTen() { + final String expectedVerseTen = "On the tenth day of Christmas my true love gave to me: " + + "ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, " + + "seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, " + + "three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n"; + assertThat(twelveDays.verse(10)).isEqualTo(expectedVerseTen); + } + + @Test + void testVerseEleven() { + final String expectedVerseEleven = "On the eleventh day of Christmas my true love gave to me: " + + "eleven Pipers Piping, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, " + + "seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, " + + "three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n"; + assertThat(twelveDays.verse(11)).isEqualTo(expectedVerseEleven); + } + + @Test + void testVerseTwelve() { + final String expectedVerseTwelve = "On the twelfth day of Christmas my true love gave to me: " + + "twelve Drummers Drumming, eleven Pipers Piping, ten Lords-a-Leaping, " + + "nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, " + + "six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, " + + "two Turtle Doves, and a Partridge in a Pear Tree.\n"; + assertThat(twelveDays.verse(12)).isEqualTo(expectedVerseTwelve); + } + + @Test + void testFirstThreeVerses() { + final String expectedVersesOneToThree = "On the first day of Christmas my true love gave to me: " + + "a Partridge in a Pear Tree.\n\n" + + "On the second day of Christmas my true love gave to me: two Turtle Doves, " + + "and a Partridge in a Pear Tree.\n\n" + + "On the third day of Christmas my true love gave to me: three French Hens, " + + "two Turtle Doves, and a Partridge in a Pear Tree.\n"; + assertThat(twelveDays.verses(1, 3)).isEqualTo(expectedVersesOneToThree); + } + + @Test + void testFourthToSixthVerses() { + final String expectedVersesFourToSix = "On the fourth day of Christmas my true love gave to me: " + + "four Calling Birds, three French Hens, two Turtle Doves, " + + "and a Partridge in a Pear Tree.\n\n" + + "On the fifth day of Christmas my true love gave to me: five Gold Rings, " + + "four Calling Birds, three French Hens, two Turtle Doves, " + + "and a Partridge in a Pear Tree.\n\n" + + "On the sixth day of Christmas my true love gave to me: six Geese-a-Laying, " + + "five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, " + + "and a Partridge in a Pear Tree.\n"; + assertThat(twelveDays.verses(4, 6)).isEqualTo(expectedVersesFourToSix); + } + + @Test + void testSingWholeSong() { + final String expectedSong = "On the first day of Christmas my true love gave to me: " + + "a Partridge in a Pear Tree.\n" + + "\n" + + "On the second day of Christmas my true love gave to me: two Turtle Doves, " + + "and a Partridge in a Pear Tree.\n" + + "\n" + + "On the third day of Christmas my true love gave to me: three French Hens, " + + "two Turtle Doves, and a Partridge in a Pear Tree.\n" + + "\n" + + "On the fourth day of Christmas my true love gave to me: four Calling Birds, " + + "three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n" + + "\n" + + "On the fifth day of Christmas my true love gave to me: five Gold Rings, " + + "four Calling Birds, three French Hens, two Turtle Doves, " + + "and a Partridge in a Pear Tree.\n" + + "\n" + + "On the sixth day of Christmas my true love gave to me: six Geese-a-Laying, " + + "five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, " + + "and a Partridge in a Pear Tree.\n" + + "\n" + + "On the seventh day of Christmas my true love gave to me: seven Swans-a-Swimming, " + + "six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, " + + "two Turtle Doves, and a Partridge in a Pear Tree.\n" + + "\n" + + "On the eighth day of Christmas my true love gave to me: eight Maids-a-Milking, " + + "seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, " + + "three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n" + + "\n" + + "On the ninth day of Christmas my true love gave to me: nine Ladies Dancing, " + + "eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, " + + "four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n" + + "\n" + + "On the tenth day of Christmas my true love gave to me: ten Lords-a-Leaping, " + + "nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, " + + "five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, " + + "and a Partridge in a Pear Tree.\n" + + "\n" + + "On the eleventh day of Christmas my true love gave to me: eleven Pipers Piping, " + + "ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, " + + "six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, " + + "two Turtle Doves, and a Partridge in a Pear Tree.\n" + + "\n" + + "On the twelfth day of Christmas my true love gave to me: twelve Drummers Drumming, " + + "eleven Pipers Piping, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, " + + "seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, " + + "three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n"; + assertThat(twelveDays.sing()).isEqualTo(expectedSong); + } +} From 8c1cc627a7066155c3844c9665e5a3ee96a87753 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Mon, 25 Jul 2022 01:08:40 +0530 Subject: [PATCH 48/77] GH-5: Exercism-Java: Armstrong Numbers --- .../java/exercism/ArmstrongNumbers.java | 24 ++++++++ .../java/exercism/ArmstrongNumbersTest.java | 61 +++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/ArmstrongNumbers.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/ArmstrongNumbersTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/ArmstrongNumbers.java b/exercism/src/main/java/io/sampadadubey/java/exercism/ArmstrongNumbers.java new file mode 100644 index 0000000..45d27ee --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/ArmstrongNumbers.java @@ -0,0 +1,24 @@ +package io.sampadadubey.java.exercism; + +public class ArmstrongNumbers { + + boolean isArmstrongNumber(final int numberToCheck) { + + final int numberOfDigits = String.valueOf(numberToCheck).length(); + + int number = numberToCheck; + + int numberCalculated = 0; + + while (number != 0) { + + int currentDigit = number % 10; + + numberCalculated = numberCalculated + (int) Math.pow((double) currentDigit, (double) numberOfDigits); + + number = number / 10; + } + + return numberToCheck == numberCalculated; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/ArmstrongNumbersTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/ArmstrongNumbersTest.java new file mode 100644 index 0000000..6dd8a14 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/ArmstrongNumbersTest.java @@ -0,0 +1,61 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +class ArmstrongNumbersTest { + + private ArmstrongNumbers armstrongNumbers; + + @BeforeEach + void setup() { + armstrongNumbers = new ArmstrongNumbers(); + } + + @Test + void zeroIsArmstrongNumber() { + assertThat(armstrongNumbers.isArmstrongNumber(0)).isTrue(); + } + + @Test + void singleDigitsAreArmstrongNumbers() { + assertThat(armstrongNumbers.isArmstrongNumber(5)).isTrue(); + } + + @Test + void noTwoDigitArmstrongNumbers() { + assertThat(armstrongNumbers.isArmstrongNumber(10)).isFalse(); + } + + @Test + void threeDigitNumberIsArmstrongNumber() { + assertThat(armstrongNumbers.isArmstrongNumber(153)).isTrue(); + } + + @Test + void threeDigitNumberIsNotArmstrongNumber() { + assertThat(armstrongNumbers.isArmstrongNumber(100)).isFalse(); + } + + @Test + void fourDigitNumberIsArmstrongNumber() { + assertThat(armstrongNumbers.isArmstrongNumber(9474)).isTrue(); + } + + @Test + void fourDigitNumberIsNotArmstrongNumber() { + assertThat(armstrongNumbers.isArmstrongNumber(9475)).isFalse(); + } + + @Test + void sevenDigitNumberIsArmstrongNumber() { + assertThat(armstrongNumbers.isArmstrongNumber(9926315)).isTrue(); + } + + @Test + void sevenDigitNumberIsNotArmstrongNumber() { + assertThat(armstrongNumbers.isArmstrongNumber(9926314)).isFalse(); + } +} From cf90eca57f9a203b38d2becf8e41508e70ad8be0 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Mon, 25 Jul 2022 01:10:39 +0530 Subject: [PATCH 49/77] GH-5: Exercism-Java: Need for Speed --- .gitignore | 2 + .../sampadadubey/java/exercism/Acronym.java | 4 +- .../java/exercism/NeedForSpeed.java | 74 ++++++++ .../java/exercism/NeedForSpeedTest.java | 176 ++++++++++++++++++ 4 files changed, 255 insertions(+), 1 deletion(-) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/NeedForSpeed.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/NeedForSpeedTest.java diff --git a/.gitignore b/.gitignore index 99d6f39..000ac24 100644 --- a/.gitignore +++ b/.gitignore @@ -69,6 +69,7 @@ hs_err_pid* **/.settings **/.classpath **/target/* +**/cov.xml # VS code .vscode @@ -76,3 +77,4 @@ hs_err_pid* # Project specific common/target/** codingbat/target/** + diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Acronym.java b/exercism/src/main/java/io/sampadadubey/java/exercism/Acronym.java index 2cf0c1a..b972451 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/Acronym.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/Acronym.java @@ -1,5 +1,7 @@ package io.sampadadubey.java.exercism; +import java.util.Locale; + public class Acronym { private final String phrase; @@ -18,7 +20,7 @@ String get() { acronym.append(part.charAt(0)); } - return acronym.toString().toUpperCase(); + return acronym.toString().toUpperCase(Locale.getDefault()); } private String getCleanedPhrase() { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/NeedForSpeed.java b/exercism/src/main/java/io/sampadadubey/java/exercism/NeedForSpeed.java new file mode 100644 index 0000000..beef2a6 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/NeedForSpeed.java @@ -0,0 +1,74 @@ +package io.sampadadubey.java.exercism; + +class NeedForSpeed { + + static final int INITIAL_BATTERY = 100; + + static final int NITRO_SPEED = 50; + + static final int NITRO_BATTERY_DRAIN = 4; + + private final int speed; + + private final int batteryDrain; + + private int battery; + + private int distanceDriven; + + NeedForSpeed(final int speed, final int batteryDrain) { + this.speed = speed; + this.batteryDrain = batteryDrain; + this.battery = INITIAL_BATTERY; + this.distanceDriven = 0; + } + + public boolean batteryDrained() { + return battery < batteryDrain; + } + + public int distanceDriven() { + return distanceDriven; + } + + public void drive() { + if (!batteryDrained()) { + distanceDriven = distanceDriven + speed; + battery = battery - batteryDrain; + } + } + + public static NeedForSpeed nitro() { + return new NeedForSpeed(NITRO_SPEED, NITRO_BATTERY_DRAIN); + } +} + +class RaceTrack { + + private final int distance; + + RaceTrack(final int distance) { + this.distance = distance; + } + + public boolean tryFinishTrack(final NeedForSpeed car) { + + boolean canFinishTrack = isTrackCompleted(car); + + while (!car.batteryDrained()) { + + car.drive(); + + if (isTrackCompleted(car)) { + canFinishTrack = true; + break; + } + } + + return canFinishTrack; + } + + private boolean isTrackCompleted(final NeedForSpeed car) { + return car.distanceDriven() >= distance; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/NeedForSpeedTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/NeedForSpeedTest.java new file mode 100644 index 0000000..848704f --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/NeedForSpeedTest.java @@ -0,0 +1,176 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.Test; + +class NeedForSpeedTest { + + @Test + void new_remote_control_car_has_not_driven_any_distance() { + + final int speed = 10; + final int batteryDrain = 2; + final NeedForSpeed car = new NeedForSpeed(speed, batteryDrain); + + assertThat(car.distanceDriven()).isEqualTo(0); + } + + @Test + void drive_increases_distance_driven_with_speed() { + + final int speed = 5; + final int batteryDrain = 1; + final NeedForSpeed car = new NeedForSpeed(speed, batteryDrain); + + car.drive(); + + assertThat(car.distanceDriven()).isEqualTo(5); + } + + @Test + void drive_does_not_increase_distance_driven_when_battery_drained() { + + final int speed = 9; + final int batteryDrain = 50; + final NeedForSpeed car = new NeedForSpeed(speed, batteryDrain); + + // Drain the battery + car.drive(); + car.drive(); + + // One extra drive attempt (should not succeed) + car.drive(); + + assertThat(car.distanceDriven()).isEqualTo(18); + } + + @Test + void new_remote_control_car_battery_is_not_drained() { + + final int speed = 15; + final int batteryDrain = 3; + final NeedForSpeed car = new NeedForSpeed(speed, batteryDrain); + + assertThat(car.batteryDrained()).isFalse(); + } + + @Test + void drive_to_almost_drain_battery() { + + final int speed = 2; + final int batteryDrain = 1; + final NeedForSpeed car = new NeedForSpeed(speed, batteryDrain); + + // Almost drain the battery + for (int index = 0; index < 99; index++) { + car.drive(); + } + + assertThat(car.batteryDrained()).isFalse(); + } + + @Test + void drive_until_battery_is_drained() { + + final int speed = 2; + final int batteryDrain = 1; + final NeedForSpeed car = new NeedForSpeed(speed, batteryDrain); + + // Drain the battery + for (int index = 0; index < 100; index++) { + car.drive(); + } + + assertThat(car.batteryDrained()).isTrue(); + } + + @Test + void nitro_car_has_not_driven_any_distance() { + final NeedForSpeed car = NeedForSpeed.nitro(); + assertThat(car.distanceDriven()).isEqualTo(0); + } + + @Test + void nitro_car_has_battery_not_drained() { + NeedForSpeed car = NeedForSpeed.nitro(); + assertThat(car.batteryDrained()).isFalse(); + } + + @Test + void nitro_car_has_correct_speed() { + final NeedForSpeed car = NeedForSpeed.nitro(); + car.drive(); + assertThat(car.distanceDriven()).isEqualTo(50); + } + + @Test + void nitro_has_correct_battery_drain() { + + final NeedForSpeed car = NeedForSpeed.nitro(); + + // The battery is almost drained + for (int index = 0; index < 24; index++) { + car.drive(); + } + + assertThat(car.batteryDrained()).isFalse(); + + // Drain the battery + car.drive(); + + assertThat(car.batteryDrained()).isTrue(); + } + + @Test + void car_can_finish_with_car_that_can_easily_finish() { + + final int speed = 10; + final int batteryDrain = 2; + final NeedForSpeed car = new NeedForSpeed(speed, batteryDrain); + + final int distance = 100; + final RaceTrack race = new RaceTrack(distance); + + assertThat(race.tryFinishTrack(car)).isTrue(); + } + + @Test + void car_can_finish_with_car_that_can_just_finish() { + + final int speed = 2; + final int batteryDrain = 10; + final NeedForSpeed car = new NeedForSpeed(speed, batteryDrain); + + final int distance = 20; + final RaceTrack race = new RaceTrack(distance); + + assertThat(race.tryFinishTrack(car)).isTrue(); + } + + @Test + void car_can_finish_with_car_that_just_cannot_finish() { + + final int speed = 3; + final int batteryDrain = 20; + final NeedForSpeed car = new NeedForSpeed(speed, batteryDrain); + + final int distance = 16; + final RaceTrack race = new RaceTrack(distance); + + assertThat(race.tryFinishTrack(car)).isFalse(); + } + + @Test + void car_can_finish_with_car_that_cannot_finish() { + + final int speed = 1; + final int batteryDrain = 20; + final NeedForSpeed car = new NeedForSpeed(speed, batteryDrain); + + final int distance = 678; + final RaceTrack race = new RaceTrack(distance); + + assertThat(race.tryFinishTrack(car)).isFalse(); + } +} From 9a9971204a3e46fc116f24419edfbadfbd21e9ef Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Mon, 25 Jul 2022 01:11:17 +0530 Subject: [PATCH 50/77] GH-5: Exercism-Java: Remote Control Competition --- .../java/exercism/RemoteControlCarDemo.java | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/RemoteControlCarDemo.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/RemoteControlCarDemo.java b/exercism/src/main/java/io/sampadadubey/java/exercism/RemoteControlCarDemo.java new file mode 100644 index 0000000..85cc85d --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/RemoteControlCarDemo.java @@ -0,0 +1,67 @@ +package io.sampadadubey.java.exercism; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +public class RemoteControlCarDemo { + + public static void race(final RemoteControlCar car) { + car.drive(); + } + + public static List getRankedCars(final ProductionRemoteControlCar prc1, + final ProductionRemoteControlCar prc2) { + return Arrays.asList(prc1, prc2) + .stream() + .sorted((car1, car2) -> car1.getNumberOfVictories() - car2.getNumberOfVictories()) + .collect(Collectors.toList()); + } +} + +interface RemoteControlCar { + void drive(); +} + + +class ExperimentalRemoteControlCar implements RemoteControlCar { + + static final int DEFAULT_DRIVE_DISTANCE = 20; + + private int distanceDriven = 0; + + @Override + public void drive() { + distanceDriven = distanceDriven + DEFAULT_DRIVE_DISTANCE; + } + + public int getDistanceTravelled() { + return distanceDriven; + } +} + +class ProductionRemoteControlCar implements RemoteControlCar { + + private static final int DEFAULT_DRIVE_DISTANCE = 10; + + private int distanceDriven = 0; + + private int numberOfVictories = 0; + + @Override + public void drive() { + distanceDriven = distanceDriven + DEFAULT_DRIVE_DISTANCE; + } + + public int getDistanceTravelled() { + return distanceDriven; + } + + public int getNumberOfVictories() { + return numberOfVictories; + } + + public void setNumberOfVictories(final int numberOfVictories) { + this.numberOfVictories = numberOfVictories; + } +} From 650a7b5d407749cbd8bcad883fa00a289d4c9022 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Wed, 1 Feb 2023 02:41:33 +0530 Subject: [PATCH 51/77] GH-5: Exercism-Java: FlattenList --- .../java/exercism/FlattenList.java | 30 ++++++ .../java/exercism/FlattenListTest.java | 101 ++++++++++++++++++ 2 files changed, 131 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/FlattenList.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/FlattenListTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/FlattenList.java b/exercism/src/main/java/io/sampadadubey/java/exercism/FlattenList.java new file mode 100644 index 0000000..26e28fc --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/FlattenList.java @@ -0,0 +1,30 @@ +package io.sampadadubey.java.exercism; + +import java.util.ArrayList; +import java.util.List; + +public class FlattenList { + + @SuppressWarnings("unchecked") + public List flatten(final List list) { + + final List result = new ArrayList<>(); + + for (int index = 0; index < list.size(); index++) { + + final Object value = list.get(index); + + if (value == null) { + continue; + } + + if (value instanceof List) { + result.addAll(flatten((List) value)); + } else { + result.add(value); + } + } + + return result; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/FlattenListTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/FlattenListTest.java new file mode 100644 index 0000000..3ffc014 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/FlattenListTest.java @@ -0,0 +1,101 @@ +package io.sampadadubey.java.exercism; + +import static java.util.Arrays.asList; +import static java.util.Collections.emptyList; +import static java.util.Collections.singletonList; +import static org.assertj.core.api.Assertions.assertThat; + +import java.util.List; + +import org.junit.jupiter.api.Test; + +class FlattenListTest { + + private FlattenList flattener = new FlattenList(); + + @Test + void testFlatListIsPreserved() { + + final List input = asList(0, '1', "two"); + final List expected = input; + + assertThat(flattener.flatten(input)).containsExactlyElementsOf(expected); + } + + @Test + void testASingleLevelOfNestingWithNoNulls() { + + final List input = asList(1, asList('2', 3, 4, 5, "six", "7"), 8); + final List expected = asList(1, '2', 3, 4, 5, "six", "7", 8); + + assertThat(flattener.flatten(input)).containsExactlyElementsOf(expected); + } + + @Test + void testFiveLevelsOfNestingWithNoNulls() { + + final List input = asList( + 0, + '2', + asList( + asList(2, "three"), + '8', + 100, + "four", + singletonList(singletonList(singletonList(50)))), + "-2"); + final List expected = asList(0, '2', 2, "three", '8', 100, "four", 50, "-2"); + + assertThat(flattener.flatten(input)).containsExactlyElementsOf(expected); + } + + @Test + void testSixLevelsOfNestingWithNoNulls() { + + final List input = asList( + "one", + asList( + '2', + singletonList(singletonList(3)), + asList('4', singletonList(singletonList(5))), + "six", + 7), + "8"); + final List expected = asList("one", '2', 3, '4', 5, "six", 7, "8"); + + assertThat(flattener.flatten(input)).containsExactlyElementsOf(expected); + } + + @Test + void testSixLevelsOfNestingWithNulls() { + + final List input = asList( + "0", + 2, + asList( + asList("two", '3'), + "8", + singletonList(singletonList("one hundred")), + null, + singletonList(singletonList(null))), + "negative two"); + final List expected = asList("0", 2, "two", '3', "8", "one hundred", "negative two"); + + assertThat(flattener.flatten(input)).containsExactlyElementsOf(expected); + } + + @Test + void testNestedListsFullOfNullsOnly() { + + final List input = asList( + null, + singletonList(singletonList(singletonList(null))), + null, + null, + asList(asList(null, null), null), + null); + final List expected = emptyList(); + + assertThat(flattener.flatten(input)).containsExactlyElementsOf(expected); + } +} From 4c61b86056eb59ae8c0d76061e018c8fbaae7359 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Wed, 1 Feb 2023 02:54:31 +0530 Subject: [PATCH 52/77] GH-5: Updates dependencies in pom.xml --- pom.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index 7566f5b..e7ffcf6 100644 --- a/pom.xml +++ b/pom.xml @@ -34,13 +34,13 @@ org.junit.jupiter junit-jupiter-api - 5.8.2 + 5.9.2 test org.assertj assertj-core - 3.23.1 + 3.24.2 test @@ -104,7 +104,7 @@ org.apache.maven.plugins maven-resources-plugin - 3.2.0 + 3.3.0 org.apache.maven.plugins @@ -114,12 +114,12 @@ org.apache.maven.plugins maven-surefire-plugin - 3.0.0-M6 + 3.0.0-M8 org.apache.maven.plugins maven-jar-plugin - 3.2.2 + 3.3.0 org.jacoco @@ -129,17 +129,17 @@ org.apache.maven.plugins maven-pmd-plugin - 3.17.0 + 3.20.0 org.apache.maven.plugins maven-checkstyle-plugin - 3.1.2 + 3.2.1 com.puppycrawl.tools checkstyle - 10.3 + 10.6.0 From 83770a56d6d8373f637fd6ead803c249fb315235 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Wed, 1 Feb 2023 03:19:02 +0530 Subject: [PATCH 53/77] GH-5: Fixes Sonar violation for DnDCharacter --- .../java/io/sampadadubey/java/exercism/DnDCharacter.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/DnDCharacter.java b/exercism/src/main/java/io/sampadadubey/java/exercism/DnDCharacter.java index f76799d..e85b147 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/DnDCharacter.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/DnDCharacter.java @@ -1,7 +1,6 @@ package io.sampadadubey.java.exercism; import java.util.Arrays; -import java.util.Random; public class DnDCharacter { @@ -98,3 +97,10 @@ private int[] getRandomValues(final int count) { return values; } } + +class Random { + + int nextInt(final int limit) { + return (int) Math.random() * limit; + } +} From f62e1ba525ec4b1eb4b81d00caabe170b35f0d40 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Wed, 1 Feb 2023 03:28:47 +0530 Subject: [PATCH 54/77] GH-5: Fixes Sonar violation for DnDCharacter --- .../io/sampadadubey/java/exercism/DnDCharacter.java | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/DnDCharacter.java b/exercism/src/main/java/io/sampadadubey/java/exercism/DnDCharacter.java index e85b147..64861ed 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/DnDCharacter.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/DnDCharacter.java @@ -1,10 +1,11 @@ package io.sampadadubey.java.exercism; +import java.security.SecureRandom; import java.util.Arrays; public class DnDCharacter { - static final Random DICE = new Random(); + static final SecureRandom DICE = new SecureRandom(); private final int strength; @@ -97,10 +98,3 @@ private int[] getRandomValues(final int count) { return values; } } - -class Random { - - int nextInt(final int limit) { - return (int) Math.random() * limit; - } -} From 67d467cd0b66dbbb1cd37d0dddb49ca771de0dba Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Wed, 1 Feb 2023 03:33:54 +0530 Subject: [PATCH 55/77] GH-5: Fixes Sonar violation for DnDCharacter --- .../src/main/java/io/sampadadubey/java/exercism/Acronym.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Acronym.java b/exercism/src/main/java/io/sampadadubey/java/exercism/Acronym.java index b972451..7fe9d65 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/Acronym.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/Acronym.java @@ -24,6 +24,6 @@ String get() { } private String getCleanedPhrase() { - return phrase.replaceAll("[^A-Za-z]*\\s+[^A-Za-z]*", " ").replaceAll("-", " "); + return phrase.replaceAll("[^A-Za-z]*\\s+[^A-Za-z]*+", " ").replaceAll("-", " "); } } From ca30cecfca8670d2bb4d8d6bb4c053d9dd09d8cf Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Wed, 1 Feb 2023 03:36:29 +0530 Subject: [PATCH 56/77] GH-5: Fixes Sonar violation for DnDCharacter --- .../src/main/java/io/sampadadubey/java/exercism/Acronym.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Acronym.java b/exercism/src/main/java/io/sampadadubey/java/exercism/Acronym.java index 7fe9d65..b972451 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/Acronym.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/Acronym.java @@ -24,6 +24,6 @@ String get() { } private String getCleanedPhrase() { - return phrase.replaceAll("[^A-Za-z]*\\s+[^A-Za-z]*+", " ").replaceAll("-", " "); + return phrase.replaceAll("[^A-Za-z]*\\s+[^A-Za-z]*", " ").replaceAll("-", " "); } } From fe8e5657739b3c099e72e68c384b30aa20d4f255 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Thu, 2 Feb 2023 03:04:42 +0530 Subject: [PATCH 57/77] GH-5: Exercism-Java: SaddlePoint --- .../java/exercism/SaddlePoint.java | 130 +++++++++++++++ .../java/exercism/SaddlePointTest.java | 152 ++++++++++++++++++ quality/ruleset.xml | 2 +- 3 files changed, 283 insertions(+), 1 deletion(-) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/SaddlePoint.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/SaddlePointTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/SaddlePoint.java b/exercism/src/main/java/io/sampadadubey/java/exercism/SaddlePoint.java new file mode 100644 index 0000000..d6d7592 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/SaddlePoint.java @@ -0,0 +1,130 @@ +package io.sampadadubey.java.exercism; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class SaddlePoint { + + private final List> values; + + SaddlePoint(final List> values) { + this.values = values; + } + + Set getSaddlePoints() { + + final int rowCount = values.size(); + final int colCount = rowCount > 0 ? values.get(0).size() : 0; + + final List rowMaxValues = new ArrayList<>(rowCount); + final List colMaxValues = new ArrayList<>(colCount); + + for (int row = 0; row < rowCount; row++) { + + int maxValue = values.get(row).get(0); + int maxRowCoordinate = row; + int maxColCoordinate = 0; + + for (int col = 1; col < colCount; col++) { + + final int currentValue = values.get(row).get(col); + + if (currentValue > maxValue) { + maxValue = currentValue; + maxRowCoordinate = row; + maxColCoordinate = col; + } + } + + rowMaxValues.add(new Integer[] { maxRowCoordinate, maxColCoordinate, maxValue }); + } + + for (int col = 0; col < colCount; col++) { + + int minValue = values.get(0).get(col); + int minRowCoordinate = 0; + int minColCoordinate = col; + + for (int row = 1; row < rowCount; row++) { + + final int currentValue = values.get(row).get(col); + + if (currentValue < minValue) { + minValue = currentValue; + minRowCoordinate = row; + minColCoordinate = col; + } + } + + colMaxValues.add(new Integer[] { minRowCoordinate, minColCoordinate, minValue }); + } + + final Set saddlePoints = new HashSet<>(); + + for (int row = 0; row < rowCount; row++) { + for (int col = 0; col < colCount; col++) { + + final int currentValue = values.get(row).get(col); + + final Integer[] rowMax = rowMaxValues.get(row); + final int rowMaxValue = rowMax[2]; + + final Integer[] colMax = colMaxValues.get(col); + final int colMaxValue = colMax[2]; + + if (currentValue >= rowMaxValue && currentValue <= colMaxValue) { + saddlePoints.add(new MatrixCoordinate(row + 1, col + 1)); + } + } + } + + return saddlePoints; + } +} + +class MatrixCoordinate implements Comparable { + + private final int row; + + private final int col; + + MatrixCoordinate(final int row, final int col) { + this.row = row; + this.col = col; + } + + @Override + public String toString() { + return "Row: " + row + ", Column: " + col; + } + + @Override + public boolean equals(final Object other) { + + if (this == other) { + return true; + } + if (other == null || getClass() != other.getClass()) { + return false; + } + + final MatrixCoordinate that = (MatrixCoordinate) other; + + return this.row == that.row && this.col == that.col; + } + + @Override + public int hashCode() { + int result = row; + result = 31 * result + col; + return result; + } + + @Override + public int compareTo(final MatrixCoordinate other) { + final int rowComparison = Integer.compare(this.row, other.row); + return (rowComparison == 0) ? Integer.compare(this.col, other.col) : rowComparison; + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/SaddlePointTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/SaddlePointTest.java new file mode 100644 index 0000000..4cbc34b --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/SaddlePointTest.java @@ -0,0 +1,152 @@ +package io.sampadadubey.java.exercism; + +import static java.util.Collections.emptyList; +import static java.util.Collections.emptySet; +import static java.util.Collections.singleton; +import static java.util.Collections.singletonList; +import static org.assertj.core.api.Assertions.assertThat; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +import org.junit.jupiter.api.Test; + +class SaddlePointTest { + + @Test + void testCanIdentifySingleSaddlePoint() { + + final SaddlePoint matrix = new SaddlePoint(Arrays.asList( + Arrays.asList(9, 8, 7), + Arrays.asList(5, 3, 2), + Arrays.asList(6, 6, 7) + )); + + final Set expectedSaddlePoints = singleton(new MatrixCoordinate(2, 1)); + + assertThat(matrix.getSaddlePoints()).isEqualTo(expectedSaddlePoints); + } + + @Test + void testCanIdentifyThatEmptyMatrixHasNoSaddlePoints() { + + final SaddlePoint matrix = new SaddlePoint(emptyList()); + + final Set expectedSaddlePoints = emptySet(); + + assertThat(matrix.getSaddlePoints()).isEqualTo(expectedSaddlePoints); + } + + @Test + void testCanIdentifyLackOfSaddlePointsWhenThereAreNone() { + + final SaddlePoint matrix = new SaddlePoint(Arrays.asList( + Arrays.asList(1, 2, 3), + Arrays.asList(3, 1, 2), + Arrays.asList(2, 3, 1) + )); + + final Set expectedSaddlePoints = emptySet(); + + assertThat(matrix.getSaddlePoints()).isEqualTo(expectedSaddlePoints); + } + + @Test + void testCanIdentifyMultipleSaddlePointsInAColumn() { + + final SaddlePoint matrix = new SaddlePoint(Arrays.asList( + Arrays.asList(4, 5, 4), + Arrays.asList(3, 5, 5), + Arrays.asList(1, 5, 4) + )); + + final Set expectedSaddlePoints = new HashSet<>(Arrays.asList( + new MatrixCoordinate(1, 2), + new MatrixCoordinate(2, 2), + new MatrixCoordinate(3, 2) + )); + + assertThat(matrix.getSaddlePoints()).isEqualTo(expectedSaddlePoints); + } + + @Test + void testCanIdentifyMultipleSaddlePointsInARow() { + + final SaddlePoint matrix = new SaddlePoint(Arrays.asList( + Arrays.asList(6, 7, 8), + Arrays.asList(5, 5, 5), + Arrays.asList(7, 5, 6) + )); + + final Set expectedSaddlePoints = new HashSet<>(Arrays.asList( + new MatrixCoordinate(2, 1), + new MatrixCoordinate(2, 2), + new MatrixCoordinate(2, 3) + )); + assertThat(matrix.getSaddlePoints()).isEqualTo(expectedSaddlePoints); + } + + @Test + void testCanIdentifySaddlePointInBottomRightCorner() { + + final SaddlePoint matrix = new SaddlePoint(Arrays.asList( + Arrays.asList(8, 7, 9), + Arrays.asList(6, 7, 6), + Arrays.asList(3, 2, 5) + )); + + final Set expectedSaddlePoints = singleton(new MatrixCoordinate(3, 3)); + + assertThat(matrix.getSaddlePoints()).isEqualTo(expectedSaddlePoints); + } + + @Test + void testCanIdentifySaddlePointsInANonSquareMatrix() { + + final SaddlePoint matrix = new SaddlePoint(Arrays.asList( + Arrays.asList(3, 1, 3), + Arrays.asList(3, 2, 4) + )); + + final Set expectedSaddlePoints = new HashSet<>(Arrays.asList( + new MatrixCoordinate(1, 3), + new MatrixCoordinate(1, 1) + )); + + assertThat(matrix.getSaddlePoints()).isEqualTo(expectedSaddlePoints); + } + + @Test + void testCanIdentifyThatSaddlePointsInASingleColumnMatrixAreThoseWithMinimumValue() { + + final SaddlePoint matrix = new SaddlePoint(Arrays.asList( + singletonList(2), + singletonList(1), + singletonList(4), + singletonList(1) + )); + + final Set expectedSaddlePoints = new HashSet<>(Arrays.asList( + new MatrixCoordinate(2, 1), + new MatrixCoordinate(4, 1) + )); + + assertThat(matrix.getSaddlePoints()).isEqualTo(expectedSaddlePoints); + } + + @Test + void testCanIdentifyThatSaddlePointsInASingleRowMatrixAreThoseWithMaximumValue() { + + final SaddlePoint matrix = new SaddlePoint(Arrays.asList( + Arrays.asList(2, 5, 3, 5) + )); + + final Set expectedSaddlePoints = new HashSet<>(Arrays.asList( + new MatrixCoordinate(1, 2), + new MatrixCoordinate(1, 4) + )); + + assertThat(matrix.getSaddlePoints()).isEqualTo(expectedSaddlePoints); + } +} diff --git a/quality/ruleset.xml b/quality/ruleset.xml index 2436ade..cec3552 100644 --- a/quality/ruleset.xml +++ b/quality/ruleset.xml @@ -51,7 +51,7 @@ - + From b11988e4dfdc8cc61792e2a7c4f2d577bed28388 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Thu, 2 Feb 2023 03:16:24 +0530 Subject: [PATCH 58/77] GH-5: Exercism-Java: Football Match Reports --- .../java/exercism/FootballMatchReports.java | 45 +++++++++++++ .../exercism/FootballMatchReportsTest.java | 65 +++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 exercism/src/main/java/io/sampadadubey/java/exercism/FootballMatchReports.java create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/FootballMatchReportsTest.java diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/FootballMatchReports.java b/exercism/src/main/java/io/sampadadubey/java/exercism/FootballMatchReports.java new file mode 100644 index 0000000..01f67e6 --- /dev/null +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/FootballMatchReports.java @@ -0,0 +1,45 @@ +package io.sampadadubey.java.exercism; + +import java.util.Optional; + +public class FootballMatchReports { + + public static String onField(final int shirtNum) { + + String description = null; + + switch (shirtNum) { + case 1: + description = "goalie"; + break; + case 2: + description = "left back"; + break; + case 3: + case 4: + description = "center back"; + break; + case 5: + description = "right back"; + break; + case 6: + case 7: + case 8: + description = "midfielder"; + break; + case 9: + description = "left wing"; + break; + case 10: + description = "striker"; + break; + case 11: + description = "right wing"; + break; + default: + break; + } + + return Optional.ofNullable(description).orElseThrow(() -> new IllegalArgumentException()); + } +} diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/FootballMatchReportsTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/FootballMatchReportsTest.java new file mode 100644 index 0000000..df4f0c8 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/FootballMatchReportsTest.java @@ -0,0 +1,65 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; + +import org.junit.jupiter.api.Test; + +class FootballMatchReportsTest { + + @Test + void test_goalie() { + assertThat(FootballMatchReports.onField(1)).isEqualTo("goalie"); + } + + @Test + void test_left_back() { + assertThat(FootballMatchReports.onField(2)).isEqualTo("left back"); + } + + @Test + void test_right_back() { + assertThat(FootballMatchReports.onField(5)).isEqualTo("right back"); + } + + @Test + void test_center_back() { + assertThat(FootballMatchReports.onField(3)).isEqualTo("center back"); + assertThat(FootballMatchReports.onField(4)).isEqualTo("center back"); + } + + @Test + void test_midfielder() { + final String expected = "midfielder"; + assertThat(FootballMatchReports.onField(6)).isEqualTo(expected); + assertThat(FootballMatchReports.onField(7)).isEqualTo(expected); + assertThat(FootballMatchReports.onField(8)).isEqualTo(expected); + } + + @Test + void test_left_wing() { + assertThat(FootballMatchReports.onField(9)).isEqualTo("left wing"); + } + + @Test + void test_striker() { + assertThat(FootballMatchReports.onField(10)).isEqualTo("striker"); + } + + @Test + void test_right_wing() { + assertThat(FootballMatchReports.onField(11)).isEqualTo("right wing"); + } + + @Test + void test_exception() { + assertThatExceptionOfType(IllegalArgumentException.class) + .isThrownBy(() -> FootballMatchReports.onField(13)); + } + + @Test + void test_exception_negative_number() { + assertThatExceptionOfType(IllegalArgumentException.class) + .isThrownBy(() -> FootballMatchReports.onField(-1)); + } +} From 626502e410243735aabd6d9cf7d8a60fe93f2ef5 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Sun, 5 Feb 2023 08:30:29 +0530 Subject: [PATCH 59/77] GH-5: Exercism-Java: Football Match Reports --- .../java/exercism/FootballMatchReports.java | 34 +++++++++++++------ 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/FootballMatchReports.java b/exercism/src/main/java/io/sampadadubey/java/exercism/FootballMatchReports.java index 01f67e6..88cb8fb 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/FootballMatchReports.java +++ b/exercism/src/main/java/io/sampadadubey/java/exercism/FootballMatchReports.java @@ -4,36 +4,48 @@ public class FootballMatchReports { + static final int GOALIE = 1; + static final int LEFT_BACK = 2; + static final int CENTER_BACK_ONE = 3; + static final int CENTER_BACK_TWO = 4; + static final int RIGHT_BACK = 5; + static final int LEFT_MIDFIELDER = 6; + static final int CENTER_MIDFIELDER = 7; + static final int RIGHT_MIDFILDER = 8; + static final int LEFT_WING = 9; + static final int STRIKER = 10; + static final int RIGHT_WING = 11; + public static String onField(final int shirtNum) { String description = null; switch (shirtNum) { - case 1: + case GOALIE: description = "goalie"; break; - case 2: + case LEFT_BACK: description = "left back"; break; - case 3: - case 4: + case CENTER_BACK_ONE: + case CENTER_BACK_TWO: description = "center back"; break; - case 5: + case RIGHT_BACK: description = "right back"; break; - case 6: - case 7: - case 8: + case LEFT_MIDFIELDER: + case CENTER_MIDFIELDER: + case RIGHT_MIDFILDER: description = "midfielder"; break; - case 9: + case LEFT_WING: description = "left wing"; break; - case 10: + case STRIKER: description = "striker"; break; - case 11: + case RIGHT_WING: description = "right wing"; break; default: From 74033ad6f6dbb0483d2cdd1b6ef924616f92ae24 Mon Sep 17 00:00:00 2001 From: Sampada Dubey Date: Mon, 6 Feb 2023 04:00:28 +0530 Subject: [PATCH 60/77] GH-5: Exercism-Java: RemoteControlCarDemo --- .../exercism/RemoteControlCarDemoTest.java | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 exercism/src/test/java/io/sampadadubey/java/exercism/RemoteControlCarDemoTest.java diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/RemoteControlCarDemoTest.java b/exercism/src/test/java/io/sampadadubey/java/exercism/RemoteControlCarDemoTest.java new file mode 100644 index 0000000..c1b9b80 --- /dev/null +++ b/exercism/src/test/java/io/sampadadubey/java/exercism/RemoteControlCarDemoTest.java @@ -0,0 +1,43 @@ +package io.sampadadubey.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.util.List; + +import org.junit.jupiter.api.Test; + +class RemoteControlCarDemoTest { + + @Test + void race() { + + final ProductionRemoteControlCar productionCar = new ProductionRemoteControlCar(); + final ExperimentalRemoteControlCar experimentalCar = new ExperimentalRemoteControlCar(); + + RemoteControlCarDemo.race((RemoteControlCar) productionCar); + RemoteControlCarDemo.race((RemoteControlCar) productionCar); + RemoteControlCarDemo.race((RemoteControlCar) experimentalCar); + RemoteControlCarDemo.race((RemoteControlCar) experimentalCar); + + assertThat(experimentalCar.getDistanceTravelled() - productionCar.getDistanceTravelled()).isEqualTo(20); + } + + @Test + void rankCars() { + + final ProductionRemoteControlCar prc1 = new ProductionRemoteControlCar(); + final ProductionRemoteControlCar prc2 = new ProductionRemoteControlCar(); + + prc1.setNumberOfVictories(3); + prc2.setNumberOfVictories(2); + + final List rankings = RemoteControlCarDemo.getRankedCars(prc1, prc2); + + assertThat(rankings.get(1)).isEqualTo(prc1); + } + + @Test + void ensureCarsAreComparables() { + assertThat(RemoteControlCar.class).isAssignableFrom(ProductionRemoteControlCar.class); + } +} From 3a89c2002052a97c1beb30a45a8d854ea638c12d Mon Sep 17 00:00:00 2001 From: Thought Code Date: Sat, 11 Feb 2023 19:58:15 +0530 Subject: [PATCH 61/77] GH-5: Rename the packages --- .circleci/config.yml | 2 +- LICENSE | 2 +- codingbat/pom.xml | 4 ++-- .../io/sampadadubey/java/codingbat/warmup1/Or35.java | 11 ----------- .../java/codingbat/warmup1/BackAround.java | 4 ++-- .../java/codingbat/warmup1/Close10.java | 4 ++-- .../java/codingbat/warmup1/DelDel.java | 4 ++-- .../java/codingbat/warmup1/Diff21.java | 4 ++-- .../java/codingbat/warmup1/EndUp.java | 4 ++-- .../java/codingbat/warmup1/EveryNth.java | 2 +- .../java/codingbat/warmup1/Front22.java | 4 ++-- .../java/codingbat/warmup1/Front3.java | 4 ++-- .../java/codingbat/warmup1/FrontBack.java | 4 ++-- .../java/codingbat/warmup1/HasTeen.java | 6 +++--- .../java/codingbat/warmup1/IcyHot.java | 6 +++--- .../java/codingbat/warmup1/In1020.java | 6 +++--- .../java/codingbat/warmup1/In3050.java | 4 ++-- .../java/codingbat/warmup1/IntMax.java | 2 +- .../java/codingbat/warmup1/LastDigit.java | 4 ++-- .../java/codingbat/warmup1/LoneTeen.java | 6 +++--- .../java/codingbat/warmup1/Makes10.java | 4 ++-- .../java/codingbat/warmup1/Max1020.java | 6 +++--- .../java/codingbat/warmup1/MissingChar.java | 2 +- .../java/codingbat/warmup1/MixStart.java | 6 +++--- .../java/codingbat/warmup1/MonkeyTrouble.java | 2 +- .../java/codingbat/warmup1/NearHundred.java | 6 +++--- .../java/codingbat/warmup1/NotString.java | 2 +- .../io/thoughtcode/java/codingbat/warmup1/Or35.java | 11 +++++++++++ .../java/codingbat/warmup1/ParrotTrouble.java | 6 +++--- .../java/codingbat/warmup1/PosNeg.java | 2 +- .../java/codingbat/warmup1/SleepIn.java | 2 +- .../java/codingbat/warmup1/StartHi.java | 2 +- .../java/codingbat/warmup1/StartOz.java | 8 ++++---- .../java/codingbat/warmup1/StringE.java | 6 +++--- .../java/codingbat/warmup1/SumDouble.java | 2 +- .../java/codingbat/warmup2/AltPairs.java | 6 +++--- .../java/codingbat/warmup2/Array123.java | 2 +- .../java/codingbat/warmup2/Array667.java | 2 +- .../java/codingbat/warmup2/ArrayCount9.java | 4 ++-- .../java/codingbat/warmup2/ArrayFront9.java | 6 +++--- .../java/codingbat/warmup2/CountXX.java | 4 ++-- .../java/codingbat/warmup2/DoubleX.java | 4 ++-- .../java/codingbat/warmup2/FrontTimes.java | 6 +++--- .../java/codingbat/warmup2/Has271.java | 6 +++--- .../java/codingbat/warmup2/Last2.java | 6 +++--- .../java/codingbat/warmup2/NoTriples.java | 4 ++-- .../java/codingbat/warmup2/StringBits.java | 4 ++-- .../java/codingbat/warmup2/StringMatch.java | 4 ++-- .../java/codingbat/warmup2/StringSplosion.java | 4 ++-- .../java/codingbat/warmup2/StringTimes.java | 2 +- .../java/codingbat/warmup2/StringX.java | 6 +++--- .../java/codingbat/warmup2/StringYak.java | 6 +++--- .../java/codingbat/warmup1/BackAroundTest.java | 2 +- .../java/codingbat/warmup1/Close10Test.java | 2 +- .../java/codingbat/warmup1/DelDelTest.java | 2 +- .../java/codingbat/warmup1/Diff21Test.java | 2 +- .../java/codingbat/warmup1/EndUpTest.java | 2 +- .../java/codingbat/warmup1/EveryNthTest.java | 2 +- .../java/codingbat/warmup1/Front22Test.java | 2 +- .../java/codingbat/warmup1/Front3Test.java | 2 +- .../java/codingbat/warmup1/FrontBackTest.java | 2 +- .../java/codingbat/warmup1/HasTeenTest.java | 2 +- .../java/codingbat/warmup1/IcyHotTest.java | 2 +- .../java/codingbat/warmup1/In1020Test.java | 2 +- .../java/codingbat/warmup1/In3050Test.java | 2 +- .../java/codingbat/warmup1/IntMaxTest.java | 2 +- .../java/codingbat/warmup1/LastDigitTest.java | 2 +- .../java/codingbat/warmup1/LoneTeenTest.java | 2 +- .../java/codingbat/warmup1/Makes10Test.java | 2 +- .../java/codingbat/warmup1/Max1020Test.java | 2 +- .../java/codingbat/warmup1/MissingCharTest.java | 2 +- .../java/codingbat/warmup1/MixStartTest.java | 2 +- .../java/codingbat/warmup1/MonkeyTroubleTest.java | 2 +- .../java/codingbat/warmup1/NearHundredTest.java | 2 +- .../java/codingbat/warmup1/NotStringTest.java | 2 +- .../java/codingbat/warmup1/Or35Test.java | 2 +- .../java/codingbat/warmup1/ParrotTroubleTest.java | 2 +- .../java/codingbat/warmup1/PosNegTest.java | 2 +- .../java/codingbat/warmup1/SleepInTest.java | 2 +- .../java/codingbat/warmup1/StartHiTest.java | 2 +- .../java/codingbat/warmup1/StartOzTest.java | 2 +- .../java/codingbat/warmup1/StringETest.java | 2 +- .../java/codingbat/warmup1/SumDoubleTest.java | 2 +- .../java/codingbat/warmup2/AltPairsTest.java | 4 ++-- .../java/codingbat/warmup2/Array123Test.java | 2 +- .../java/codingbat/warmup2/Array667Test.java | 2 +- .../java/codingbat/warmup2/ArrayCount9Test.java | 2 +- .../java/codingbat/warmup2/ArrayFront9Test.java | 2 +- .../java/codingbat/warmup2/CountXxTest.java | 4 ++-- .../java/codingbat/warmup2/DoubleXTest.java | 4 ++-- .../java/codingbat/warmup2/FrontTimesTest.java | 4 ++-- .../java/codingbat/warmup2/Has271Test.java | 2 +- .../java/codingbat/warmup2/Last2Test.java | 2 +- .../java/codingbat/warmup2/NoTriplesTest.java | 2 +- .../java/codingbat/warmup2/StringBitsTest.java | 4 ++-- .../java/codingbat/warmup2/StringMatchTest.java | 6 +++--- .../java/codingbat/warmup2/StringSplosionTest.java | 4 ++-- .../java/codingbat/warmup2/StringTimesTest.java | 4 ++-- .../java/codingbat/warmup2/StringXTest.java | 4 ++-- .../java/codingbat/warmup2/StringYakTest.java | 4 ++-- common/pom.xml | 2 +- .../java/common/NumberConstants.java | 2 +- .../java/common/StringConstants.java | 2 +- .../java/common/NumberConstantsTest.java | 2 +- .../java/common/StringConstantsTest.java | 2 +- exercism/pom.xml | 4 ++-- .../java/exercism/Acronym.java | 2 +- .../java/exercism/Anagram.java | 2 +- .../java/exercism/AnnalynsInfiltration.java | 2 +- .../java/exercism/ArmstrongNumbers.java | 2 +- .../java/exercism/BirdWatcher.java | 2 +- .../java/exercism/BlackJack.java | 2 +- .../java/exercism/CarsAssemble.java | 2 +- .../java/exercism/Darts.java | 2 +- .../java/exercism/DifferenceOfSquaresCalculator.java | 2 +- .../java/exercism/DnDCharacter.java | 2 +- .../java/exercism/ElonsToyCar.java | 2 +- .../java/exercism/FlattenList.java | 2 +- .../java/exercism/FootballMatchReports.java | 2 +- .../java/exercism/Gigasecond.java | 2 +- .../java/exercism/Grains.java | 2 +- .../java/exercism/Greeter.java | 2 +- .../java/exercism/Hamming.java | 2 +- .../java/exercism/IsogramChecker.java | 2 +- .../java/exercism/LanguageList.java | 2 +- .../java/exercism/Lasagna.java | 2 +- .../java/exercism/LeapYear.java | 2 +- .../java/exercism/LogLevels.java | 2 +- .../java/exercism/Matrix.java | 2 +- .../java/exercism/NaturalNumber.java | 2 +- .../java/exercism/NeedForSpeed.java | 2 +- .../java/exercism/PangramChecker.java | 2 +- .../java/exercism/Proverb.java | 2 +- .../java/exercism/RaindropConverter.java | 2 +- .../java/exercism/RemoteControlCarDemo.java | 2 +- .../java/exercism/ResistorColor.java | 2 +- .../java/exercism/ResistorColorCode.java | 2 +- .../java/exercism/ResistorColorDuo.java | 2 +- .../java/exercism/ReverseString.java | 2 +- .../java/exercism/RnaTranscription.java | 2 +- .../java/exercism/RotationalCipher.java | 2 +- .../java/exercism/SaddlePoint.java | 2 +- .../java/exercism/SalaryCalculator.java | 2 +- .../java/exercism/Say.java | 2 +- .../java/exercism/ScrabbleScore.java | 2 +- .../java/exercism/SpaceAge.java | 2 +- .../java/exercism/SqueakyClean.java | 2 +- .../java/exercism/Triangle.java | 2 +- .../java/exercism/TwelveDays.java | 2 +- .../java/exercism/TwoFer.java | 2 +- .../java/exercism/AcronymTest.java | 2 +- .../java/exercism/AnagramTest.java | 2 +- .../java/exercism/AnnalynsInfiltrationTest.java | 2 +- .../java/exercism/ArmstrongNumbersTest.java | 2 +- .../java/exercism/BirdWatcherTest.java | 2 +- .../java/exercism/BlackJackTest.java | 2 +- .../java/exercism/CarsAssembleTest.java | 2 +- .../java/exercism/DartsTest.java | 2 +- .../exercism/DifferenceOfSquaresCalculatorTest.java | 2 +- .../java/exercism/DnDCharacterTest.java | 2 +- .../java/exercism/ElonsToyCarTest.java | 2 +- .../java/exercism/FlattenListTest.java | 2 +- .../java/exercism/FootballMatchReportsTest.java | 2 +- .../java/exercism/GigasecondTest.java | 2 +- .../java/exercism/GrainsTest.java | 2 +- .../java/exercism/GreeterTest.java | 2 +- .../java/exercism/HammingTest.java | 2 +- .../java/exercism/IsogramCheckerTest.java | 2 +- .../java/exercism/LanguageListTest.java | 2 +- .../java/exercism/LasagnaTest.java | 4 ++-- .../java/exercism/LeapYearTest.java | 2 +- .../java/exercism/LogLevelsTest.java | 2 +- .../java/exercism/MatrixTest.java | 2 +- .../java/exercism/NaturalNumberTest.java | 2 +- .../java/exercism/NeedForSpeedTest.java | 2 +- .../java/exercism/PangramCheckerTest.java | 2 +- .../java/exercism/ProverbTest.java | 2 +- .../java/exercism/RaindropConverterTest.java | 8 ++++---- .../java/exercism/RemoteControlCarDemoTest.java | 2 +- .../java/exercism/ResistorColorDuoTest.java | 2 +- .../java/exercism/ResistorColorTest.java | 2 +- .../java/exercism/ReverseStringTest.java | 2 +- .../java/exercism/RnaTranscriptionTest.java | 2 +- .../java/exercism/RotationalCipherTest.java | 2 +- .../java/exercism/SaddlePointTest.java | 2 +- .../java/exercism/SalaryCalculatorTest.java | 2 +- .../java/exercism/SayTest.java | 2 +- .../java/exercism/ScrabbleScoreTest.java | 2 +- .../java/exercism/SpaceAgeTest.java | 2 +- .../java/exercism/SqueakyCleanTest.java | 2 +- .../java/exercism/TriangleTest.java | 2 +- .../java/exercism/TwelveDaysTest.java | 2 +- .../java/exercism/TwoFerTest.java | 2 +- .../java/exercism/utils/Lasagna.java | 4 ++-- .../java/exercism/utils/ReflectionProxy.java | 2 +- hackerrank/pom.xml | 4 ++-- .../java/hackerrank/intro/Java01WelcomeToJava.java | 2 +- .../java/hackerrank/intro/Java02StdinStdout.java | 2 +- .../java/hackerrank/intro/Java03IfElse.java | 12 ++++++------ .../java/hackerrank/intro/Java04StdinStdout2.java | 2 +- .../hackerrank/intro/Java05OutputFormatting.java | 4 ++-- .../java/hackerrank/intro/Java06Loops1.java | 4 ++-- .../java/hackerrank/intro/Java07Loops2.java | 4 ++-- .../java/hackerrank/intro/Java08DataTypes.java | 2 +- .../java/hackerrank/intro/Java09EndOfFile.java | 2 +- .../intro/Java10StaticInitializerBlockUtils.java | 2 +- .../java/hackerrank/intro/Java11IntToString.java | 2 +- .../java/hackerrank/intro/Java12DateAndTime.java | 2 +- .../hackerrank/intro/Java13CurrencyFormatter.java | 2 +- .../hackerrank/intro/Java01WelcomeToJavaTest.java | 2 +- .../java/hackerrank/intro/Java02StdinStdoutTest.java | 2 +- .../java/hackerrank/intro/Java03IfElseTest.java | 6 +++--- .../hackerrank/intro/Java04StdinStdout2Test.java | 2 +- .../hackerrank/intro/Java05OutputFormattingTest.java | 2 +- .../java/hackerrank/intro/Java06Loops1Test.java | 4 ++-- .../java/hackerrank/intro/Java07Loops2Test.java | 2 +- .../java/hackerrank/intro/Java08DataTypesTest.java | 2 +- .../java/hackerrank/intro/Java09EndOfFileTest.java | 2 +- .../intro/Java10StaticInitializerBlockUtilsTest.java | 2 +- .../java/hackerrank/intro/Java11IntToStringTest.java | 2 +- .../java/hackerrank/intro/Java12DateAndTimeTest.java | 2 +- .../intro/Java13CurrencyFormatterTest.java | 2 +- jacoco-report/pom.xml | 10 +++++----- pom.xml | 7 +------ quality/checkstyle.xml | 2 +- 225 files changed, 321 insertions(+), 326 deletions(-) delete mode 100644 codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Or35.java rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/BackAround.java (76%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/Close10.java (78%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/DelDel.java (76%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/Diff21.java (74%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/EndUp.java (77%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/EveryNth.java (92%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/Front22.java (75%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/Front3.java (71%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/FrontBack.java (76%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/HasTeen.java (61%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/IcyHot.java (60%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/In1020.java (64%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/In3050.java (86%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/IntMax.java (84%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/LastDigit.java (70%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/LoneTeen.java (58%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/Makes10.java (61%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/Max1020.java (71%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/MissingChar.java (80%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/MixStart.java (55%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/MonkeyTrouble.java (79%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/NearHundred.java (56%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/NotString.java (84%) create mode 100644 codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Or35.java rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/ParrotTrouble.java (60%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/PosNeg.java (88%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/SleepIn.java (76%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/StartHi.java (71%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/StartOz.java (70%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/StringE.java (66%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/SumDouble.java (85%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/AltPairs.java (84%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/Array123.java (89%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/Array667.java (93%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/ArrayCount9.java (72%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/ArrayFront9.java (74%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/CountXX.java (84%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/DoubleX.java (82%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/FrontTimes.java (75%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/Has271.java (77%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/Last2.java (79%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/NoTriples.java (85%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/StringBits.java (78%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/StringMatch.java (86%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/StringSplosion.java (78%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/StringTimes.java (86%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/StringX.java (82%) rename codingbat/src/main/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/StringYak.java (66%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/BackAroundTest.java (95%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/Close10Test.java (95%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/DelDelTest.java (95%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/Diff21Test.java (95%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/EndUpTest.java (95%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/EveryNthTest.java (96%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/Front22Test.java (96%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/Front3Test.java (96%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/FrontBackTest.java (95%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/HasTeenTest.java (99%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/IcyHotTest.java (99%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/In1020Test.java (98%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/In3050Test.java (99%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/IntMaxTest.java (98%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/LastDigitTest.java (94%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/LoneTeenTest.java (99%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/Makes10Test.java (96%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/Max1020Test.java (99%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/MissingCharTest.java (96%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/MixStartTest.java (95%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/MonkeyTroubleTest.java (97%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/NearHundredTest.java (98%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/NotStringTest.java (94%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/Or35Test.java (96%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/ParrotTroubleTest.java (98%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/PosNegTest.java (98%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/SleepInTest.java (97%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/StartHiTest.java (94%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/StartOzTest.java (97%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/StringETest.java (97%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup1/SumDoubleTest.java (95%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/AltPairsTest.java (94%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/Array123Test.java (98%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/Array667Test.java (99%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/ArrayCount9Test.java (97%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/ArrayFront9Test.java (99%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/CountXxTest.java (94%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/DoubleXTest.java (96%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/FrontTimesTest.java (94%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/Has271Test.java (97%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/Last2Test.java (97%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/NoTriplesTest.java (97%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/StringBitsTest.java (92%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/StringMatchTest.java (94%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/StringSplosionTest.java (92%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/StringTimesTest.java (92%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/StringXTest.java (97%) rename codingbat/src/test/java/io/{sampadadubey => thoughtcode}/java/codingbat/warmup2/StringYakTest.java (96%) rename common/src/main/java/io/{sampadadubey => thoughtcode}/java/common/NumberConstants.java (95%) rename common/src/main/java/io/{sampadadubey => thoughtcode}/java/common/StringConstants.java (76%) rename common/src/test/java/io/{sampadadubey => thoughtcode}/java/common/NumberConstantsTest.java (97%) rename common/src/test/java/io/{sampadadubey => thoughtcode}/java/common/StringConstantsTest.java (93%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/Acronym.java (93%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/Anagram.java (97%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/AnnalynsInfiltration.java (95%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/ArmstrongNumbers.java (93%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/BirdWatcher.java (98%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/BlackJack.java (98%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/CarsAssemble.java (96%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/Darts.java (92%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/DifferenceOfSquaresCalculator.java (93%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/DnDCharacter.java (98%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/ElonsToyCar.java (95%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/FlattenList.java (94%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/FootballMatchReports.java (97%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/Gigasecond.java (92%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/Grains.java (96%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/Greeter.java (68%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/Hamming.java (96%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/IsogramChecker.java (95%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/LanguageList.java (96%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/Lasagna.java (92%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/LeapYear.java (87%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/LogLevels.java (96%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/Matrix.java (97%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/NaturalNumber.java (97%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/NeedForSpeed.java (97%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/PangramChecker.java (92%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/Proverb.java (93%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/RaindropConverter.java (94%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/RemoteControlCarDemo.java (97%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/ResistorColor.java (85%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/ResistorColorCode.java (96%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/ResistorColorDuo.java (91%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/ReverseString.java (91%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/RnaTranscription.java (94%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/RotationalCipher.java (97%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/SaddlePoint.java (98%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/SalaryCalculator.java (95%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/Say.java (99%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/ScrabbleScore.java (98%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/SpaceAge.java (97%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/SqueakyClean.java (97%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/Triangle.java (96%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/TwelveDays.java (98%) rename exercism/src/main/java/io/{sampadadubey => thoughtcode}/java/exercism/TwoFer.java (89%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/AcronymTest.java (97%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/AnagramTest.java (99%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/AnnalynsInfiltrationTest.java (99%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/ArmstrongNumbersTest.java (97%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/BirdWatcherTest.java (98%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/BlackJackTest.java (99%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/CarsAssembleTest.java (98%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/DartsTest.java (98%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/DifferenceOfSquaresCalculatorTest.java (98%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/DnDCharacterTest.java (98%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/ElonsToyCarTest.java (98%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/FlattenListTest.java (98%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/FootballMatchReportsTest.java (97%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/GigasecondTest.java (97%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/GrainsTest.java (98%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/GreeterTest.java (87%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/HammingTest.java (98%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/IsogramCheckerTest.java (98%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/LanguageListTest.java (98%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/LasagnaTest.java (97%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/LeapYearTest.java (97%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/LogLevelsTest.java (97%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/MatrixTest.java (98%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/NaturalNumberTest.java (98%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/NeedForSpeedTest.java (99%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/PangramCheckerTest.java (98%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/ProverbTest.java (98%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/RaindropConverterTest.java (91%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/RemoteControlCarDemoTest.java (97%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/ResistorColorDuoTest.java (97%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/ResistorColorTest.java (95%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/ReverseStringTest.java (96%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/RnaTranscriptionTest.java (96%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/RotationalCipherTest.java (98%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/SaddlePointTest.java (99%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/SalaryCalculatorTest.java (97%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/SayTest.java (98%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/ScrabbleScoreTest.java (98%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/SpaceAgeTest.java (97%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/SqueakyCleanTest.java (97%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/TriangleTest.java (99%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/TwelveDaysTest.java (99%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/TwoFerTest.java (94%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/utils/Lasagna.java (93%) rename exercism/src/test/java/io/{sampadadubey => thoughtcode}/java/exercism/utils/ReflectionProxy.java (99%) rename hackerrank/src/main/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java01WelcomeToJava.java (77%) rename hackerrank/src/main/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java02StdinStdout.java (90%) rename hackerrank/src/main/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java03IfElse.java (69%) rename hackerrank/src/main/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java04StdinStdout2.java (92%) rename hackerrank/src/main/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java05OutputFormatting.java (84%) rename hackerrank/src/main/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java06Loops1.java (66%) rename hackerrank/src/main/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java07Loops2.java (90%) rename hackerrank/src/main/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java08DataTypes.java (96%) rename hackerrank/src/main/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java09EndOfFile.java (90%) rename hackerrank/src/main/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java10StaticInitializerBlockUtils.java (94%) rename hackerrank/src/main/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java11IntToString.java (93%) rename hackerrank/src/main/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java12DateAndTime.java (92%) rename hackerrank/src/main/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java13CurrencyFormatter.java (94%) rename hackerrank/src/test/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java01WelcomeToJavaTest.java (94%) rename hackerrank/src/test/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java02StdinStdoutTest.java (96%) rename hackerrank/src/test/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java03IfElseTest.java (93%) rename hackerrank/src/test/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java04StdinStdout2Test.java (96%) rename hackerrank/src/test/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java05OutputFormattingTest.java (96%) rename hackerrank/src/test/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java06Loops1Test.java (90%) rename hackerrank/src/test/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java07Loops2Test.java (95%) rename hackerrank/src/test/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java08DataTypesTest.java (98%) rename hackerrank/src/test/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java09EndOfFileTest.java (94%) rename hackerrank/src/test/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java10StaticInitializerBlockUtilsTest.java (94%) rename hackerrank/src/test/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java11IntToStringTest.java (96%) rename hackerrank/src/test/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java12DateAndTimeTest.java (89%) rename hackerrank/src/test/java/io/{sampadadubey => thoughtcode}/java/hackerrank/intro/Java13CurrencyFormatterTest.java (94%) diff --git a/.circleci/config.yml b/.circleci/config.yml index 2254b6f..053f452 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -28,7 +28,7 @@ jobs: export COVERAGE_FILE="jacoco-report/target/site/jacoco-aggregate/jacoco.xml" export CODACY_PROJECT_NAME="$PROJECT_NAME" - export SONAR_ARGS=" -Dsonar.projectKey=sampada-dubey_${PROJECT_NAME}" + export SONAR_ARGS=" -Dsonar.projectKey=${PROJECT_NAME}" export SONAR_ARGS="$SONAR_ARGS -Dsonar.organization=$ENV_SONAR_ORGANIZATION" export SONAR_ARGS="$SONAR_ARGS -Dsonar.host.url=https://sonarcloud.io" export SONAR_ARGS="$SONAR_ARGS -Dsonar.coverage.jacoco.xmlReportPaths=$COVERAGE_FILE" diff --git a/LICENSE b/LICENSE index 449a9de..66da379 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2022 Sampada Dubey +Copyright (c) 2022 Thought Code Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/codingbat/pom.xml b/codingbat/pom.xml index a5527e5..b3506e9 100644 --- a/codingbat/pom.xml +++ b/codingbat/pom.xml @@ -4,7 +4,7 @@ 4.0.0 - io.sampadadubey.java + io.thoughtcode.java parent 1.0 .. @@ -16,7 +16,7 @@ - io.sampadadubey.java + io.thoughtcode.java common ${project.version} diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Or35.java b/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Or35.java deleted file mode 100644 index c770e07..0000000 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Or35.java +++ /dev/null @@ -1,11 +0,0 @@ -package io.sampadadubey.java.codingbat.warmup1; - -import static io.sampadadubey.java.common.NumberConstants.FIVE; -import static io.sampadadubey.java.common.NumberConstants.THREE; - -public class Or35 { - - public final boolean or35(final int number) { - return number % THREE == 0 || number % FIVE == 0; - } -} diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/BackAround.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/BackAround.java similarity index 76% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/BackAround.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/BackAround.java index 326ada8..85dacdd 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/BackAround.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/BackAround.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; -import static io.sampadadubey.java.common.NumberConstants.ONE; +import static io.thoughtcode.java.common.NumberConstants.ONE; public class BackAround { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Close10.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Close10.java similarity index 78% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Close10.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Close10.java index 1b66e42..7cc0b5e 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Close10.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Close10.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; -import static io.sampadadubey.java.common.NumberConstants.TEN; +import static io.thoughtcode.java.common.NumberConstants.TEN; public class Close10 { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/DelDel.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/DelDel.java similarity index 76% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/DelDel.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/DelDel.java index 7b3936e..7bd9824 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/DelDel.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/DelDel.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; -import static io.sampadadubey.java.common.NumberConstants.FOUR; +import static io.thoughtcode.java.common.NumberConstants.FOUR; public class DelDel { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Diff21.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Diff21.java similarity index 74% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Diff21.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Diff21.java index 23f0c1a..95c78aa 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Diff21.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Diff21.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; -import static io.sampadadubey.java.common.NumberConstants.TWO; +import static io.thoughtcode.java.common.NumberConstants.TWO; public class Diff21 { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/EndUp.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/EndUp.java similarity index 77% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/EndUp.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/EndUp.java index 44105d9..b1f587b 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/EndUp.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/EndUp.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; -import static io.sampadadubey.java.common.NumberConstants.THREE; +import static io.thoughtcode.java.common.NumberConstants.THREE; import static java.util.Locale.ROOT; public class EndUp { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/EveryNth.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/EveryNth.java similarity index 92% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/EveryNth.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/EveryNth.java index a3c277c..5ad1eb4 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/EveryNth.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/EveryNth.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; public class EveryNth { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Front22.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Front22.java similarity index 75% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Front22.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Front22.java index 69b4597..5cd7e81 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Front22.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Front22.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; -import static io.sampadadubey.java.common.NumberConstants.TWO; +import static io.thoughtcode.java.common.NumberConstants.TWO; public class Front22 { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Front3.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Front3.java similarity index 71% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Front3.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Front3.java index e2d4d21..7ea2f65 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Front3.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Front3.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; -import static io.sampadadubey.java.common.NumberConstants.THREE; +import static io.thoughtcode.java.common.NumberConstants.THREE; public class Front3 { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/FrontBack.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/FrontBack.java similarity index 76% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/FrontBack.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/FrontBack.java index 554664e..89ffbfb 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/FrontBack.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/FrontBack.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; -import static io.sampadadubey.java.common.NumberConstants.ONE; +import static io.thoughtcode.java.common.NumberConstants.ONE; public class FrontBack { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/HasTeen.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/HasTeen.java similarity index 61% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/HasTeen.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/HasTeen.java index cac253a..a1a068b 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/HasTeen.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/HasTeen.java @@ -1,7 +1,7 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; -import static io.sampadadubey.java.common.NumberConstants.TEEN_END; -import static io.sampadadubey.java.common.NumberConstants.TEEN_START; +import static io.thoughtcode.java.common.NumberConstants.TEEN_END; +import static io.thoughtcode.java.common.NumberConstants.TEEN_START; public class HasTeen { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/IcyHot.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/IcyHot.java similarity index 60% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/IcyHot.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/IcyHot.java index 5036724..1d9b500 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/IcyHot.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/IcyHot.java @@ -1,7 +1,7 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; -import static io.sampadadubey.java.common.NumberConstants.HUNDRED; -import static io.sampadadubey.java.common.NumberConstants.ZERO; +import static io.thoughtcode.java.common.NumberConstants.HUNDRED; +import static io.thoughtcode.java.common.NumberConstants.ZERO; public class IcyHot { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/In1020.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/In1020.java similarity index 64% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/In1020.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/In1020.java index 7be1322..17387e4 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/In1020.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/In1020.java @@ -1,7 +1,7 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; -import static io.sampadadubey.java.common.NumberConstants.TEN; -import static io.sampadadubey.java.common.NumberConstants.TWENTY; +import static io.thoughtcode.java.common.NumberConstants.TEN; +import static io.thoughtcode.java.common.NumberConstants.TWENTY; public class In1020 { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/In3050.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/In3050.java similarity index 86% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/In3050.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/In3050.java index de1aecc..e09b5d8 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/In3050.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/In3050.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; -import io.sampadadubey.java.common.NumberConstants; +import io.thoughtcode.java.common.NumberConstants; public class In3050 { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/IntMax.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/IntMax.java similarity index 84% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/IntMax.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/IntMax.java index 21fd888..cd86752 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/IntMax.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/IntMax.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; public class IntMax { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/LastDigit.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/LastDigit.java similarity index 70% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/LastDigit.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/LastDigit.java index 96dd4ba..eed98b9 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/LastDigit.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/LastDigit.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; -import static io.sampadadubey.java.common.NumberConstants.TEN; +import static io.thoughtcode.java.common.NumberConstants.TEN; public class LastDigit { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/LoneTeen.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/LoneTeen.java similarity index 58% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/LoneTeen.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/LoneTeen.java index a5f8ae8..86317f1 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/LoneTeen.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/LoneTeen.java @@ -1,7 +1,7 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; -import static io.sampadadubey.java.common.NumberConstants.TEEN_END; -import static io.sampadadubey.java.common.NumberConstants.TEEN_START; +import static io.thoughtcode.java.common.NumberConstants.TEEN_END; +import static io.thoughtcode.java.common.NumberConstants.TEEN_START; public class LoneTeen { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Makes10.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Makes10.java similarity index 61% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Makes10.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Makes10.java index d6d3499..adc9fa7 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Makes10.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Makes10.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; -import static io.sampadadubey.java.common.NumberConstants.TEN; +import static io.thoughtcode.java.common.NumberConstants.TEN; public class Makes10 { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Max1020.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Max1020.java similarity index 71% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Max1020.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Max1020.java index 4217ac5..bd791d3 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/Max1020.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Max1020.java @@ -1,7 +1,7 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; -import static io.sampadadubey.java.common.NumberConstants.TEN; -import static io.sampadadubey.java.common.NumberConstants.TWENTY; +import static io.thoughtcode.java.common.NumberConstants.TEN; +import static io.thoughtcode.java.common.NumberConstants.TWENTY; public class Max1020 { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/MissingChar.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/MissingChar.java similarity index 80% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/MissingChar.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/MissingChar.java index e4a2301..f12e0ba 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/MissingChar.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/MissingChar.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; public class MissingChar { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/MixStart.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/MixStart.java similarity index 55% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/MixStart.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/MixStart.java index e0780e7..be833ee 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/MixStart.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/MixStart.java @@ -1,7 +1,7 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; -import static io.sampadadubey.java.common.NumberConstants.ONE; -import static io.sampadadubey.java.common.NumberConstants.THREE; +import static io.thoughtcode.java.common.NumberConstants.ONE; +import static io.thoughtcode.java.common.NumberConstants.THREE; public class MixStart { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/MonkeyTrouble.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/MonkeyTrouble.java similarity index 79% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/MonkeyTrouble.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/MonkeyTrouble.java index 3a2b01e..d6c65ea 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/MonkeyTrouble.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/MonkeyTrouble.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; public class MonkeyTrouble { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/NearHundred.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/NearHundred.java similarity index 56% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/NearHundred.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/NearHundred.java index 6fe3d1e..96d84c9 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/NearHundred.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/NearHundred.java @@ -1,7 +1,7 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; -import static io.sampadadubey.java.common.NumberConstants.HUNDRED; -import static io.sampadadubey.java.common.NumberConstants.TEN; +import static io.thoughtcode.java.common.NumberConstants.HUNDRED; +import static io.thoughtcode.java.common.NumberConstants.TEN; public class NearHundred { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/NotString.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/NotString.java similarity index 84% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/NotString.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/NotString.java index 8167f5b..9ff9e8b 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/NotString.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/NotString.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; public class NotString { diff --git a/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Or35.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Or35.java new file mode 100644 index 0000000..651a6a4 --- /dev/null +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/Or35.java @@ -0,0 +1,11 @@ +package io.thoughtcode.java.codingbat.warmup1; + +import static io.thoughtcode.java.common.NumberConstants.FIVE; +import static io.thoughtcode.java.common.NumberConstants.THREE; + +public class Or35 { + + public final boolean or35(final int number) { + return number % THREE == 0 || number % FIVE == 0; + } +} diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/ParrotTrouble.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/ParrotTrouble.java similarity index 60% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/ParrotTrouble.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/ParrotTrouble.java index 2d79b3c..2b4e5b4 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/ParrotTrouble.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/ParrotTrouble.java @@ -1,7 +1,7 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; -import static io.sampadadubey.java.common.NumberConstants.SEVEN; -import static io.sampadadubey.java.common.NumberConstants.TWENTY; +import static io.thoughtcode.java.common.NumberConstants.SEVEN; +import static io.thoughtcode.java.common.NumberConstants.TWENTY; public class ParrotTrouble { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/PosNeg.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/PosNeg.java similarity index 88% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/PosNeg.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/PosNeg.java index e1d85d7..35db349 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/PosNeg.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/PosNeg.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; public class PosNeg { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/SleepIn.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/SleepIn.java similarity index 76% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/SleepIn.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/SleepIn.java index b3df88d..fddc8de 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/SleepIn.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/SleepIn.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; public class SleepIn { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/StartHi.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/StartHi.java similarity index 71% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/StartHi.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/StartHi.java index b509e83..58bf654 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/StartHi.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/StartHi.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; public class StartHi { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/StartOz.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/StartOz.java similarity index 70% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/StartOz.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/StartOz.java index 9079056..940a341 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/StartOz.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/StartOz.java @@ -1,8 +1,8 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; -import static io.sampadadubey.java.common.NumberConstants.ONE; -import static io.sampadadubey.java.common.NumberConstants.TWO; -import static io.sampadadubey.java.common.NumberConstants.ZERO; +import static io.thoughtcode.java.common.NumberConstants.ONE; +import static io.thoughtcode.java.common.NumberConstants.TWO; +import static io.thoughtcode.java.common.NumberConstants.ZERO; public class StartOz { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/StringE.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/StringE.java similarity index 66% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/StringE.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/StringE.java index 9a5484e..8527a02 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/StringE.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/StringE.java @@ -1,7 +1,7 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; -import static io.sampadadubey.java.common.NumberConstants.ONE; -import static io.sampadadubey.java.common.NumberConstants.THREE; +import static io.thoughtcode.java.common.NumberConstants.ONE; +import static io.thoughtcode.java.common.NumberConstants.THREE; public class StringE { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/SumDouble.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/SumDouble.java similarity index 85% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/SumDouble.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/SumDouble.java index ba770ee..d0cc40b 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup1/SumDouble.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup1/SumDouble.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; public class SumDouble { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/AltPairs.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/AltPairs.java similarity index 84% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/AltPairs.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/AltPairs.java index b431461..08fa57b 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/AltPairs.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/AltPairs.java @@ -1,7 +1,7 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.NumberConstants.TWO; -import static io.sampadadubey.java.common.StringConstants.EMPTY; +import static io.thoughtcode.java.common.NumberConstants.TWO; +import static io.thoughtcode.java.common.StringConstants.EMPTY; import java.util.Optional; diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/Array123.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/Array123.java similarity index 89% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/Array123.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/Array123.java index 0927fd0..f8ce8c3 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/Array123.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/Array123.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; import java.util.Arrays; import java.util.Optional; diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/Array667.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/Array667.java similarity index 93% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/Array667.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/Array667.java index d9ce00f..0a4e7dd 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/Array667.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/Array667.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; import java.util.Arrays; import java.util.Optional; diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/ArrayCount9.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/ArrayCount9.java similarity index 72% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/ArrayCount9.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/ArrayCount9.java index f13770b..57d64e1 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/ArrayCount9.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/ArrayCount9.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.NumberConstants.NINE; +import static io.thoughtcode.java.common.NumberConstants.NINE; import java.util.Arrays; import java.util.Optional; diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/ArrayFront9.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/ArrayFront9.java similarity index 74% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/ArrayFront9.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/ArrayFront9.java index b40bd60..ba5c5a3 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/ArrayFront9.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/ArrayFront9.java @@ -1,7 +1,7 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.NumberConstants.FOUR; -import static io.sampadadubey.java.common.NumberConstants.NINE; +import static io.thoughtcode.java.common.NumberConstants.FOUR; +import static io.thoughtcode.java.common.NumberConstants.NINE; import java.util.Optional; diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/CountXX.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/CountXX.java similarity index 84% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/CountXX.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/CountXX.java index e4c5599..3fb5591 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/CountXX.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/CountXX.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.StringConstants.EMPTY; +import static io.thoughtcode.java.common.StringConstants.EMPTY; import java.util.Optional; import java.util.regex.Matcher; diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/DoubleX.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/DoubleX.java similarity index 82% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/DoubleX.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/DoubleX.java index f5848a6..fb49ee3 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/DoubleX.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/DoubleX.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.StringConstants.EMPTY; +import static io.thoughtcode.java.common.StringConstants.EMPTY; import java.util.Optional; diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/FrontTimes.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/FrontTimes.java similarity index 75% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/FrontTimes.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/FrontTimes.java index 4625ca2..cf3b7dd 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/FrontTimes.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/FrontTimes.java @@ -1,7 +1,7 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.NumberConstants.THREE; -import static io.sampadadubey.java.common.StringConstants.EMPTY; +import static io.thoughtcode.java.common.NumberConstants.THREE; +import static io.thoughtcode.java.common.StringConstants.EMPTY; import java.util.Optional; diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/Has271.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/Has271.java similarity index 77% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/Has271.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/Has271.java index 67ac59a..2f632f8 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/Has271.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/Has271.java @@ -1,7 +1,7 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.NumberConstants.FIVE; -import static io.sampadadubey.java.common.NumberConstants.TWO; +import static io.thoughtcode.java.common.NumberConstants.FIVE; +import static io.thoughtcode.java.common.NumberConstants.TWO; import java.util.Optional; diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/Last2.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/Last2.java similarity index 79% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/Last2.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/Last2.java index 394e41c..d658d47 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/Last2.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/Last2.java @@ -1,7 +1,7 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.NumberConstants.TWO; -import static io.sampadadubey.java.common.StringConstants.EMPTY; +import static io.thoughtcode.java.common.NumberConstants.TWO; +import static io.thoughtcode.java.common.StringConstants.EMPTY; import java.util.Optional; diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/NoTriples.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/NoTriples.java similarity index 85% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/NoTriples.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/NoTriples.java index 1a4d30b..1d2cf63 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/NoTriples.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/NoTriples.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.NumberConstants.THREE; +import static io.thoughtcode.java.common.NumberConstants.THREE; public final class NoTriples { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringBits.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringBits.java similarity index 78% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringBits.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringBits.java index 1c22bcd..8901de8 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringBits.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringBits.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.StringConstants.EMPTY; +import static io.thoughtcode.java.common.StringConstants.EMPTY; import java.util.Optional; diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringMatch.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringMatch.java similarity index 86% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringMatch.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringMatch.java index 99d5a6f..6675d9d 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringMatch.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringMatch.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.StringConstants.EMPTY; +import static io.thoughtcode.java.common.StringConstants.EMPTY; import java.util.Optional; diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringSplosion.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringSplosion.java similarity index 78% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringSplosion.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringSplosion.java index 45109de..6d5195d 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringSplosion.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringSplosion.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.StringConstants.EMPTY; +import static io.thoughtcode.java.common.StringConstants.EMPTY; import java.util.Optional; diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringTimes.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringTimes.java similarity index 86% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringTimes.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringTimes.java index dca7343..d923f95 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringTimes.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringTimes.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; public final class StringTimes { diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringX.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringX.java similarity index 82% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringX.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringX.java index 5bd53cb..830c16f 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringX.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringX.java @@ -1,7 +1,7 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.NumberConstants.THREE; -import static io.sampadadubey.java.common.StringConstants.EMPTY; +import static io.thoughtcode.java.common.NumberConstants.THREE; +import static io.thoughtcode.java.common.StringConstants.EMPTY; import java.util.Optional; import java.util.stream.IntStream; diff --git a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringYak.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringYak.java similarity index 66% rename from codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringYak.java rename to codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringYak.java index e6dc142..0afdb3f 100644 --- a/codingbat/src/main/java/io/sampadadubey/java/codingbat/warmup2/StringYak.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringYak.java @@ -1,7 +1,7 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.NumberConstants.THREE; -import static io.sampadadubey.java.common.StringConstants.EMPTY; +import static io.thoughtcode.java.common.NumberConstants.THREE; +import static io.thoughtcode.java.common.StringConstants.EMPTY; import java.util.Optional; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/BackAroundTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/BackAroundTest.java similarity index 95% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/BackAroundTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/BackAroundTest.java index 2889530..3971ab9 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/BackAroundTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/BackAroundTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Close10Test.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/Close10Test.java similarity index 95% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Close10Test.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/Close10Test.java index d4c49bb..4888868 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Close10Test.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/Close10Test.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/DelDelTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/DelDelTest.java similarity index 95% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/DelDelTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/DelDelTest.java index 8f97380..9fa9e0d 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/DelDelTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/DelDelTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Diff21Test.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/Diff21Test.java similarity index 95% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Diff21Test.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/Diff21Test.java index c05326f..b67f8db 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Diff21Test.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/Diff21Test.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/EndUpTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/EndUpTest.java similarity index 95% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/EndUpTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/EndUpTest.java index f3327cd..6f69572 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/EndUpTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/EndUpTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/EveryNthTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/EveryNthTest.java similarity index 96% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/EveryNthTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/EveryNthTest.java index 86479d0..b9ce0b9 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/EveryNthTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/EveryNthTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Front22Test.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/Front22Test.java similarity index 96% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Front22Test.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/Front22Test.java index 9a2cab9..c2539ee 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Front22Test.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/Front22Test.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Front3Test.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/Front3Test.java similarity index 96% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Front3Test.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/Front3Test.java index b174802..70246d6 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Front3Test.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/Front3Test.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/FrontBackTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/FrontBackTest.java similarity index 95% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/FrontBackTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/FrontBackTest.java index 65bd0fc..ec451da 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/FrontBackTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/FrontBackTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/HasTeenTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/HasTeenTest.java similarity index 99% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/HasTeenTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/HasTeenTest.java index 0cf048a..683cc17 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/HasTeenTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/HasTeenTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/IcyHotTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/IcyHotTest.java similarity index 99% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/IcyHotTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/IcyHotTest.java index abcb0e0..242902f 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/IcyHotTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/IcyHotTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/In1020Test.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/In1020Test.java similarity index 98% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/In1020Test.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/In1020Test.java index 073a554..0394fff 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/In1020Test.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/In1020Test.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/In3050Test.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/In3050Test.java similarity index 99% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/In3050Test.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/In3050Test.java index c2ff2a5..505eacf 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/In3050Test.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/In3050Test.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/IntMaxTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/IntMaxTest.java similarity index 98% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/IntMaxTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/IntMaxTest.java index 7c9157e..6b9c6f1 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/IntMaxTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/IntMaxTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/LastDigitTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/LastDigitTest.java similarity index 94% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/LastDigitTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/LastDigitTest.java index e9d3ef4..60091ac 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/LastDigitTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/LastDigitTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/LoneTeenTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/LoneTeenTest.java similarity index 99% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/LoneTeenTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/LoneTeenTest.java index f5350f6..055f379 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/LoneTeenTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/LoneTeenTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Makes10Test.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/Makes10Test.java similarity index 96% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Makes10Test.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/Makes10Test.java index 4c2191d..90c767c 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Makes10Test.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/Makes10Test.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Max1020Test.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/Max1020Test.java similarity index 99% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Max1020Test.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/Max1020Test.java index 63e8a2e..25ba46b 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Max1020Test.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/Max1020Test.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/MissingCharTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/MissingCharTest.java similarity index 96% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/MissingCharTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/MissingCharTest.java index a4140a9..f816c64 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/MissingCharTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/MissingCharTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/MixStartTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/MixStartTest.java similarity index 95% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/MixStartTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/MixStartTest.java index 675bc07..48a6ff4 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/MixStartTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/MixStartTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/MonkeyTroubleTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/MonkeyTroubleTest.java similarity index 97% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/MonkeyTroubleTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/MonkeyTroubleTest.java index 7c6814b..4c9b566 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/MonkeyTroubleTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/MonkeyTroubleTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/NearHundredTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/NearHundredTest.java similarity index 98% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/NearHundredTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/NearHundredTest.java index 061abc3..cb83936 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/NearHundredTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/NearHundredTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/NotStringTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/NotStringTest.java similarity index 94% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/NotStringTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/NotStringTest.java index c50ec04..47b30f0 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/NotStringTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/NotStringTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Or35Test.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/Or35Test.java similarity index 96% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Or35Test.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/Or35Test.java index 186d89a..5f4dc42 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/Or35Test.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/Or35Test.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/ParrotTroubleTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/ParrotTroubleTest.java similarity index 98% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/ParrotTroubleTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/ParrotTroubleTest.java index 2774b82..2e81918 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/ParrotTroubleTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/ParrotTroubleTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/PosNegTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/PosNegTest.java similarity index 98% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/PosNegTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/PosNegTest.java index 6c348c8..db94dc1 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/PosNegTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/PosNegTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/SleepInTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/SleepInTest.java similarity index 97% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/SleepInTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/SleepInTest.java index 81a8ab5..e0c9c15 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/SleepInTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/SleepInTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/StartHiTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/StartHiTest.java similarity index 94% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/StartHiTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/StartHiTest.java index 95c9be2..5102bcf 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/StartHiTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/StartHiTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/StartOzTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/StartOzTest.java similarity index 97% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/StartOzTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/StartOzTest.java index e1f68ed..2a91d68 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/StartOzTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/StartOzTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/StringETest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/StringETest.java similarity index 97% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/StringETest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/StringETest.java index c2c0181..4b1523e 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/StringETest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/StringETest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/SumDoubleTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/SumDoubleTest.java similarity index 95% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/SumDoubleTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/SumDoubleTest.java index c942e95..2aa7176 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup1/SumDoubleTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup1/SumDoubleTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup1; +package io.thoughtcode.java.codingbat.warmup1; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/AltPairsTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/AltPairsTest.java similarity index 94% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/AltPairsTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/AltPairsTest.java index c24b486..70d44bc 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/AltPairsTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/AltPairsTest.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.StringConstants.EMPTY; +import static io.thoughtcode.java.common.StringConstants.EMPTY; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.BeforeEach; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/Array123Test.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/Array123Test.java similarity index 98% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/Array123Test.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/Array123Test.java index 455104b..dfce5e1 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/Array123Test.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/Array123Test.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/Array667Test.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/Array667Test.java similarity index 99% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/Array667Test.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/Array667Test.java index ba08db5..f610ffb 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/Array667Test.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/Array667Test.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/ArrayCount9Test.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/ArrayCount9Test.java similarity index 97% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/ArrayCount9Test.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/ArrayCount9Test.java index d4fea21..2270f9b 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/ArrayCount9Test.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/ArrayCount9Test.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/ArrayFront9Test.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/ArrayFront9Test.java similarity index 99% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/ArrayFront9Test.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/ArrayFront9Test.java index 85d1a55..4beeb19 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/ArrayFront9Test.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/ArrayFront9Test.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/CountXxTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/CountXxTest.java similarity index 94% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/CountXxTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/CountXxTest.java index 97b3958..38421ab 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/CountXxTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/CountXxTest.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.StringConstants.EMPTY; +import static io.thoughtcode.java.common.StringConstants.EMPTY; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.BeforeEach; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/DoubleXTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/DoubleXTest.java similarity index 96% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/DoubleXTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/DoubleXTest.java index 8a8ca12..d8e2ec0 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/DoubleXTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/DoubleXTest.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.StringConstants.EMPTY; +import static io.thoughtcode.java.common.StringConstants.EMPTY; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.BeforeEach; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/FrontTimesTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/FrontTimesTest.java similarity index 94% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/FrontTimesTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/FrontTimesTest.java index ba7b53a..f3d9da1 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/FrontTimesTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/FrontTimesTest.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.StringConstants.EMPTY; +import static io.thoughtcode.java.common.StringConstants.EMPTY; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.BeforeEach; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/Has271Test.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/Has271Test.java similarity index 97% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/Has271Test.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/Has271Test.java index f224015..cb13344 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/Has271Test.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/Has271Test.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/Last2Test.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/Last2Test.java similarity index 97% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/Last2Test.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/Last2Test.java index fb1f7be..ecddbed 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/Last2Test.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/Last2Test.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/NoTriplesTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/NoTriplesTest.java similarity index 97% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/NoTriplesTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/NoTriplesTest.java index 53a7aac..778832a 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/NoTriplesTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/NoTriplesTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; import static org.assertj.core.api.Assertions.assertThat; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringBitsTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/StringBitsTest.java similarity index 92% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringBitsTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/StringBitsTest.java index 04cc880..d98abff 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringBitsTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/StringBitsTest.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.StringConstants.EMPTY; +import static io.thoughtcode.java.common.StringConstants.EMPTY; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.BeforeEach; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringMatchTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/StringMatchTest.java similarity index 94% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringMatchTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/StringMatchTest.java index 24ce6ed..f222633 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringMatchTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/StringMatchTest.java @@ -1,12 +1,12 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.StringConstants.EMPTY; +import static io.thoughtcode.java.common.StringConstants.EMPTY; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import io.sampadadubey.java.common.NumberConstants; +import io.thoughtcode.java.common.NumberConstants; class StringMatchTest { diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringSplosionTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/StringSplosionTest.java similarity index 92% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringSplosionTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/StringSplosionTest.java index d834812..43505dc 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringSplosionTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/StringSplosionTest.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.StringConstants.EMPTY; +import static io.thoughtcode.java.common.StringConstants.EMPTY; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.BeforeEach; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringTimesTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/StringTimesTest.java similarity index 92% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringTimesTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/StringTimesTest.java index 0e89c13..3b8abac 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringTimesTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/StringTimesTest.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.StringConstants.EMPTY; +import static io.thoughtcode.java.common.StringConstants.EMPTY; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.BeforeEach; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringXTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/StringXTest.java similarity index 97% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringXTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/StringXTest.java index dff8abb..b467569 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringXTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/StringXTest.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.StringConstants.EMPTY; +import static io.thoughtcode.java.common.StringConstants.EMPTY; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.BeforeEach; diff --git a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringYakTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/StringYakTest.java similarity index 96% rename from codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringYakTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/StringYakTest.java index 70abeeb..ba4d53a 100644 --- a/codingbat/src/test/java/io/sampadadubey/java/codingbat/warmup2/StringYakTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/StringYakTest.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.codingbat.warmup2; +package io.thoughtcode.java.codingbat.warmup2; -import static io.sampadadubey.java.common.StringConstants.EMPTY; +import static io.thoughtcode.java.common.StringConstants.EMPTY; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.BeforeEach; diff --git a/common/pom.xml b/common/pom.xml index 8c08d57..3f95814 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -4,7 +4,7 @@ 4.0.0 - io.sampadadubey.java + io.thoughtcode.java parent 1.0 .. diff --git a/common/src/main/java/io/sampadadubey/java/common/NumberConstants.java b/common/src/main/java/io/thoughtcode/java/common/NumberConstants.java similarity index 95% rename from common/src/main/java/io/sampadadubey/java/common/NumberConstants.java rename to common/src/main/java/io/thoughtcode/java/common/NumberConstants.java index 9bd841e..8d75734 100644 --- a/common/src/main/java/io/sampadadubey/java/common/NumberConstants.java +++ b/common/src/main/java/io/thoughtcode/java/common/NumberConstants.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.common; +package io.thoughtcode.java.common; public final class NumberConstants { diff --git a/common/src/main/java/io/sampadadubey/java/common/StringConstants.java b/common/src/main/java/io/thoughtcode/java/common/StringConstants.java similarity index 76% rename from common/src/main/java/io/sampadadubey/java/common/StringConstants.java rename to common/src/main/java/io/thoughtcode/java/common/StringConstants.java index 2951e3b..3648bde 100644 --- a/common/src/main/java/io/sampadadubey/java/common/StringConstants.java +++ b/common/src/main/java/io/thoughtcode/java/common/StringConstants.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.common; +package io.thoughtcode.java.common; public final class StringConstants { diff --git a/common/src/test/java/io/sampadadubey/java/common/NumberConstantsTest.java b/common/src/test/java/io/thoughtcode/java/common/NumberConstantsTest.java similarity index 97% rename from common/src/test/java/io/sampadadubey/java/common/NumberConstantsTest.java rename to common/src/test/java/io/thoughtcode/java/common/NumberConstantsTest.java index ccdeca1..f9fb9e9 100644 --- a/common/src/test/java/io/sampadadubey/java/common/NumberConstantsTest.java +++ b/common/src/test/java/io/thoughtcode/java/common/NumberConstantsTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.common; +package io.thoughtcode.java.common; import static org.assertj.core.api.Assertions.assertThat; diff --git a/common/src/test/java/io/sampadadubey/java/common/StringConstantsTest.java b/common/src/test/java/io/thoughtcode/java/common/StringConstantsTest.java similarity index 93% rename from common/src/test/java/io/sampadadubey/java/common/StringConstantsTest.java rename to common/src/test/java/io/thoughtcode/java/common/StringConstantsTest.java index deb4984..2281a64 100644 --- a/common/src/test/java/io/sampadadubey/java/common/StringConstantsTest.java +++ b/common/src/test/java/io/thoughtcode/java/common/StringConstantsTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.common; +package io.thoughtcode.java.common; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/pom.xml b/exercism/pom.xml index 63c89fb..cbad84a 100644 --- a/exercism/pom.xml +++ b/exercism/pom.xml @@ -4,7 +4,7 @@ 4.0.0 - io.sampadadubey.java + io.thoughtcode.java parent 1.0 .. @@ -16,7 +16,7 @@ - io.sampadadubey.java + io.thoughtcode.java common ${project.version} diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Acronym.java b/exercism/src/main/java/io/thoughtcode/java/exercism/Acronym.java similarity index 93% rename from exercism/src/main/java/io/sampadadubey/java/exercism/Acronym.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/Acronym.java index b972451..91de2a5 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/Acronym.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/Acronym.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import java.util.Locale; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Anagram.java b/exercism/src/main/java/io/thoughtcode/java/exercism/Anagram.java similarity index 97% rename from exercism/src/main/java/io/sampadadubey/java/exercism/Anagram.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/Anagram.java index b7af4cb..3fd9dbc 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/Anagram.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/Anagram.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static java.util.stream.Collectors.toList; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/AnnalynsInfiltration.java b/exercism/src/main/java/io/thoughtcode/java/exercism/AnnalynsInfiltration.java similarity index 95% rename from exercism/src/main/java/io/sampadadubey/java/exercism/AnnalynsInfiltration.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/AnnalynsInfiltration.java index 4f3972b..82756d2 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/AnnalynsInfiltration.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/AnnalynsInfiltration.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; public class AnnalynsInfiltration { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/ArmstrongNumbers.java b/exercism/src/main/java/io/thoughtcode/java/exercism/ArmstrongNumbers.java similarity index 93% rename from exercism/src/main/java/io/sampadadubey/java/exercism/ArmstrongNumbers.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/ArmstrongNumbers.java index 45d27ee..466e9fe 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/ArmstrongNumbers.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/ArmstrongNumbers.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; public class ArmstrongNumbers { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/BirdWatcher.java b/exercism/src/main/java/io/thoughtcode/java/exercism/BirdWatcher.java similarity index 98% rename from exercism/src/main/java/io/sampadadubey/java/exercism/BirdWatcher.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/BirdWatcher.java index 6db7520..48978cf 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/BirdWatcher.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/BirdWatcher.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; class BirdWatcher { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/BlackJack.java b/exercism/src/main/java/io/thoughtcode/java/exercism/BlackJack.java similarity index 98% rename from exercism/src/main/java/io/sampadadubey/java/exercism/BlackJack.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/BlackJack.java index bdd46e1..a44172b 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/BlackJack.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/BlackJack.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import java.util.HashSet; import java.util.Set; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/CarsAssemble.java b/exercism/src/main/java/io/thoughtcode/java/exercism/CarsAssemble.java similarity index 96% rename from exercism/src/main/java/io/sampadadubey/java/exercism/CarsAssemble.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/CarsAssemble.java index c23fe41..2a2890c 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/CarsAssemble.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/CarsAssemble.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import java.math.BigDecimal; import java.math.RoundingMode; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Darts.java b/exercism/src/main/java/io/thoughtcode/java/exercism/Darts.java similarity index 92% rename from exercism/src/main/java/io/sampadadubey/java/exercism/Darts.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/Darts.java index 646ed9d..b495348 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/Darts.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/Darts.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; public class Darts { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/DifferenceOfSquaresCalculator.java b/exercism/src/main/java/io/thoughtcode/java/exercism/DifferenceOfSquaresCalculator.java similarity index 93% rename from exercism/src/main/java/io/sampadadubey/java/exercism/DifferenceOfSquaresCalculator.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/DifferenceOfSquaresCalculator.java index 9250661..c3d1776 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/DifferenceOfSquaresCalculator.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/DifferenceOfSquaresCalculator.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; public class DifferenceOfSquaresCalculator { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/DnDCharacter.java b/exercism/src/main/java/io/thoughtcode/java/exercism/DnDCharacter.java similarity index 98% rename from exercism/src/main/java/io/sampadadubey/java/exercism/DnDCharacter.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/DnDCharacter.java index 64861ed..d97610c 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/DnDCharacter.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/DnDCharacter.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import java.security.SecureRandom; import java.util.Arrays; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/ElonsToyCar.java b/exercism/src/main/java/io/thoughtcode/java/exercism/ElonsToyCar.java similarity index 95% rename from exercism/src/main/java/io/sampadadubey/java/exercism/ElonsToyCar.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/ElonsToyCar.java index 72460e1..9513b60 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/ElonsToyCar.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/ElonsToyCar.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; public class ElonsToyCar { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/FlattenList.java b/exercism/src/main/java/io/thoughtcode/java/exercism/FlattenList.java similarity index 94% rename from exercism/src/main/java/io/sampadadubey/java/exercism/FlattenList.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/FlattenList.java index 26e28fc..014c6f8 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/FlattenList.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/FlattenList.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import java.util.ArrayList; import java.util.List; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/FootballMatchReports.java b/exercism/src/main/java/io/thoughtcode/java/exercism/FootballMatchReports.java similarity index 97% rename from exercism/src/main/java/io/sampadadubey/java/exercism/FootballMatchReports.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/FootballMatchReports.java index 88cb8fb..04b287a 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/FootballMatchReports.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/FootballMatchReports.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import java.util.Optional; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Gigasecond.java b/exercism/src/main/java/io/thoughtcode/java/exercism/Gigasecond.java similarity index 92% rename from exercism/src/main/java/io/sampadadubey/java/exercism/Gigasecond.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/Gigasecond.java index 4958a79..19acfe4 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/Gigasecond.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/Gigasecond.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import java.time.LocalDate; import java.time.LocalDateTime; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Grains.java b/exercism/src/main/java/io/thoughtcode/java/exercism/Grains.java similarity index 96% rename from exercism/src/main/java/io/sampadadubey/java/exercism/Grains.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/Grains.java index e2aa64e..d2e2427 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/Grains.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/Grains.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import java.math.BigInteger; import java.util.HashMap; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Greeter.java b/exercism/src/main/java/io/thoughtcode/java/exercism/Greeter.java similarity index 68% rename from exercism/src/main/java/io/sampadadubey/java/exercism/Greeter.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/Greeter.java index 9c3f973..fc939a6 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/Greeter.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/Greeter.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; class Greeter { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Hamming.java b/exercism/src/main/java/io/thoughtcode/java/exercism/Hamming.java similarity index 96% rename from exercism/src/main/java/io/sampadadubey/java/exercism/Hamming.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/Hamming.java index 97c18ee..d4b879a 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/Hamming.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/Hamming.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; public class Hamming { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/IsogramChecker.java b/exercism/src/main/java/io/thoughtcode/java/exercism/IsogramChecker.java similarity index 95% rename from exercism/src/main/java/io/sampadadubey/java/exercism/IsogramChecker.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/IsogramChecker.java index 2c46d1c..63f0805 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/IsogramChecker.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/IsogramChecker.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import java.util.HashSet; import java.util.Locale; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/LanguageList.java b/exercism/src/main/java/io/thoughtcode/java/exercism/LanguageList.java similarity index 96% rename from exercism/src/main/java/io/sampadadubey/java/exercism/LanguageList.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/LanguageList.java index e008f70..bc24f9a 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/LanguageList.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/LanguageList.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import java.util.ArrayList; import java.util.Arrays; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Lasagna.java b/exercism/src/main/java/io/thoughtcode/java/exercism/Lasagna.java similarity index 92% rename from exercism/src/main/java/io/sampadadubey/java/exercism/Lasagna.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/Lasagna.java index 6eea8c8..09230a4 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/Lasagna.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/Lasagna.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; public class Lasagna { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/LeapYear.java b/exercism/src/main/java/io/thoughtcode/java/exercism/LeapYear.java similarity index 87% rename from exercism/src/main/java/io/sampadadubey/java/exercism/LeapYear.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/LeapYear.java index 4adcc3a..e49172d 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/LeapYear.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/LeapYear.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; public class LeapYear { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/LogLevels.java b/exercism/src/main/java/io/thoughtcode/java/exercism/LogLevels.java similarity index 96% rename from exercism/src/main/java/io/sampadadubey/java/exercism/LogLevels.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/LogLevels.java index 7c9f66a..e529421 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/LogLevels.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/LogLevels.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import java.util.Locale; import java.util.regex.Matcher; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Matrix.java b/exercism/src/main/java/io/thoughtcode/java/exercism/Matrix.java similarity index 97% rename from exercism/src/main/java/io/sampadadubey/java/exercism/Matrix.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/Matrix.java index d8d58f3..bfe1bdd 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/Matrix.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/Matrix.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; class Matrix { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/NaturalNumber.java b/exercism/src/main/java/io/thoughtcode/java/exercism/NaturalNumber.java similarity index 97% rename from exercism/src/main/java/io/sampadadubey/java/exercism/NaturalNumber.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/NaturalNumber.java index 27d92b1..d341721 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/NaturalNumber.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/NaturalNumber.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; public class NaturalNumber { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/NeedForSpeed.java b/exercism/src/main/java/io/thoughtcode/java/exercism/NeedForSpeed.java similarity index 97% rename from exercism/src/main/java/io/sampadadubey/java/exercism/NeedForSpeed.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/NeedForSpeed.java index beef2a6..7c0185c 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/NeedForSpeed.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/NeedForSpeed.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; class NeedForSpeed { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/PangramChecker.java b/exercism/src/main/java/io/thoughtcode/java/exercism/PangramChecker.java similarity index 92% rename from exercism/src/main/java/io/sampadadubey/java/exercism/PangramChecker.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/PangramChecker.java index 5f4104a..90a6a77 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/PangramChecker.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/PangramChecker.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static java.util.stream.Collectors.toSet; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Proverb.java b/exercism/src/main/java/io/thoughtcode/java/exercism/Proverb.java similarity index 93% rename from exercism/src/main/java/io/sampadadubey/java/exercism/Proverb.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/Proverb.java index 19e471d..32bc584 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/Proverb.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/Proverb.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; class Proverb { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/RaindropConverter.java b/exercism/src/main/java/io/thoughtcode/java/exercism/RaindropConverter.java similarity index 94% rename from exercism/src/main/java/io/sampadadubey/java/exercism/RaindropConverter.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/RaindropConverter.java index 6f430a8..e21a974 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/RaindropConverter.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/RaindropConverter.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; public class RaindropConverter { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/RemoteControlCarDemo.java b/exercism/src/main/java/io/thoughtcode/java/exercism/RemoteControlCarDemo.java similarity index 97% rename from exercism/src/main/java/io/sampadadubey/java/exercism/RemoteControlCarDemo.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/RemoteControlCarDemo.java index 85cc85d..c32c38b 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/RemoteControlCarDemo.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/RemoteControlCarDemo.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import java.util.Arrays; import java.util.List; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColor.java b/exercism/src/main/java/io/thoughtcode/java/exercism/ResistorColor.java similarity index 85% rename from exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColor.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/ResistorColor.java index 5a7f5db..c895a51 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColor.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/ResistorColor.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; public class ResistorColor { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColorCode.java b/exercism/src/main/java/io/thoughtcode/java/exercism/ResistorColorCode.java similarity index 96% rename from exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColorCode.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/ResistorColorCode.java index a8057a6..f7194f6 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColorCode.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/ResistorColorCode.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import java.util.Arrays; import java.util.Locale; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColorDuo.java b/exercism/src/main/java/io/thoughtcode/java/exercism/ResistorColorDuo.java similarity index 91% rename from exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColorDuo.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/ResistorColorDuo.java index 9ddb34e..87631ba 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/ResistorColorDuo.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/ResistorColorDuo.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; public class ResistorColorDuo { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/ReverseString.java b/exercism/src/main/java/io/thoughtcode/java/exercism/ReverseString.java similarity index 91% rename from exercism/src/main/java/io/sampadadubey/java/exercism/ReverseString.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/ReverseString.java index 459e336..edbd9b4 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/ReverseString.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/ReverseString.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import java.util.Optional; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/RnaTranscription.java b/exercism/src/main/java/io/thoughtcode/java/exercism/RnaTranscription.java similarity index 94% rename from exercism/src/main/java/io/sampadadubey/java/exercism/RnaTranscription.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/RnaTranscription.java index 6d8b631..39d6fc5 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/RnaTranscription.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/RnaTranscription.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import java.util.HashMap; import java.util.Map; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/RotationalCipher.java b/exercism/src/main/java/io/thoughtcode/java/exercism/RotationalCipher.java similarity index 97% rename from exercism/src/main/java/io/sampadadubey/java/exercism/RotationalCipher.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/RotationalCipher.java index 909946f..1b0ea27 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/RotationalCipher.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/RotationalCipher.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; class RotationalCipher { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/SaddlePoint.java b/exercism/src/main/java/io/thoughtcode/java/exercism/SaddlePoint.java similarity index 98% rename from exercism/src/main/java/io/sampadadubey/java/exercism/SaddlePoint.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/SaddlePoint.java index d6d7592..efa5898 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/SaddlePoint.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/SaddlePoint.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import java.util.ArrayList; import java.util.HashSet; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/SalaryCalculator.java b/exercism/src/main/java/io/thoughtcode/java/exercism/SalaryCalculator.java similarity index 95% rename from exercism/src/main/java/io/sampadadubey/java/exercism/SalaryCalculator.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/SalaryCalculator.java index fe36719..adcf7ca 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/SalaryCalculator.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/SalaryCalculator.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; public class SalaryCalculator { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Say.java b/exercism/src/main/java/io/thoughtcode/java/exercism/Say.java similarity index 99% rename from exercism/src/main/java/io/sampadadubey/java/exercism/Say.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/Say.java index 8bcbc06..e5546db 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/Say.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/Say.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static java.lang.String.format; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/ScrabbleScore.java b/exercism/src/main/java/io/thoughtcode/java/exercism/ScrabbleScore.java similarity index 98% rename from exercism/src/main/java/io/sampadadubey/java/exercism/ScrabbleScore.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/ScrabbleScore.java index a1e641c..208ad9c 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/ScrabbleScore.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/ScrabbleScore.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import java.util.ArrayList; import java.util.HashMap; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/SpaceAge.java b/exercism/src/main/java/io/thoughtcode/java/exercism/SpaceAge.java similarity index 97% rename from exercism/src/main/java/io/sampadadubey/java/exercism/SpaceAge.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/SpaceAge.java index 11b4c66..7a6aea5 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/SpaceAge.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/SpaceAge.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; class SpaceAge { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/SqueakyClean.java b/exercism/src/main/java/io/thoughtcode/java/exercism/SqueakyClean.java similarity index 97% rename from exercism/src/main/java/io/sampadadubey/java/exercism/SqueakyClean.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/SqueakyClean.java index 64209f2..1770def 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/SqueakyClean.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/SqueakyClean.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; public class SqueakyClean { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/Triangle.java b/exercism/src/main/java/io/thoughtcode/java/exercism/Triangle.java similarity index 96% rename from exercism/src/main/java/io/sampadadubey/java/exercism/Triangle.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/Triangle.java index e24d142..f8637ca 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/Triangle.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/Triangle.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; public class Triangle { diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/TwelveDays.java b/exercism/src/main/java/io/thoughtcode/java/exercism/TwelveDays.java similarity index 98% rename from exercism/src/main/java/io/sampadadubey/java/exercism/TwelveDays.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/TwelveDays.java index 8e3aaf2..b3b5dd4 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/TwelveDays.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/TwelveDays.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static java.lang.String.format; diff --git a/exercism/src/main/java/io/sampadadubey/java/exercism/TwoFer.java b/exercism/src/main/java/io/thoughtcode/java/exercism/TwoFer.java similarity index 89% rename from exercism/src/main/java/io/sampadadubey/java/exercism/TwoFer.java rename to exercism/src/main/java/io/thoughtcode/java/exercism/TwoFer.java index c9e4094..c72dc14 100644 --- a/exercism/src/main/java/io/sampadadubey/java/exercism/TwoFer.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/TwoFer.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import java.util.Optional; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/AcronymTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/AcronymTest.java similarity index 97% rename from exercism/src/test/java/io/sampadadubey/java/exercism/AcronymTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/AcronymTest.java index 79f2f82..ca52d2f 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/AcronymTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/AcronymTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/AnagramTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/AnagramTest.java similarity index 99% rename from exercism/src/test/java/io/sampadadubey/java/exercism/AnagramTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/AnagramTest.java index f2e1a6b..f18f4ba 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/AnagramTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/AnagramTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static java.util.Collections.emptyList; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/AnnalynsInfiltrationTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/AnnalynsInfiltrationTest.java similarity index 99% rename from exercism/src/test/java/io/sampadadubey/java/exercism/AnnalynsInfiltrationTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/AnnalynsInfiltrationTest.java index 8b440b3..dd9412d 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/AnnalynsInfiltrationTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/AnnalynsInfiltrationTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/ArmstrongNumbersTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/ArmstrongNumbersTest.java similarity index 97% rename from exercism/src/test/java/io/sampadadubey/java/exercism/ArmstrongNumbersTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/ArmstrongNumbersTest.java index 6dd8a14..1705265 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/ArmstrongNumbersTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/ArmstrongNumbersTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/BirdWatcherTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/BirdWatcherTest.java similarity index 98% rename from exercism/src/test/java/io/sampadadubey/java/exercism/BirdWatcherTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/BirdWatcherTest.java index 8b361f1..23cabf1 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/BirdWatcherTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/BirdWatcherTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.*; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/BlackJackTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/BlackJackTest.java similarity index 99% rename from exercism/src/test/java/io/sampadadubey/java/exercism/BlackJackTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/BlackJackTest.java index 473187b..6a3b867 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/BlackJackTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/BlackJackTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/CarsAssembleTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/CarsAssembleTest.java similarity index 98% rename from exercism/src/test/java/io/sampadadubey/java/exercism/CarsAssembleTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/CarsAssembleTest.java index a56351c..bbc3c87 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/CarsAssembleTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/CarsAssembleTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/DartsTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/DartsTest.java similarity index 98% rename from exercism/src/test/java/io/sampadadubey/java/exercism/DartsTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/DartsTest.java index e4b2315..cc646ea 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/DartsTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/DartsTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/DifferenceOfSquaresCalculatorTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/DifferenceOfSquaresCalculatorTest.java similarity index 98% rename from exercism/src/test/java/io/sampadadubey/java/exercism/DifferenceOfSquaresCalculatorTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/DifferenceOfSquaresCalculatorTest.java index 632f3a0..fc58638 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/DifferenceOfSquaresCalculatorTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/DifferenceOfSquaresCalculatorTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/DnDCharacterTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/DnDCharacterTest.java similarity index 98% rename from exercism/src/test/java/io/sampadadubey/java/exercism/DnDCharacterTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/DnDCharacterTest.java index 507e628..ff545b4 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/DnDCharacterTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/DnDCharacterTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/ElonsToyCarTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/ElonsToyCarTest.java similarity index 98% rename from exercism/src/test/java/io/sampadadubey/java/exercism/ElonsToyCarTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/ElonsToyCarTest.java index cfae351..d5f05b5 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/ElonsToyCarTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/ElonsToyCarTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/FlattenListTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/FlattenListTest.java similarity index 98% rename from exercism/src/test/java/io/sampadadubey/java/exercism/FlattenListTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/FlattenListTest.java index 3ffc014..ddf45de 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/FlattenListTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/FlattenListTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static java.util.Arrays.asList; import static java.util.Collections.emptyList; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/FootballMatchReportsTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/FootballMatchReportsTest.java similarity index 97% rename from exercism/src/test/java/io/sampadadubey/java/exercism/FootballMatchReportsTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/FootballMatchReportsTest.java index df4f0c8..194018d 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/FootballMatchReportsTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/FootballMatchReportsTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/GigasecondTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/GigasecondTest.java similarity index 97% rename from exercism/src/test/java/io/sampadadubey/java/exercism/GigasecondTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/GigasecondTest.java index 6724613..6d629b9 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/GigasecondTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/GigasecondTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/GrainsTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/GrainsTest.java similarity index 98% rename from exercism/src/test/java/io/sampadadubey/java/exercism/GrainsTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/GrainsTest.java index 7e3d969..1a6dd65 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/GrainsTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/GrainsTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/GreeterTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/GreeterTest.java similarity index 87% rename from exercism/src/test/java/io/sampadadubey/java/exercism/GreeterTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/GreeterTest.java index 2425d25..1d975ce 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/GreeterTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/GreeterTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/HammingTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/HammingTest.java similarity index 98% rename from exercism/src/test/java/io/sampadadubey/java/exercism/HammingTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/HammingTest.java index 9a5c9c5..ff0966e 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/HammingTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/HammingTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/IsogramCheckerTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/IsogramCheckerTest.java similarity index 98% rename from exercism/src/test/java/io/sampadadubey/java/exercism/IsogramCheckerTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/IsogramCheckerTest.java index 106110e..9ffa4fe 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/IsogramCheckerTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/IsogramCheckerTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/LanguageListTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/LanguageListTest.java similarity index 98% rename from exercism/src/test/java/io/sampadadubey/java/exercism/LanguageListTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/LanguageListTest.java index 74c0c7d..e260009 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/LanguageListTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/LanguageListTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/LasagnaTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/LasagnaTest.java similarity index 97% rename from exercism/src/test/java/io/sampadadubey/java/exercism/LasagnaTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/LasagnaTest.java index 1c84cf6..a376c6b 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/LasagnaTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/LasagnaTest.java @@ -1,10 +1,10 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.Test; -import io.sampadadubey.java.exercism.utils.Lasagna; +import io.thoughtcode.java.exercism.utils.Lasagna; class LasagnaTest { diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/LeapYearTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/LeapYearTest.java similarity index 97% rename from exercism/src/test/java/io/sampadadubey/java/exercism/LeapYearTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/LeapYearTest.java index 01c67aa..ce9285a 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/LeapYearTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/LeapYearTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/LogLevelsTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/LogLevelsTest.java similarity index 97% rename from exercism/src/test/java/io/sampadadubey/java/exercism/LogLevelsTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/LogLevelsTest.java index 5ca9214..476527c 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/LogLevelsTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/LogLevelsTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.*; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/MatrixTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/MatrixTest.java similarity index 98% rename from exercism/src/test/java/io/sampadadubey/java/exercism/MatrixTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/MatrixTest.java index 5e3f8f5..c3b722e 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/MatrixTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/MatrixTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/NaturalNumberTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/NaturalNumberTest.java similarity index 98% rename from exercism/src/test/java/io/sampadadubey/java/exercism/NaturalNumberTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/NaturalNumberTest.java index 1059e3f..c71b45b 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/NaturalNumberTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/NaturalNumberTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/NeedForSpeedTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/NeedForSpeedTest.java similarity index 99% rename from exercism/src/test/java/io/sampadadubey/java/exercism/NeedForSpeedTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/NeedForSpeedTest.java index 848704f..94b2bd6 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/NeedForSpeedTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/NeedForSpeedTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/PangramCheckerTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/PangramCheckerTest.java similarity index 98% rename from exercism/src/test/java/io/sampadadubey/java/exercism/PangramCheckerTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/PangramCheckerTest.java index bf646c4..1b2ee75 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/PangramCheckerTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/PangramCheckerTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/ProverbTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/ProverbTest.java similarity index 98% rename from exercism/src/test/java/io/sampadadubey/java/exercism/ProverbTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/ProverbTest.java index 3b1c3d5..6bcbc7b 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/ProverbTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/ProverbTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/RaindropConverterTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/RaindropConverterTest.java similarity index 91% rename from exercism/src/test/java/io/sampadadubey/java/exercism/RaindropConverterTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/RaindropConverterTest.java index 9060d00..3f3edd3 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/RaindropConverterTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/RaindropConverterTest.java @@ -1,8 +1,8 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; -import static io.sampadadubey.java.exercism.RaindropConverter.PLANG; -import static io.sampadadubey.java.exercism.RaindropConverter.PLING; -import static io.sampadadubey.java.exercism.RaindropConverter.PLONG; +import static io.thoughtcode.java.exercism.RaindropConverter.PLANG; +import static io.thoughtcode.java.exercism.RaindropConverter.PLING; +import static io.thoughtcode.java.exercism.RaindropConverter.PLONG; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.Test; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/RemoteControlCarDemoTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/RemoteControlCarDemoTest.java similarity index 97% rename from exercism/src/test/java/io/sampadadubey/java/exercism/RemoteControlCarDemoTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/RemoteControlCarDemoTest.java index c1b9b80..9d5e0df 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/RemoteControlCarDemoTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/RemoteControlCarDemoTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/ResistorColorDuoTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/ResistorColorDuoTest.java similarity index 97% rename from exercism/src/test/java/io/sampadadubey/java/exercism/ResistorColorDuoTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/ResistorColorDuoTest.java index 1f3ebbd..8772de5 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/ResistorColorDuoTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/ResistorColorDuoTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/ResistorColorTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/ResistorColorTest.java similarity index 95% rename from exercism/src/test/java/io/sampadadubey/java/exercism/ResistorColorTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/ResistorColorTest.java index 076d41a..46c1ef3 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/ResistorColorTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/ResistorColorTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/ReverseStringTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/ReverseStringTest.java similarity index 96% rename from exercism/src/test/java/io/sampadadubey/java/exercism/ReverseStringTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/ReverseStringTest.java index f09b1cc..d3897f6 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/ReverseStringTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/ReverseStringTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/RnaTranscriptionTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/RnaTranscriptionTest.java similarity index 96% rename from exercism/src/test/java/io/sampadadubey/java/exercism/RnaTranscriptionTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/RnaTranscriptionTest.java index 7f0c9e1..e7b7c3a 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/RnaTranscriptionTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/RnaTranscriptionTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/RotationalCipherTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/RotationalCipherTest.java similarity index 98% rename from exercism/src/test/java/io/sampadadubey/java/exercism/RotationalCipherTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/RotationalCipherTest.java index 7b827b8..f117d82 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/RotationalCipherTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/RotationalCipherTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/SaddlePointTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/SaddlePointTest.java similarity index 99% rename from exercism/src/test/java/io/sampadadubey/java/exercism/SaddlePointTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/SaddlePointTest.java index 4cbc34b..0670a31 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/SaddlePointTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/SaddlePointTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static java.util.Collections.emptyList; import static java.util.Collections.emptySet; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/SalaryCalculatorTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/SalaryCalculatorTest.java similarity index 97% rename from exercism/src/test/java/io/sampadadubey/java/exercism/SalaryCalculatorTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/SalaryCalculatorTest.java index 33ea788..d44acaf 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/SalaryCalculatorTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/SalaryCalculatorTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/SayTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/SayTest.java similarity index 98% rename from exercism/src/test/java/io/sampadadubey/java/exercism/SayTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/SayTest.java index c6c5592..75c1db6 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/SayTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/SayTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/ScrabbleScoreTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/ScrabbleScoreTest.java similarity index 98% rename from exercism/src/test/java/io/sampadadubey/java/exercism/ScrabbleScoreTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/ScrabbleScoreTest.java index 6cea051..d33c2b0 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/ScrabbleScoreTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/ScrabbleScoreTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/SpaceAgeTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/SpaceAgeTest.java similarity index 97% rename from exercism/src/test/java/io/sampadadubey/java/exercism/SpaceAgeTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/SpaceAgeTest.java index 227d1b6..775102a 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/SpaceAgeTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/SpaceAgeTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/SqueakyCleanTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/SqueakyCleanTest.java similarity index 97% rename from exercism/src/test/java/io/sampadadubey/java/exercism/SqueakyCleanTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/SqueakyCleanTest.java index b4f44e7..20ece45 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/SqueakyCleanTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/SqueakyCleanTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/TriangleTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/TriangleTest.java similarity index 99% rename from exercism/src/test/java/io/sampadadubey/java/exercism/TriangleTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/TriangleTest.java index f83df2e..6aac93c 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/TriangleTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/TriangleTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/TwelveDaysTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/TwelveDaysTest.java similarity index 99% rename from exercism/src/test/java/io/sampadadubey/java/exercism/TwelveDaysTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/TwelveDaysTest.java index f2e1366..e658407 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/TwelveDaysTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/TwelveDaysTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/TwoFerTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/TwoFerTest.java similarity index 94% rename from exercism/src/test/java/io/sampadadubey/java/exercism/TwoFerTest.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/TwoFerTest.java index e269a89..1de72e5 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/TwoFerTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/TwoFerTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism; +package io.thoughtcode.java.exercism; import static org.assertj.core.api.Assertions.assertThat; diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/utils/Lasagna.java b/exercism/src/test/java/io/thoughtcode/java/exercism/utils/Lasagna.java similarity index 93% rename from exercism/src/test/java/io/sampadadubey/java/exercism/utils/Lasagna.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/utils/Lasagna.java index 94b3c99..d4c1fcb 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/utils/Lasagna.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/utils/Lasagna.java @@ -1,10 +1,10 @@ -package io.sampadadubey.java.exercism.utils; +package io.thoughtcode.java.exercism.utils; public class Lasagna extends ReflectionProxy { @Override public String getTargetClassName() { - return "io.sampadadubey.java.exercism.Lasagna"; + return "io.thoughtcode.java.exercism.Lasagna"; } public int expectedMinutesInOven() { diff --git a/exercism/src/test/java/io/sampadadubey/java/exercism/utils/ReflectionProxy.java b/exercism/src/test/java/io/thoughtcode/java/exercism/utils/ReflectionProxy.java similarity index 99% rename from exercism/src/test/java/io/sampadadubey/java/exercism/utils/ReflectionProxy.java rename to exercism/src/test/java/io/thoughtcode/java/exercism/utils/ReflectionProxy.java index d9ae11e..22c7613 100644 --- a/exercism/src/test/java/io/sampadadubey/java/exercism/utils/ReflectionProxy.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/utils/ReflectionProxy.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.exercism.utils; +package io.thoughtcode.java.exercism.utils; import java.lang.reflect.Constructor; import java.lang.reflect.Field; diff --git a/hackerrank/pom.xml b/hackerrank/pom.xml index d901404..ffeeeae 100644 --- a/hackerrank/pom.xml +++ b/hackerrank/pom.xml @@ -4,7 +4,7 @@ 4.0.0 - io.sampadadubey.java + io.thoughtcode.java parent 1.0 .. @@ -16,7 +16,7 @@ - io.sampadadubey.java + io.thoughtcode.java common ${project.version} diff --git a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java01WelcomeToJava.java b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java01WelcomeToJava.java similarity index 77% rename from hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java01WelcomeToJava.java rename to hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java01WelcomeToJava.java index 48c8bbb..6b0dd65 100644 --- a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java01WelcomeToJava.java +++ b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java01WelcomeToJava.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; public class Java01WelcomeToJava { diff --git a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java02StdinStdout.java b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java02StdinStdout.java similarity index 90% rename from hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java02StdinStdout.java rename to hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java02StdinStdout.java index 04ed75b..97ad2a4 100644 --- a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java02StdinStdout.java +++ b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java02StdinStdout.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; import java.io.InputStream; import java.util.Scanner; diff --git a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java03IfElse.java b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java03IfElse.java similarity index 69% rename from hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java03IfElse.java rename to hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java03IfElse.java index 2be9516..1cdce07 100644 --- a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java03IfElse.java +++ b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java03IfElse.java @@ -1,10 +1,10 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; -import static io.sampadadubey.java.common.NumberConstants.FIVE; -import static io.sampadadubey.java.common.NumberConstants.ONE; -import static io.sampadadubey.java.common.NumberConstants.SIX; -import static io.sampadadubey.java.common.NumberConstants.TWENTY; -import static io.sampadadubey.java.common.NumberConstants.TWO; +import static io.thoughtcode.java.common.NumberConstants.FIVE; +import static io.thoughtcode.java.common.NumberConstants.ONE; +import static io.thoughtcode.java.common.NumberConstants.SIX; +import static io.thoughtcode.java.common.NumberConstants.TWENTY; +import static io.thoughtcode.java.common.NumberConstants.TWO; import java.io.InputStream; import java.util.Scanner; diff --git a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java04StdinStdout2.java b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java04StdinStdout2.java similarity index 92% rename from hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java04StdinStdout2.java rename to hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java04StdinStdout2.java index c307b8d..0bf6289 100644 --- a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java04StdinStdout2.java +++ b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java04StdinStdout2.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; import java.io.InputStream; import java.util.Scanner; diff --git a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java05OutputFormatting.java b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java05OutputFormatting.java similarity index 84% rename from hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java05OutputFormatting.java rename to hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java05OutputFormatting.java index c5ce874..12268cf 100644 --- a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java05OutputFormatting.java +++ b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java05OutputFormatting.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; -import static io.sampadadubey.java.common.NumberConstants.THREE; +import static io.thoughtcode.java.common.NumberConstants.THREE; import java.io.InputStream; import java.util.Scanner; diff --git a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java06Loops1.java b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java06Loops1.java similarity index 66% rename from hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java06Loops1.java rename to hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java06Loops1.java index 63aa6e0..132b019 100644 --- a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java06Loops1.java +++ b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java06Loops1.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; -import static io.sampadadubey.java.common.NumberConstants.TEN; +import static io.thoughtcode.java.common.NumberConstants.TEN; public class Java06Loops1 { diff --git a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java07Loops2.java b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java07Loops2.java similarity index 90% rename from hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java07Loops2.java rename to hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java07Loops2.java index 03755cc..8f1ec03 100644 --- a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java07Loops2.java +++ b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java07Loops2.java @@ -1,6 +1,6 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; -import static io.sampadadubey.java.common.NumberConstants.TWO; +import static io.thoughtcode.java.common.NumberConstants.TWO; import java.io.InputStream; import java.util.Scanner; diff --git a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java08DataTypes.java b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java08DataTypes.java similarity index 96% rename from hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java08DataTypes.java rename to hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java08DataTypes.java index 2cd59d3..5169cf5 100644 --- a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java08DataTypes.java +++ b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java08DataTypes.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; import java.io.InputStream; import java.util.Scanner; diff --git a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java09EndOfFile.java b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java09EndOfFile.java similarity index 90% rename from hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java09EndOfFile.java rename to hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java09EndOfFile.java index c18499f..b51b9b6 100644 --- a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java09EndOfFile.java +++ b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java09EndOfFile.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; import java.io.InputStream; import java.util.Scanner; diff --git a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java10StaticInitializerBlockUtils.java b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java10StaticInitializerBlockUtils.java similarity index 94% rename from hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java10StaticInitializerBlockUtils.java rename to hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java10StaticInitializerBlockUtils.java index f7ed0e6..05567a4 100644 --- a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java10StaticInitializerBlockUtils.java +++ b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java10StaticInitializerBlockUtils.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; import java.util.Scanner; diff --git a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java11IntToString.java b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java11IntToString.java similarity index 93% rename from hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java11IntToString.java rename to hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java11IntToString.java index c9087c2..108cecc 100644 --- a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java11IntToString.java +++ b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java11IntToString.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; import java.io.InputStream; import java.util.InputMismatchException; diff --git a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java12DateAndTime.java b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java12DateAndTime.java similarity index 92% rename from hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java12DateAndTime.java rename to hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java12DateAndTime.java index e2d8c44..8da7121 100644 --- a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java12DateAndTime.java +++ b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java12DateAndTime.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; import java.text.SimpleDateFormat; import java.util.Calendar; diff --git a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java13CurrencyFormatter.java b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java13CurrencyFormatter.java similarity index 94% rename from hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java13CurrencyFormatter.java rename to hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java13CurrencyFormatter.java index 1d10cc9..a75613a 100644 --- a/hackerrank/src/main/java/io/sampadadubey/java/hackerrank/intro/Java13CurrencyFormatter.java +++ b/hackerrank/src/main/java/io/thoughtcode/java/hackerrank/intro/Java13CurrencyFormatter.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; import java.text.NumberFormat; import java.util.Locale; diff --git a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java01WelcomeToJavaTest.java b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java01WelcomeToJavaTest.java similarity index 94% rename from hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java01WelcomeToJavaTest.java rename to hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java01WelcomeToJavaTest.java index 0d69687..851db93 100644 --- a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java01WelcomeToJavaTest.java +++ b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java01WelcomeToJavaTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; import static org.assertj.core.api.Assertions.assertThat; diff --git a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java02StdinStdoutTest.java b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java02StdinStdoutTest.java similarity index 96% rename from hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java02StdinStdoutTest.java rename to hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java02StdinStdoutTest.java index 57cdadb..c531a1a 100644 --- a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java02StdinStdoutTest.java +++ b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java02StdinStdoutTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; import static java.lang.Math.random; import static org.assertj.core.api.Assertions.assertThat; diff --git a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java03IfElseTest.java b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java03IfElseTest.java similarity index 93% rename from hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java03IfElseTest.java rename to hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java03IfElseTest.java index 8f5134c..2aac121 100644 --- a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java03IfElseTest.java +++ b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java03IfElseTest.java @@ -1,7 +1,7 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; -import static io.sampadadubey.java.hackerrank.intro.Java03IfElse.NOT_WEIRD; -import static io.sampadadubey.java.hackerrank.intro.Java03IfElse.WEIRD; +import static io.thoughtcode.java.hackerrank.intro.Java03IfElse.NOT_WEIRD; +import static io.thoughtcode.java.hackerrank.intro.Java03IfElse.WEIRD; import static org.assertj.core.api.Assertions.assertThat; import java.io.ByteArrayInputStream; diff --git a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java04StdinStdout2Test.java b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java04StdinStdout2Test.java similarity index 96% rename from hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java04StdinStdout2Test.java rename to hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java04StdinStdout2Test.java index 4ab300f..529d8c5 100644 --- a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java04StdinStdout2Test.java +++ b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java04StdinStdout2Test.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; import static java.lang.Math.random; import static java.util.UUID.randomUUID; diff --git a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java05OutputFormattingTest.java b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java05OutputFormattingTest.java similarity index 96% rename from hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java05OutputFormattingTest.java rename to hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java05OutputFormattingTest.java index 9f4727e..b33d4f4 100644 --- a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java05OutputFormattingTest.java +++ b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java05OutputFormattingTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; import static org.assertj.core.api.Assertions.assertThat; diff --git a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java06Loops1Test.java b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java06Loops1Test.java similarity index 90% rename from hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java06Loops1Test.java rename to hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java06Loops1Test.java index 517dcd0..607ef6e 100644 --- a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java06Loops1Test.java +++ b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java06Loops1Test.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; import static java.lang.Math.random; import static org.assertj.core.api.Assertions.assertThat; @@ -10,7 +10,7 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import io.sampadadubey.java.common.NumberConstants; +import io.thoughtcode.java.common.NumberConstants; class Java06Loops1Test { diff --git a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java07Loops2Test.java b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java07Loops2Test.java similarity index 95% rename from hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java07Loops2Test.java rename to hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java07Loops2Test.java index cc3aff1..40e2d28 100644 --- a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java07Loops2Test.java +++ b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java07Loops2Test.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; import static org.assertj.core.api.Assertions.assertThat; diff --git a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java08DataTypesTest.java b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java08DataTypesTest.java similarity index 98% rename from hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java08DataTypesTest.java rename to hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java08DataTypesTest.java index 37af4c2..80c0988 100644 --- a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java08DataTypesTest.java +++ b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java08DataTypesTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; import static org.assertj.core.api.Assertions.assertThat; diff --git a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java09EndOfFileTest.java b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java09EndOfFileTest.java similarity index 94% rename from hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java09EndOfFileTest.java rename to hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java09EndOfFileTest.java index 87d37fb..672970e 100644 --- a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java09EndOfFileTest.java +++ b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java09EndOfFileTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; import static org.assertj.core.api.Assertions.assertThat; diff --git a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java10StaticInitializerBlockUtilsTest.java b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java10StaticInitializerBlockUtilsTest.java similarity index 94% rename from hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java10StaticInitializerBlockUtilsTest.java rename to hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java10StaticInitializerBlockUtilsTest.java index 03d0a6c..f95d796 100644 --- a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java10StaticInitializerBlockUtilsTest.java +++ b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java10StaticInitializerBlockUtilsTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; import static org.assertj.core.api.Assertions.assertThat; diff --git a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java11IntToStringTest.java b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java11IntToStringTest.java similarity index 96% rename from hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java11IntToStringTest.java rename to hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java11IntToStringTest.java index d8eb1e8..bbcdb5d 100644 --- a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java11IntToStringTest.java +++ b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java11IntToStringTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; import static org.assertj.core.api.Assertions.assertThat; diff --git a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java12DateAndTimeTest.java b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java12DateAndTimeTest.java similarity index 89% rename from hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java12DateAndTimeTest.java rename to hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java12DateAndTimeTest.java index c8d0848..4f8118b 100644 --- a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java12DateAndTimeTest.java +++ b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java12DateAndTimeTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; import static org.assertj.core.api.Assertions.assertThat; diff --git a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java13CurrencyFormatterTest.java b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java13CurrencyFormatterTest.java similarity index 94% rename from hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java13CurrencyFormatterTest.java rename to hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java13CurrencyFormatterTest.java index 14f5fc6..8d30172 100644 --- a/hackerrank/src/test/java/io/sampadadubey/java/hackerrank/intro/Java13CurrencyFormatterTest.java +++ b/hackerrank/src/test/java/io/thoughtcode/java/hackerrank/intro/Java13CurrencyFormatterTest.java @@ -1,4 +1,4 @@ -package io.sampadadubey.java.hackerrank.intro; +package io.thoughtcode.java.hackerrank.intro; import static org.assertj.core.api.Assertions.assertThat; diff --git a/jacoco-report/pom.xml b/jacoco-report/pom.xml index 3787980..e28172e 100644 --- a/jacoco-report/pom.xml +++ b/jacoco-report/pom.xml @@ -4,7 +4,7 @@ 4.0.0 - io.sampadadubey.java + io.thoughtcode.java parent 1.0 .. @@ -16,22 +16,22 @@ - io.sampadadubey.java + io.thoughtcode.java common ${project.parent.version} - io.sampadadubey.java + io.thoughtcode.java codingbat ${project.parent.version} - io.sampadadubey.java + io.thoughtcode.java exercism ${project.parent.version} - io.sampadadubey.java + io.thoughtcode.java hackerrank ${project.parent.version} diff --git a/pom.xml b/pom.xml index e7ffcf6..17b3183 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - io.sampadadubey.java + io.thoughtcode.java parent 1.0 pom @@ -23,11 +23,6 @@ 11 11 11 - diff --git a/quality/checkstyle.xml b/quality/checkstyle.xml index 735bd22..f85673d 100644 --- a/quality/checkstyle.xml +++ b/quality/checkstyle.xml @@ -191,7 +191,7 @@ - + From 41be696e49206b2ed70763a43de1fbc90e24101c Mon Sep 17 00:00:00 2001 From: Thought Code Date: Sat, 11 Feb 2023 20:11:33 +0530 Subject: [PATCH 62/77] GH-5: Rename the packages --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 053f452..62b4eff 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -28,7 +28,7 @@ jobs: export COVERAGE_FILE="jacoco-report/target/site/jacoco-aggregate/jacoco.xml" export CODACY_PROJECT_NAME="$PROJECT_NAME" - export SONAR_ARGS=" -Dsonar.projectKey=${PROJECT_NAME}" + export SONAR_ARGS=" -Dsonar.projectKey=thoughtcode_${PROJECT_NAME}" export SONAR_ARGS="$SONAR_ARGS -Dsonar.organization=$ENV_SONAR_ORGANIZATION" export SONAR_ARGS="$SONAR_ARGS -Dsonar.host.url=https://sonarcloud.io" export SONAR_ARGS="$SONAR_ARGS -Dsonar.coverage.jacoco.xmlReportPaths=$COVERAGE_FILE" From ff113ce0bf15de8d159f0b5a758b4b30079f4f7f Mon Sep 17 00:00:00 2001 From: Thought Code Date: Sat, 11 Feb 2023 20:13:47 +0530 Subject: [PATCH 63/77] GH-5: Rename the packages --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 62b4eff..c18f7d6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -28,7 +28,7 @@ jobs: export COVERAGE_FILE="jacoco-report/target/site/jacoco-aggregate/jacoco.xml" export CODACY_PROJECT_NAME="$PROJECT_NAME" - export SONAR_ARGS=" -Dsonar.projectKey=thoughtcode_${PROJECT_NAME}" + export SONAR_ARGS=" -Dsonar.projectKey=thethoughtcode_${PROJECT_NAME}" export SONAR_ARGS="$SONAR_ARGS -Dsonar.organization=$ENV_SONAR_ORGANIZATION" export SONAR_ARGS="$SONAR_ARGS -Dsonar.host.url=https://sonarcloud.io" export SONAR_ARGS="$SONAR_ARGS -Dsonar.coverage.jacoco.xmlReportPaths=$COVERAGE_FILE" From 9ad149232bbd031f1310557f352af12f3253235a Mon Sep 17 00:00:00 2001 From: Thought Code Date: Sat, 11 Feb 2023 20:26:46 +0530 Subject: [PATCH 64/77] GH-5: Rename the packages --- .circleci/config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index c18f7d6..39dc546 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -23,6 +23,8 @@ jobs: name: Build command: | + env + export PROJECT_NAME="code-challenges-java" export SONAR_TOKEN="${ENV_SONAR_TOKEN_CODE_CHALLENGES_JAVA}" export COVERAGE_FILE="jacoco-report/target/site/jacoco-aggregate/jacoco.xml" From fee1d66ddf1205bbbb70a6e0e509e757440e5b29 Mon Sep 17 00:00:00 2001 From: Thought Code Date: Sat, 11 Feb 2023 20:30:33 +0530 Subject: [PATCH 65/77] GH-5: Rename the packages --- .circleci/config.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 39dc546..a6dcfd5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -23,7 +23,11 @@ jobs: name: Build command: | - env + VALUE=$(env | grep "CODACY" | cut -d= -f2) + + echo "==============" + echo $VALUE + echo "==============" export PROJECT_NAME="code-challenges-java" export SONAR_TOKEN="${ENV_SONAR_TOKEN_CODE_CHALLENGES_JAVA}" From a1414624f64c274c8b2dcd64987dc6bdc01ac7ae Mon Sep 17 00:00:00 2001 From: Thought Code Date: Sat, 11 Feb 2023 20:34:40 +0530 Subject: [PATCH 66/77] GH-5: Rename the packages --- .circleci/config.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a6dcfd5..c71fd15 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -23,18 +23,14 @@ jobs: name: Build command: | - VALUE=$(env | grep "CODACY" | cut -d= -f2) - - echo "==============" - echo $VALUE - echo "==============" - + export CODE_USER="thethoughtcode" export PROJECT_NAME="code-challenges-java" export SONAR_TOKEN="${ENV_SONAR_TOKEN_CODE_CHALLENGES_JAVA}" export COVERAGE_FILE="jacoco-report/target/site/jacoco-aggregate/jacoco.xml" export CODACY_PROJECT_NAME="$PROJECT_NAME" + export CODACY_USERNAME="$CODE_USER" - export SONAR_ARGS=" -Dsonar.projectKey=thethoughtcode_${PROJECT_NAME}" + export SONAR_ARGS=" -Dsonar.projectKey=${CODE_USER}_${PROJECT_NAME}" export SONAR_ARGS="$SONAR_ARGS -Dsonar.organization=$ENV_SONAR_ORGANIZATION" export SONAR_ARGS="$SONAR_ARGS -Dsonar.host.url=https://sonarcloud.io" export SONAR_ARGS="$SONAR_ARGS -Dsonar.coverage.jacoco.xmlReportPaths=$COVERAGE_FILE" From ae526fa6ae06ee7a5129be1c1af06a20b3419c61 Mon Sep 17 00:00:00 2001 From: Thought Code Date: Sat, 11 Feb 2023 21:28:11 +0530 Subject: [PATCH 67/77] GH-5: SonarQube violations --- .../java/codingbat/warmup2/StringYak.java | 2 +- .../io/thoughtcode/java/exercism/Anagram.java | 2 +- .../thoughtcode/java/exercism/BlackJack.java | 18 +++++------ .../java/exercism/CarsAssemble.java | 4 +-- .../java/exercism/SalaryCalculator.java | 2 +- .../io/thoughtcode/java/exercism/Say.java | 32 +++++++++---------- .../thoughtcode/java/exercism/TwelveDays.java | 32 +++++++++---------- 7 files changed, 46 insertions(+), 46 deletions(-) diff --git a/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringYak.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringYak.java index 0afdb3f..0ed5091 100644 --- a/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringYak.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringYak.java @@ -14,7 +14,7 @@ public String stringYak(final String str) { String output = input; if (input.length() >= THREE) { - output = str.replaceAll("y[a-zA-Z0-9]{1}k", ""); + output = input.replaceAll("y[a-zA-Z0-9]{1}k", ""); } return output; diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/Anagram.java b/exercism/src/main/java/io/thoughtcode/java/exercism/Anagram.java index 3fd9dbc..4852301 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/Anagram.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/Anagram.java @@ -48,7 +48,7 @@ private boolean match(final String matchAgainst) { match = wordCharacters.keySet() .stream() .noneMatch(it -> !matchCharacters.containsKey(it) - || wordCharacters.get(it) != matchCharacters.get(it)); + || wordCharacters.get(it).equals(matchCharacters.get(it)) != true); } return match; diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/BlackJack.java b/exercism/src/main/java/io/thoughtcode/java/exercism/BlackJack.java index a44172b..f00d911 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/BlackJack.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/BlackJack.java @@ -15,15 +15,15 @@ public class BlackJack { static final int SCORE_SEVEN = 7; - static final Set HIGH_VALUE_CARDS = new HashSet() { - { - add(Card.ACE.getValue()); - add(Card.TEN.getValue()); - add(Card.JACK.getValue()); - add(Card.QUEEN.getValue()); - add(Card.KING.getValue()); - } - }; + static final Set HIGH_VALUE_CARDS = new HashSet(); + + static { + HIGH_VALUE_CARDS.add(Card.ACE.getValue()); + HIGH_VALUE_CARDS.add(Card.TEN.getValue()); + HIGH_VALUE_CARDS.add(Card.JACK.getValue()); + HIGH_VALUE_CARDS.add(Card.QUEEN.getValue()); + HIGH_VALUE_CARDS.add(Card.KING.getValue()); + } public int parseCard(final String card) { return Card.get(card).getValue(); diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/CarsAssemble.java b/exercism/src/main/java/io/thoughtcode/java/exercism/CarsAssemble.java index 2a2890c..dc7d916 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/CarsAssemble.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/CarsAssemble.java @@ -5,9 +5,9 @@ public class CarsAssemble { - static final int CARS_PER_HOUR = 221; + static final double CARS_PER_HOUR = 221.0; - static final int MINUTES_PER_HOUR = 60; + static final double MINUTES_PER_HOUR = 60.0; public double productionRatePerHour(final int speed) { final BigDecimal totalCars = BigDecimal.valueOf(CARS_PER_HOUR * speed); diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/SalaryCalculator.java b/exercism/src/main/java/io/thoughtcode/java/exercism/SalaryCalculator.java index adcf7ca..d936d9f 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/SalaryCalculator.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/SalaryCalculator.java @@ -15,7 +15,7 @@ public int multiplierPerProductsSold(final int productsSold) { } public double bonusForProductSold(final int productsSold) { - return multiplierPerProductsSold(productsSold) * productsSold; + return ((double) multiplierPerProductsSold(productsSold)) * productsSold; } public double finalSalary(final int daysSkipped, final int productsSold) { diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/Say.java b/exercism/src/main/java/io/thoughtcode/java/exercism/Say.java index e5546db..ed43416 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/Say.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/Say.java @@ -13,16 +13,16 @@ public class Say { static final int TWENTY = 20; - static final List NUMBERS = new ArrayList<>() { - { - add(NamedNumber.QUINTILLION); - add(NamedNumber.QUADRILLION); - add(NamedNumber.TRILLION); - add(NamedNumber.BILLION); - add(NamedNumber.MILLION); - add(NamedNumber.THOUSAND); - } - }; + static final List NUMBERS = new ArrayList<>(); + + static { + NUMBERS.add(NamedNumber.QUINTILLION); + NUMBERS.add(NamedNumber.QUADRILLION); + NUMBERS.add(NamedNumber.TRILLION); + NUMBERS.add(NamedNumber.BILLION); + NUMBERS.add(NamedNumber.MILLION); + NUMBERS.add(NamedNumber.THOUSAND); + } public String say(final long number) { @@ -198,12 +198,12 @@ enum NamedNumber { ZERO(0); - static final Map VALUES = new HashMap() { - { - Arrays.stream(NamedNumber.values()) - .forEach(number -> put(number.getNumber(), number.name().toLowerCase(Locale.getDefault()))); - } - }; + static final Map VALUES = new HashMap(); + + static { + Arrays.stream(NamedNumber.values()) + .forEach(number -> VALUES.put(number.getNumber(), number.name().toLowerCase(Locale.getDefault()))); + } static String getString(final long number) { return VALUES.getOrDefault(number, ""); diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/TwelveDays.java b/exercism/src/main/java/io/thoughtcode/java/exercism/TwelveDays.java index b3b5dd4..011b53e 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/TwelveDays.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/TwelveDays.java @@ -10,22 +10,22 @@ class TwelveDays { static final String PREFIX = "On the %s day of Christmas my true love gave to me:"; - static final LinkedHashMap ITEMS = new LinkedHashMap<>() { - { - put(1, new String[] { "first", "a Partridge in a Pear Tree" }); - put(2, new String[] { "second", "two Turtle Doves" }); - put(3, new String[] { "third", "three French Hens" }); - put(4, new String[] { "fourth", "four Calling Birds" }); - put(5, new String[] { "fifth", "five Gold Rings" }); - put(6, new String[] { "sixth", "six Geese-a-Laying" }); - put(7, new String[] { "seventh", "seven Swans-a-Swimming" }); - put(8, new String[] { "eighth", "eight Maids-a-Milking" }); - put(9, new String[] { "ninth", "nine Ladies Dancing" }); - put(10, new String[] { "tenth", "ten Lords-a-Leaping" }); - put(11, new String[] { "eleventh", "eleven Pipers Piping" }); - put(12, new String[] { "twelfth", "twelve Drummers Drumming" }); - } - }; + static final LinkedHashMap ITEMS = new LinkedHashMap<>(); + + static { + ITEMS.put(1, new String[] { "first", "a Partridge in a Pear Tree" }); + ITEMS.put(2, new String[] { "second", "two Turtle Doves" }); + ITEMS.put(3, new String[] { "third", "three French Hens" }); + ITEMS.put(4, new String[] { "fourth", "four Calling Birds" }); + ITEMS.put(5, new String[] { "fifth", "five Gold Rings" }); + ITEMS.put(6, new String[] { "sixth", "six Geese-a-Laying" }); + ITEMS.put(7, new String[] { "seventh", "seven Swans-a-Swimming" }); + ITEMS.put(8, new String[] { "eighth", "eight Maids-a-Milking" }); + ITEMS.put(9, new String[] { "ninth", "nine Ladies Dancing" }); + ITEMS.put(10, new String[] { "tenth", "ten Lords-a-Leaping" }); + ITEMS.put(11, new String[] { "eleventh", "eleven Pipers Piping" }); + ITEMS.put(12, new String[] { "twelfth", "twelve Drummers Drumming" }); + } String verse(final int verseNumber) { From e17a714cc3c7d54ff85ffa1f4be4d01ccf4557a8 Mon Sep 17 00:00:00 2001 From: Thought Code Date: Sat, 11 Feb 2023 21:37:50 +0530 Subject: [PATCH 68/77] GH-5: SonarQube violations --- .../java/codingbat/warmup2/Array123.java | 2 +- .../java/codingbat/warmup2/Array667.java | 2 +- .../java/codingbat/warmup2/CountXX.java | 2 +- .../java/codingbat/warmup2/StringYak.java | 2 +- .../warmup2/{CountXxTest.java => CountXXTest.java} | 14 +++++++------- .../java/common/NumberConstantsTest.java | 2 +- .../java/exercism/ArmstrongNumbers.java | 2 +- 7 files changed, 13 insertions(+), 13 deletions(-) rename codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/{CountXxTest.java => CountXXTest.java} (81%) diff --git a/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/Array123.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/Array123.java index f8ce8c3..a56325d 100644 --- a/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/Array123.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/Array123.java @@ -11,7 +11,7 @@ public boolean array123(final int[] input) { final StringBuilder inputStr = new StringBuilder(); - Arrays.stream(nums).forEach(num -> inputStr.append(num)); + Arrays.stream(nums).forEach(inputStr::append); return inputStr.toString().contains("123"); } diff --git a/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/Array667.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/Array667.java index 0a4e7dd..48f6259 100644 --- a/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/Array667.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/Array667.java @@ -15,7 +15,7 @@ public int array667(final int[] input) { final StringBuilder numString = new StringBuilder(); - Arrays.stream(nums).forEach(num -> numString.append(num)); + Arrays.stream(nums).forEach(numString::append); final Matcher matcher = PATTERN.matcher(numString); diff --git a/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/CountXX.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/CountXX.java index 3fb5591..3bd806f 100644 --- a/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/CountXX.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/CountXX.java @@ -10,7 +10,7 @@ public final class CountXX { static final Pattern PATTERN = Pattern.compile("([x]){2}"); - public int countXX(final String str) { + public int countXXValues(final String str) { int count = 0; diff --git a/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringYak.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringYak.java index 0ed5091..d150892 100644 --- a/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringYak.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/StringYak.java @@ -14,7 +14,7 @@ public String stringYak(final String str) { String output = input; if (input.length() >= THREE) { - output = input.replaceAll("y[a-zA-Z0-9]{1}k", ""); + output = input.replaceAll("y[a-zA-Z0-9]k", ""); } return output; diff --git a/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/CountXxTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/CountXXTest.java similarity index 81% rename from codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/CountXxTest.java rename to codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/CountXXTest.java index 38421ab..aa147ad 100644 --- a/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/CountXxTest.java +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/CountXXTest.java @@ -6,7 +6,7 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -class CountXxTest { +class CountXXTest { private CountXX fixture; @@ -22,7 +22,7 @@ void shouldReturnZeroWhenStringIsNull() { final int expected = 0; - final int actual = fixture.countXX(str); + final int actual = fixture.countXXValues(str); assertThat(actual).isEqualTo(expected); } @@ -34,7 +34,7 @@ void shouldReturnZeroWhenStringIsEmpty() { final int expected = 0; - final int actual = fixture.countXX(str); + final int actual = fixture.countXXValues(str); assertThat(actual).isEqualTo(expected); } @@ -46,7 +46,7 @@ void shouldReturnZeroWhenStringIsNotEmptyAndNoOccurrence() { final int expected = 0; - final int actual = fixture.countXX(str); + final int actual = fixture.countXXValues(str); assertThat(actual).isEqualTo(expected); } @@ -58,7 +58,7 @@ void shouldReturnCountOneWhenStringIsNotEmptyAndSingleOccurrence() { final int expected = 1; - final int actual = fixture.countXX(str); + final int actual = fixture.countXXValues(str); assertThat(actual).isEqualTo(expected); } @@ -70,7 +70,7 @@ void shouldReturnCountOneWhenStringIsNotEmptyAndMultipleOccurrenceNonOverlapping final int expected = 2; - final int actual = fixture.countXX(str); + final int actual = fixture.countXXValues(str); assertThat(actual).isEqualTo(expected); } @@ -82,7 +82,7 @@ void shouldReturnCountOneWhenStringIsNotEmptyAndMultipleOccurrenceOverlapping() final int expected = 3; - final int actual = fixture.countXX(str); + final int actual = fixture.countXXValues(str); assertThat(actual).isEqualTo(expected); } diff --git a/common/src/test/java/io/thoughtcode/java/common/NumberConstantsTest.java b/common/src/test/java/io/thoughtcode/java/common/NumberConstantsTest.java index f9fb9e9..6f4ac4e 100644 --- a/common/src/test/java/io/thoughtcode/java/common/NumberConstantsTest.java +++ b/common/src/test/java/io/thoughtcode/java/common/NumberConstantsTest.java @@ -35,7 +35,7 @@ void defaultCase() { values.put(NumberConstants.HUNDRED, "100"); for (final Entry entry : values.entrySet()) { - assertThat(entry.getKey().intValue() == Integer.parseInt(entry.getValue())); + assertThat(entry.getKey().intValue() == Integer.parseInt(entry.getValue())).isTrue(); } } } diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/ArmstrongNumbers.java b/exercism/src/main/java/io/thoughtcode/java/exercism/ArmstrongNumbers.java index 466e9fe..2350e73 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/ArmstrongNumbers.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/ArmstrongNumbers.java @@ -14,7 +14,7 @@ boolean isArmstrongNumber(final int numberToCheck) { int currentDigit = number % 10; - numberCalculated = numberCalculated + (int) Math.pow((double) currentDigit, (double) numberOfDigits); + numberCalculated = numberCalculated + (int) Math.pow(currentDigit, numberOfDigits); number = number / 10; } From febf80ec14c77f961c9649601e9c854b1d174877 Mon Sep 17 00:00:00 2001 From: Thought Code Date: Sat, 11 Feb 2023 21:47:56 +0530 Subject: [PATCH 69/77] GH-5: SonarQube violations --- .../io/thoughtcode/java/exercism/AnnalynsInfiltration.java | 2 +- .../main/java/io/thoughtcode/java/exercism/BirdWatcher.java | 2 +- .../src/main/java/io/thoughtcode/java/exercism/Grains.java | 6 +++--- quality/checkstyle.xml | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/AnnalynsInfiltration.java b/exercism/src/main/java/io/thoughtcode/java/exercism/AnnalynsInfiltration.java index 82756d2..c9e8db7 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/AnnalynsInfiltration.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/AnnalynsInfiltration.java @@ -18,7 +18,7 @@ boolean canSignalPrisoner(final boolean archerIsAwake, final boolean prisonerIsA boolean canFreePrisoner(final boolean knightIsAwake, final boolean archerIsAwake, final boolean prisonerIsAwake, final boolean petDogIsPresent) { - boolean result = false; + boolean result; if (petDogIsPresent) { result = !archerIsAwake; diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/BirdWatcher.java b/exercism/src/main/java/io/thoughtcode/java/exercism/BirdWatcher.java index 48978cf..dd2a865 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/BirdWatcher.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/BirdWatcher.java @@ -24,7 +24,7 @@ public int[] getLastWeek() { final int multiplier = (dayCount - 1) / DAYS_IN_WEEK; - final int lastWeekStartIndex = (DAYS_IN_WEEK * multiplier); + final int lastWeekStartIndex = DAYS_IN_WEEK * multiplier; lastWeekBirdsPerDay = new int[dayCount - lastWeekStartIndex]; diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/Grains.java b/exercism/src/main/java/io/thoughtcode/java/exercism/Grains.java index d2e2427..9cd3033 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/Grains.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/Grains.java @@ -8,7 +8,7 @@ public class Grains { static final Map GRAINS_ON_SQUARE = new HashMap<>(); - static BigInteger TOTAL_GRAINS = BigInteger.ZERO; + static BigInteger totalGrains = BigInteger.ZERO; static { @@ -24,7 +24,7 @@ public class Grains { GRAINS_ON_SQUARE.put(position, grainOnPosition); // Calculate and store the total Grains - TOTAL_GRAINS = TOTAL_GRAINS.add(grainOnPosition); + totalGrains = totalGrains.add(grainOnPosition); } } @@ -38,6 +38,6 @@ BigInteger grainsOnSquare(final int square) { } BigInteger grainsOnBoard() { - return TOTAL_GRAINS; + return totalGrains; } } diff --git a/quality/checkstyle.xml b/quality/checkstyle.xml index f85673d..8b62f65 100644 --- a/quality/checkstyle.xml +++ b/quality/checkstyle.xml @@ -240,7 +240,7 @@ --> - + From 89492b01293c38429379d7d5b5e4a320f0419056 Mon Sep 17 00:00:00 2001 From: Thought Code Date: Sat, 11 Feb 2023 21:52:21 +0530 Subject: [PATCH 70/77] GH-5: SonarQube violations --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0e7fbf5..facfb6c 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -# code-challenges-java \ No newline at end of file +# code-challenges-java From f1587770540e812c13bbd35828eb52d4482de923 Mon Sep 17 00:00:00 2001 From: Thought Code Date: Sat, 11 Feb 2023 22:07:14 +0530 Subject: [PATCH 71/77] GH-5: SonarQube violations --- quality/ruleset.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/quality/ruleset.xml b/quality/ruleset.xml index cec3552..bab444a 100644 --- a/quality/ruleset.xml +++ b/quality/ruleset.xml @@ -12,6 +12,7 @@ + @@ -61,7 +62,7 @@ - + From 2a33ae99b9e015b5e9a9e5d136be747d65c5778f Mon Sep 17 00:00:00 2001 From: Thought Code Date: Sat, 11 Feb 2023 22:42:15 +0530 Subject: [PATCH 72/77] GH-5: SonarQube violations --- .../io/thoughtcode/java/exercism/Say.java | 221 ------------------ .../io/thoughtcode/java/exercism/SayTest.java | 87 ------- 2 files changed, 308 deletions(-) delete mode 100644 exercism/src/main/java/io/thoughtcode/java/exercism/Say.java delete mode 100644 exercism/src/test/java/io/thoughtcode/java/exercism/SayTest.java diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/Say.java b/exercism/src/main/java/io/thoughtcode/java/exercism/Say.java deleted file mode 100644 index ed43416..0000000 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/Say.java +++ /dev/null @@ -1,221 +0,0 @@ -package io.thoughtcode.java.exercism; - -import static java.lang.String.format; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; - -public class Say { - - static final int TWENTY = 20; - - static final List NUMBERS = new ArrayList<>(); - - static { - NUMBERS.add(NamedNumber.QUINTILLION); - NUMBERS.add(NamedNumber.QUADRILLION); - NUMBERS.add(NamedNumber.TRILLION); - NUMBERS.add(NamedNumber.BILLION); - NUMBERS.add(NamedNumber.MILLION); - NUMBERS.add(NamedNumber.THOUSAND); - } - - public String say(final long number) { - - validate(number); - - final String result; - - if (number != 0) { - result = sayNumber(number); - } else { - result = NamedNumber.getString(number); - } - - return result; - } - - private void validate(final long number) { - - if (number < 0) { - throw new IllegalArgumentException("negative numbers not allowed"); - } - - if (number >= NamedNumber.TRILLION.getNumber()) { - throw new IllegalArgumentException("number too big"); - } - } - - private String sayNumber(final long number) { - - final StringBuilder result = new StringBuilder(); - - long value = number; - - for (int index = 0; value != 0 && index < NUMBERS.size(); index++) { - - final long divisor = NUMBERS.get(index).getNumber(); - - final long currentNumber = value / divisor; - - value = value % divisor; - - if (currentNumber != 0) { - if (currentNumber >= NamedNumber.HUNDRED.getNumber()) { - result.append( - format("%s %s ", sayThreeDigitNumber(currentNumber), NamedNumber.getString(divisor))); - } else { - result.append( - format("%s %s ", sayTwoDigitNumber(currentNumber), NamedNumber.getString(divisor))); - } - } else if (value < NamedNumber.THOUSAND.getNumber()) { - result.append(sayThreeDigitNumber(number) + " "); - value = 0; - } - } - - if (value != 0) { - result.append(sayThreeDigitNumber(value)); - } - - return result.toString().trim(); - } - - private String sayThreeDigitNumber(final long number) { - - final int hundred = (int) NamedNumber.HUNDRED.getNumber(); - - // final int hundredsValue = ((int) Math.floor(number / hundred)) * hundred; - final int hundredsDigit = (int) (number / hundred); - final int twoDigitNumber = (int) (number % NamedNumber.HUNDRED.getNumber()); - - final StringBuilder result = new StringBuilder(); - - if (hundredsDigit != 0) { - result.append(NamedNumber.getString(hundredsDigit) + " hundred "); - } - - if (twoDigitNumber != 0) { - result.append(sayTwoDigitNumber(twoDigitNumber)); - } - - return result.toString().trim(); - } - - private String sayTwoDigitNumber(final long number) { - - final StringBuilder result = new StringBuilder(); - - if (number >= TWENTY) { - final int tensValue = ((int) Math.floor(number / 10.0)) * 10; - final int unitsValue = (int) number % 10; - - final String tensString = NamedNumber.getString(tensValue); - final String unitsString = unitsValue != 0 ? "-" + NamedNumber.getString(unitsValue) : ""; - - result.append(format(" %s%s", tensString, unitsString).trim()); - } else { - result.append(NamedNumber.getString(number)); - } - - return result.toString().trim(); - } -} - -enum NamedNumber { - - QUINTILLION(1_000_000_000_000_000_000L), - - QUADRILLION(1_000_000_000_000_000L), - - TRILLION(1_000_000_000_000L), - - BILLION(1_000_000_000L), - - MILLION(1_000_000L), - - THOUSAND(1_000L), - - HUNDRED(100), - - NINETY(90), - - EIGHTY(80), - - SEVENTY(70), - - SIXTY(60), - - FIFTY(50), - - FORTY(40), - - THIRTY(30), - - TWENTY(20), - - NINETEEN(19), - - EIGHTEEN(18), - - SEVENTEEN(17), - - SIXTEEN(16), - - FIFTEEN(15), - - FOURTEEN(14), - - THIRTEEN(13), - - TWELVE(12), - - ELEVEN(11), - - TEN(10), - - NINE(9), - - EIGHT(8), - - SEVEN(7), - - SIX(6), - - FIVE(5), - - FOUR(4), - - THREE(3), - - TWO(2), - - ONE(1), - - ZERO(0); - - static final Map VALUES = new HashMap(); - - static { - Arrays.stream(NamedNumber.values()) - .forEach(number -> VALUES.put(number.getNumber(), number.name().toLowerCase(Locale.getDefault()))); - } - - static String getString(final long number) { - return VALUES.getOrDefault(number, ""); - } - - private final long number; - - private NamedNumber(final long number) { - this.number = number; - } - - public long getNumber() { - return number; - } -} diff --git a/exercism/src/test/java/io/thoughtcode/java/exercism/SayTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/SayTest.java deleted file mode 100644 index 75c1db6..0000000 --- a/exercism/src/test/java/io/thoughtcode/java/exercism/SayTest.java +++ /dev/null @@ -1,87 +0,0 @@ -package io.thoughtcode.java.exercism; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatExceptionOfType; - -import org.junit.jupiter.api.Test; - -class SayTest { - - private Say say = new Say(); - - @Test - void zero() { - assertThat(say.say(0)).isEqualTo("zero"); - } - - @Test - void one() { - assertThat(say.say(1)).isEqualTo("one"); - } - - @Test - void fourteen() { - assertThat(say.say(14)).isEqualTo("fourteen"); - } - - @Test - void twenty() { - assertThat(say.say(20)).isEqualTo("twenty"); - } - - @Test - void twentyTwo() { - assertThat(say.say(22)).isEqualTo("twenty-two"); - } - - @Test - void oneHundred() { - assertThat(say.say(100)).isEqualTo("one hundred"); - } - - @Test - void oneHundredTwentyThree() { - assertThat(say.say(123)).isEqualTo("one hundred twenty-three"); - } - - @Test - void oneThousand() { - assertThat(say.say(1_000)).isEqualTo("one thousand"); - } - - @Test - void oneThousandTwoHundredThirtyFour() { - assertThat(say.say(1_234)).isEqualTo("one thousand two hundred thirty-four"); - } - - @Test - void oneMillion() { - assertThat(say.say(1_000_000)).isEqualTo("one million"); - } - - @Test - void oneMillionTwoThousandThreeHundredFortyFive() { - assertThat(say.say(1_002_345)).isEqualTo("one million two thousand three hundred forty-five"); - } - - @Test - void oneBillion() { - assertThat(say.say(1_000_000_000)).isEqualTo("one billion"); - } - - @Test - void nineHundredEightySevenBillionSixHundredFiftyFourThreeHundredTwentyOneThousandOneHundredTwentyThree() { - assertThat(say.say(987_654_321_123L)) - .isEqualTo("nine hundred eighty-seven billion six hundred fifty-four million" + - " three hundred twenty-one thousand one hundred twenty-three"); - } - - void illegalNegativeNumber() { - assertThatExceptionOfType(IllegalArgumentException.class).isThrownBy(() -> say.say(-1)); - } - - void illegalTooBigNumber() { - assertThatExceptionOfType(IllegalArgumentException.class) - .isThrownBy(() -> say.say(NamedNumber.TRILLION.getNumber())); - } -} From 5fc4871f7d69d7f18557d3f678e9f950c4a850df Mon Sep 17 00:00:00 2001 From: Thought Code Date: Sun, 12 Feb 2023 00:59:33 +0530 Subject: [PATCH 73/77] GH-5: Codacy violations --- .../java/exercism/ArmstrongNumbers.java | 2 +- .../thoughtcode/java/exercism/BlackJack.java | 27 ++- .../java/exercism/CarsAssemble.java | 36 ++- .../java/exercism/LanguageList.java | 6 +- .../thoughtcode/java/exercism/LogLevels.java | 8 +- .../java/exercism/NaturalNumber.java | 10 +- .../io/thoughtcode/java/exercism/Proverb.java | 4 +- .../java/exercism/RemoteControlCarDemo.java | 9 +- .../java/exercism/ResistorColorCode.java | 2 +- .../java/exercism/ReverseString.java | 2 +- .../io/thoughtcode/java/exercism/SaySay.java | 221 ++++++++++++++++++ .../DifferenceOfSquaresCalculatorTest.java | 6 +- .../java/exercism/DnDCharacterTest.java | 22 +- .../java/exercism/FlattenListTest.java | 12 +- .../thoughtcode/java/exercism/GrainsTest.java | 2 +- .../java/exercism/LogLevelsTest.java | 2 +- .../java/exercism/NeedForSpeedTest.java | 2 +- .../java/exercism/ProverbTest.java | 10 +- .../java/exercism/RaindropConverterTest.java | 2 +- .../java/exercism/ResistorColorDuoTest.java | 10 +- .../thoughtcode/java/exercism/SaySayTest.java | 87 +++++++ quality/ruleset.xml | 2 +- 22 files changed, 414 insertions(+), 70 deletions(-) create mode 100644 exercism/src/main/java/io/thoughtcode/java/exercism/SaySay.java create mode 100644 exercism/src/test/java/io/thoughtcode/java/exercism/SaySayTest.java diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/ArmstrongNumbers.java b/exercism/src/main/java/io/thoughtcode/java/exercism/ArmstrongNumbers.java index 2350e73..646ac59 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/ArmstrongNumbers.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/ArmstrongNumbers.java @@ -12,7 +12,7 @@ boolean isArmstrongNumber(final int numberToCheck) { while (number != 0) { - int currentDigit = number % 10; + final int currentDigit = number % 10; numberCalculated = numberCalculated + (int) Math.pow(currentDigit, numberOfDigits); diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/BlackJack.java b/exercism/src/main/java/io/thoughtcode/java/exercism/BlackJack.java index f00d911..1017068 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/BlackJack.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/BlackJack.java @@ -1,6 +1,7 @@ package io.thoughtcode.java.exercism; import java.util.HashSet; +import java.util.Optional; import java.util.Set; public class BlackJack { @@ -15,7 +16,7 @@ public class BlackJack { static final int SCORE_SEVEN = 7; - static final Set HIGH_VALUE_CARDS = new HashSet(); + static final Set HIGH_VALUE_CARDS = new HashSet<>(); static { HIGH_VALUE_CARDS.add(Card.ACE.getValue()); @@ -38,10 +39,10 @@ public String largeHand(final boolean isBlackjack, final int dealerScore) { final Decision decision; if (isBlackjack) { - if (!HIGH_VALUE_CARDS.contains(dealerScore)) { - decision = Decision.WIN; - } else { + if (HIGH_VALUE_CARDS.contains(dealerScore)) { decision = Decision.STAND; + } else { + decision = Decision.WIN; } } else { // It's not Blackjack, and large-hand scenario (player-score -> 22) @@ -76,14 +77,19 @@ public String smallHand(final int handScore, final int dealerScore) { // the other functions together in a // complete decision tree for the first turn. public String firstTurn(final String card1, final String card2, final String dealerCard) { + final int handScore = parseCard(card1) + parseCard(card2); final int dealerScore = parseCard(dealerCard); + final String result; + if (SCORE_TWENTY < handScore) { - return largeHand(isBlackjack(card1, card2), dealerScore); + result = largeHand(isBlackjack(card1, card2), dealerScore); } else { - return smallHand(handScore, dealerScore); + result = smallHand(handScore, dealerScore); } + + return result; } } @@ -121,13 +127,16 @@ enum Card { static Card get(final String cardValueToParse) { + Card resultCard = null; + for (final Card card : Card.values()) { if (card.name().equalsIgnoreCase(cardValueToParse)) { - return card; + resultCard = card; + break; } } - return Card.UNKNOWN; + return Optional.ofNullable(resultCard).orElse(Card.UNKNOWN); } Card(final int value) { @@ -151,7 +160,7 @@ enum Decision { private String code; - private Decision(final String code) { + Decision(final String code) { this.code = code; } diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/CarsAssemble.java b/exercism/src/main/java/io/thoughtcode/java/exercism/CarsAssemble.java index dc7d916..6e4a935 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/CarsAssemble.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/CarsAssemble.java @@ -9,6 +9,24 @@ public class CarsAssemble { static final double MINUTES_PER_HOUR = 60.0; + static final double SPEED_ZERO = 0; + + static final double SPEED_FOUR = 4; + + static final double SPEED_EIGHT = 8; + + static final double SPEED_NINE = 9; + + static final double SUCCESS_RATE_ZERO = 0.0; + + static final double SUCCESS_RATE_HUNDRED = 1.0; + + static final double SUCCESS_RATE_EIGHTY = 0.8; + + static final double SUCCESS_RATE_NINETY = 0.9; + + static final double SUCCESS_RATE_DEFAULT = 0.77; + public double productionRatePerHour(final int speed) { final BigDecimal totalCars = BigDecimal.valueOf(CARS_PER_HOUR * speed); return BigDecimal.valueOf(getSuccessRate(speed)).multiply(totalCars).doubleValue(); @@ -23,16 +41,16 @@ private double getSuccessRate(final int speed) { final double successRate; - if (speed <= 0) { - successRate = 0.0; - } else if (speed <= 4) { - successRate = 1.0; - } else if (speed <= 8) { - successRate = 0.9; - } else if (speed == 9) { - successRate = 0.8; + if (speed <= SPEED_ZERO) { + successRate = SUCCESS_RATE_ZERO; + } else if (speed <= SPEED_FOUR) { + successRate = SUCCESS_RATE_HUNDRED; + } else if (speed <= SPEED_EIGHT) { + successRate = SUCCESS_RATE_NINETY; + } else if (speed == SPEED_NINE) { + successRate = SUCCESS_RATE_EIGHTY; } else { - successRate = 0.77; + successRate = SUCCESS_RATE_DEFAULT; } return successRate; diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/LanguageList.java b/exercism/src/main/java/io/thoughtcode/java/exercism/LanguageList.java index bc24f9a..5f13be5 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/LanguageList.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/LanguageList.java @@ -16,6 +16,10 @@ public boolean isEmpty() { return languages.isEmpty(); } + public boolean isNotEmpty() { + return !isEmpty(); + } + public void addLanguage(final String language) { if (!containsLanguage(language)) { languages.add(language); @@ -27,7 +31,7 @@ public void removeLanguage(final String language) { } public String firstLanguage() { - return !isEmpty() ? languages.get(0) : null; + return isNotEmpty() ? languages.get(0) : null; } public int count() { diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/LogLevels.java b/exercism/src/main/java/io/thoughtcode/java/exercism/LogLevels.java index e529421..1d33f9c 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/LogLevels.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/LogLevels.java @@ -6,19 +6,19 @@ public class LogLevels { - static Pattern LOG_PATTERN = Pattern.compile("\\[([A-Z]+)\\]:(.*)", Pattern.DOTALL); - static final int MATCHER_GROUP_LOG_LEVEL = 1; static final int MATCHER_GROUP_LOG_MESSAGE = 2; + static Pattern logPattern = Pattern.compile("\\[([A-Z]+)\\]:(.*)", Pattern.DOTALL); + public String message(final String logLine) { - final Matcher matcher = LOG_PATTERN.matcher(logLine); + final Matcher matcher = logPattern.matcher(logLine); return matcher.matches() ? matcher.group(MATCHER_GROUP_LOG_MESSAGE).trim() : ""; } public String logLevel(final String logLine) { - final Matcher matcher = LOG_PATTERN.matcher(logLine); + final Matcher matcher = logPattern.matcher(logLine); return matcher.matches() ? matcher.group(MATCHER_GROUP_LOG_LEVEL).trim().toLowerCase(Locale.getDefault()) : ""; } diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/NaturalNumber.java b/exercism/src/main/java/io/thoughtcode/java/exercism/NaturalNumber.java index d341721..e59fd24 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/NaturalNumber.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/NaturalNumber.java @@ -1,5 +1,7 @@ package io.thoughtcode.java.exercism; +import io.thoughtcode.java.common.NumberConstants; + public class NaturalNumber { private final int number; @@ -17,8 +19,9 @@ public Classification getClassification() { final Classification result; - if (number != 1) { - + if (number == NumberConstants.ONE) { + result = Classification.DEFICIENT; + } else { final int sum = getSumOfDivisors(number); if (sum < number) { @@ -28,9 +31,6 @@ public Classification getClassification() { } else { result = Classification.PERFECT; } - - } else { - result = Classification.DEFICIENT; } return result; diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/Proverb.java b/exercism/src/main/java/io/thoughtcode/java/exercism/Proverb.java index 32bc584..8762689 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/Proverb.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/Proverb.java @@ -1,11 +1,13 @@ package io.thoughtcode.java.exercism; +import java.util.Arrays; + class Proverb { private final String[] words; Proverb(final String[] words) { - this.words = words; + this.words = Arrays.copyOf(words, words.length); } String recite() { diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/RemoteControlCarDemo.java b/exercism/src/main/java/io/thoughtcode/java/exercism/RemoteControlCarDemo.java index c32c38b..95e459d 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/RemoteControlCarDemo.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/RemoteControlCarDemo.java @@ -6,6 +6,9 @@ public class RemoteControlCarDemo { + private RemoteControlCarDemo(){ + } + public static void race(final RemoteControlCar car) { car.drive(); } @@ -28,7 +31,7 @@ class ExperimentalRemoteControlCar implements RemoteControlCar { static final int DEFAULT_DRIVE_DISTANCE = 20; - private int distanceDriven = 0; + private int distanceDriven; @Override public void drive() { @@ -44,9 +47,9 @@ class ProductionRemoteControlCar implements RemoteControlCar { private static final int DEFAULT_DRIVE_DISTANCE = 10; - private int distanceDriven = 0; + private int distanceDriven; - private int numberOfVictories = 0; + private int numberOfVictories; @Override public void drive() { diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/ResistorColorCode.java b/exercism/src/main/java/io/thoughtcode/java/exercism/ResistorColorCode.java index f7194f6..3397c40 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/ResistorColorCode.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/ResistorColorCode.java @@ -27,7 +27,7 @@ public enum ResistorColorCode { private int colorCode; - private ResistorColorCode(final int colorCode) { + ResistorColorCode(final int colorCode) { this.colorCode = colorCode; } diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/ReverseString.java b/exercism/src/main/java/io/thoughtcode/java/exercism/ReverseString.java index edbd9b4..b2dabc8 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/ReverseString.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/ReverseString.java @@ -4,7 +4,7 @@ public class ReverseString { - String reverse(String inputString) { + String reverse(final String inputString) { final String input = Optional.ofNullable(inputString).orElseGet(() -> "").trim(); diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/SaySay.java b/exercism/src/main/java/io/thoughtcode/java/exercism/SaySay.java new file mode 100644 index 0000000..8e41fb3 --- /dev/null +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/SaySay.java @@ -0,0 +1,221 @@ +package io.thoughtcode.java.exercism; + +import static java.lang.String.format; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +public class SaySay { + + static final int TWENTY = 20; + + static final List NUMBERS = new ArrayList<>(); + + static { + NUMBERS.add(NamedNumber.QUINTILLION); + NUMBERS.add(NamedNumber.QUADRILLION); + NUMBERS.add(NamedNumber.TRILLION); + NUMBERS.add(NamedNumber.BILLION); + NUMBERS.add(NamedNumber.MILLION); + NUMBERS.add(NamedNumber.THOUSAND); + } + + public String say(final long number) { + + validate(number); + + final String result; + + if (number == 0) { + result = NamedNumber.getString(number); + } else { + result = sayNumber(number); + } + + return result; + } + + private void validate(final long number) { + + if (number < 0) { + throw new IllegalArgumentException("negative numbers not allowed"); + } + + if (number >= NamedNumber.TRILLION.getNumber()) { + throw new IllegalArgumentException("number too big"); + } + } + + private String sayNumber(final long number) { + + final StringBuilder result = new StringBuilder(); + + long value = number; + + for (int index = 0; value != 0 && index < NUMBERS.size(); index++) { + + final long divisor = NUMBERS.get(index).getNumber(); + + final long currentNumber = value / divisor; + + value = value % divisor; + + if (currentNumber != 0) { + if (currentNumber >= NamedNumber.HUNDRED.getNumber()) { + result.append( + format("%s %s ", sayThreeDigitNumber(currentNumber), NamedNumber.getString(divisor))); + } else { + result.append( + format("%s %s ", sayTwoDigitNumber(currentNumber), NamedNumber.getString(divisor))); + } + } else if (value < NamedNumber.THOUSAND.getNumber()) { + result.append(sayThreeDigitNumber(number) + " "); + value = 0; + } + } + + if (value != 0) { + result.append(sayThreeDigitNumber(value)); + } + + return result.toString().trim(); + } + + private String sayThreeDigitNumber(final long number) { + + final int hundred = (int) NamedNumber.HUNDRED.getNumber(); + + // final int hundredsValue = ((int) Math.floor(number / hundred)) * hundred; + final int hundredsDigit = (int) (number / hundred); + final int twoDigitNumber = (int) (number % NamedNumber.HUNDRED.getNumber()); + + final StringBuilder result = new StringBuilder(); + + if (hundredsDigit != 0) { + result.append(NamedNumber.getString(hundredsDigit) + " hundred "); + } + + if (twoDigitNumber != 0) { + result.append(sayTwoDigitNumber(twoDigitNumber)); + } + + return result.toString().trim(); + } + + private String sayTwoDigitNumber(final long number) { + + final StringBuilder result = new StringBuilder(); + + if (number >= TWENTY) { + final int tensValue = ((int) Math.floor(number / 10.0)) * 10; + final int unitsValue = (int) number % 10; + + final String tensString = NamedNumber.getString(tensValue); + final String unitsString = unitsValue != 0 ? "-" + NamedNumber.getString(unitsValue) : ""; + + result.append(format(" %s%s", tensString, unitsString).trim()); + } else { + result.append(NamedNumber.getString(number)); + } + + return result.toString().trim(); + } +} + +enum NamedNumber { + + QUINTILLION(1_000_000_000_000_000_000L), + + QUADRILLION(1_000_000_000_000_000L), + + TRILLION(1_000_000_000_000L), + + BILLION(1_000_000_000L), + + MILLION(1_000_000L), + + THOUSAND(1_000L), + + HUNDRED(100), + + NINETY(90), + + EIGHTY(80), + + SEVENTY(70), + + SIXTY(60), + + FIFTY(50), + + FORTY(40), + + THIRTY(30), + + TWENTY(20), + + NINETEEN(19), + + EIGHTEEN(18), + + SEVENTEEN(17), + + SIXTEEN(16), + + FIFTEEN(15), + + FOURTEEN(14), + + THIRTEEN(13), + + TWELVE(12), + + ELEVEN(11), + + TEN(10), + + NINE(9), + + EIGHT(8), + + SEVEN(7), + + SIX(6), + + FIVE(5), + + FOUR(4), + + THREE(3), + + TWO(2), + + ONE(1), + + ZERO(0); + + static final Map VALUES = new HashMap<>(); + + static { + Arrays.stream(NamedNumber.values()) + .forEach(number -> VALUES.put(number.getNumber(), number.name().toLowerCase(Locale.getDefault()))); + } + + private final long number; + + static String getString(final long number) { + return VALUES.getOrDefault(number, ""); + } + + NamedNumber(final long number) { + this.number = number; + } + + public long getNumber() { + return number; + } +} diff --git a/exercism/src/test/java/io/thoughtcode/java/exercism/DifferenceOfSquaresCalculatorTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/DifferenceOfSquaresCalculatorTest.java index fc58638..eab0ace 100644 --- a/exercism/src/test/java/io/thoughtcode/java/exercism/DifferenceOfSquaresCalculatorTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/DifferenceOfSquaresCalculatorTest.java @@ -30,7 +30,7 @@ void testSquareOfSumUpToFive() { @Test void testSquareOfSumUpToHundred() { - final int expected = 25502500; + final int expected = 25_502_500; final int actual = calculator.computeSquareOfSumTo(100); assertThat(actual).isEqualTo(expected); } @@ -51,7 +51,7 @@ void testSumOfSquaresUpToFive() { @Test void testSumOfSquaresUpToHundred() { - final int expected = 338350; + final int expected = 338_350; final int actual = calculator.computeSumOfSquaresTo(100); assertThat(actual).isEqualTo(expected); } @@ -72,7 +72,7 @@ void testDifferenceOfSquaresUpToFive() { @Test void testDifferenceOfSquaresUpToHundred() { - final int expected = 25164150; + final int expected = 25_164_150; final int actual = calculator.computeDifferenceOfSquares(100); assertThat(actual).isEqualTo(expected); } diff --git a/exercism/src/test/java/io/thoughtcode/java/exercism/DnDCharacterTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/DnDCharacterTest.java index ff545b4..8848d34 100644 --- a/exercism/src/test/java/io/thoughtcode/java/exercism/DnDCharacterTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/DnDCharacterTest.java @@ -2,6 +2,7 @@ import static org.assertj.core.api.Assertions.assertThat; +import org.junit.jupiter.api.RepeatedTest; import org.junit.jupiter.api.Test; class DnDCharacterTest { @@ -94,21 +95,18 @@ void testRandomAbilityIsWithinRange() { assertThat(score).isGreaterThan(2).isLessThan(19); } - @Test + @RepeatedTest(1000) void testRandomCharacterIsValid() { - for (int index = 0; index < 1000; index++) { - - final DnDCharacter character = new DnDCharacter(); + final DnDCharacter character = new DnDCharacter(); - assertThat(character.getStrength()).isGreaterThan(2).isLessThan(19); - assertThat(character.getDexterity()).isGreaterThan(2).isLessThan(19); - assertThat(character.getConstitution()).isGreaterThan(2).isLessThan(19); - assertThat(character.getIntelligence()).isGreaterThan(2).isLessThan(19); - assertThat(character.getWisdom()).isGreaterThan(2).isLessThan(19); - assertThat(character.getCharisma()).isGreaterThan(2).isLessThan(19); - assertThat(character.getHitpoints()).isEqualTo(10 + character.modifier(character.getConstitution())); - } + assertThat(character.getStrength()).isGreaterThan(2).isLessThan(19); + assertThat(character.getDexterity()).isGreaterThan(2).isLessThan(19); + assertThat(character.getConstitution()).isGreaterThan(2).isLessThan(19); + assertThat(character.getIntelligence()).isGreaterThan(2).isLessThan(19); + assertThat(character.getWisdom()).isGreaterThan(2).isLessThan(19); + assertThat(character.getCharisma()).isGreaterThan(2).isLessThan(19); + assertThat(character.getHitpoints()).isEqualTo(10 + character.modifier(character.getConstitution())); } @Test diff --git a/exercism/src/test/java/io/thoughtcode/java/exercism/FlattenListTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/FlattenListTest.java index ddf45de..9052e9a 100644 --- a/exercism/src/test/java/io/thoughtcode/java/exercism/FlattenListTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/FlattenListTest.java @@ -11,7 +11,9 @@ class FlattenListTest { - private FlattenList flattener = new FlattenList(); + static final String SIX = "six"; + + private final FlattenList flattener = new FlattenList(); @Test void testFlatListIsPreserved() { @@ -25,8 +27,8 @@ void testFlatListIsPreserved() { @Test void testASingleLevelOfNestingWithNoNulls() { - final List input = asList(1, asList('2', 3, 4, 5, "six", "7"), 8); - final List expected = asList(1, '2', 3, 4, 5, "six", "7", 8); + final List input = asList(1, asList('2', 3, 4, 5, SIX, "7"), 8); + final List expected = asList(1, '2', 3, 4, 5, SIX, "7", 8); assertThat(flattener.flatten(input)).containsExactlyElementsOf(expected); } @@ -58,10 +60,10 @@ void testSixLevelsOfNestingWithNoNulls() { '2', singletonList(singletonList(3)), asList('4', singletonList(singletonList(5))), - "six", + SIX, 7), "8"); - final List expected = asList("one", '2', 3, '4', 5, "six", 7, "8"); + final List expected = asList("one", '2', 3, '4', 5, SIX, 7, "8"); assertThat(flattener.flatten(input)).containsExactlyElementsOf(expected); } diff --git a/exercism/src/test/java/io/thoughtcode/java/exercism/GrainsTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/GrainsTest.java index 1a6dd65..adda2ec 100644 --- a/exercism/src/test/java/io/thoughtcode/java/exercism/GrainsTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/GrainsTest.java @@ -14,7 +14,7 @@ class GrainsTest { @Test void countAtSquare1() { final BigInteger result = grains.grainsOnSquare(1); - assertThat(result).isEqualTo(new BigInteger("1")); + assertThat(result).isEqualTo(BigInteger.ONE); } @Test diff --git a/exercism/src/test/java/io/thoughtcode/java/exercism/LogLevelsTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/LogLevelsTest.java index 476527c..d010561 100644 --- a/exercism/src/test/java/io/thoughtcode/java/exercism/LogLevelsTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/LogLevelsTest.java @@ -1,6 +1,6 @@ package io.thoughtcode.java.exercism; -import static org.assertj.core.api.Assertions.*; +import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.Test; diff --git a/exercism/src/test/java/io/thoughtcode/java/exercism/NeedForSpeedTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/NeedForSpeedTest.java index 94b2bd6..25d7d8d 100644 --- a/exercism/src/test/java/io/thoughtcode/java/exercism/NeedForSpeedTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/NeedForSpeedTest.java @@ -93,7 +93,7 @@ void nitro_car_has_not_driven_any_distance() { @Test void nitro_car_has_battery_not_drained() { - NeedForSpeed car = NeedForSpeed.nitro(); + final NeedForSpeed car = NeedForSpeed.nitro(); assertThat(car.batteryDrained()).isFalse(); } diff --git a/exercism/src/test/java/io/thoughtcode/java/exercism/ProverbTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/ProverbTest.java index 6bcbc7b..079f454 100644 --- a/exercism/src/test/java/io/thoughtcode/java/exercism/ProverbTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/ProverbTest.java @@ -17,7 +17,7 @@ void zeroWordsAreGiven() { @Test void singlePieceOfProverb() { - final String[] words = new String[] { "nail" }; + final String[] words = { "nail" }; assertThat(new Proverb(words).recite()) .isEqualTo("And all for the want of a nail."); @@ -26,7 +26,7 @@ void singlePieceOfProverb() { @Test void twoPiecesOfProverb() { - final String[] words = new String[] { "nail", "shoe" }; + final String[] words = { "nail", "shoe" }; assertThat(new Proverb(words).recite()) .isEqualTo( @@ -37,7 +37,7 @@ void twoPiecesOfProverb() { @Test void shortChainOfConsequences() { - final String[] words = new String[] { "nail", "shoe", "horse" }; + final String[] words = { "nail", "shoe", "horse" }; assertThat(new Proverb(words).recite()) .isEqualTo( @@ -49,7 +49,7 @@ void shortChainOfConsequences() { @Test void fullProverb() { - final String[] words = new String[] { "nail", "shoe", "horse", "rider", "message", "battle", "kingdom" }; + final String[] words = new { "nail", "shoe", "horse", "rider", "message", "battle", "kingdom" }; assertThat(new Proverb(words).recite()) .isEqualTo( @@ -65,7 +65,7 @@ void fullProverb() { @Test void fourPiecesModernizedProverb() { - final String[] words = new String[] { "pin", "gun", "soldier", "battle" }; + final String[] words = { "pin", "gun", "soldier", "battle" }; assertThat(new Proverb(words).recite()) .isEqualTo( diff --git a/exercism/src/test/java/io/thoughtcode/java/exercism/RaindropConverterTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/RaindropConverterTest.java index 3f3edd3..d516bb7 100644 --- a/exercism/src/test/java/io/thoughtcode/java/exercism/RaindropConverterTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/RaindropConverterTest.java @@ -9,7 +9,7 @@ class RaindropConverterTest { - private RaindropConverter raindropConverter = new RaindropConverter(); + private final RaindropConverter raindropConverter = new RaindropConverter(); @Test void soundFor1Is1() { diff --git a/exercism/src/test/java/io/thoughtcode/java/exercism/ResistorColorDuoTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/ResistorColorDuoTest.java index 8772de5..be8bc70 100644 --- a/exercism/src/test/java/io/thoughtcode/java/exercism/ResistorColorDuoTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/ResistorColorDuoTest.java @@ -15,35 +15,35 @@ void setup() { @Test void testBrownAndBlack() { - final String[] colors = new String[] { "brown", "black" }; + final String[] colors = { "brown", "black" }; final int expected = 10; assertThat(resistorColorDuo.value(colors)).isEqualTo(expected); } @Test void testBlueAndGrey() { - final String[] colors = new String[] { "blue", "grey" }; + final String[] colors = { "blue", "grey" }; final int expected = 68; assertThat(resistorColorDuo.value(colors)).isEqualTo(expected); } @Test void testYellowAndViolet() { - final String[] colors = new String[] { "yellow", "violet" }; + final String[] colors = { "yellow", "violet" }; final int expected = 47; assertThat(resistorColorDuo.value(colors)).isEqualTo(expected); } @Test void testOrangeAndOrange() { - final String[] colors = new String[] { "orange", "orange" }; + final String[] colors = { "orange", "orange" }; final int expected = 33; assertThat(resistorColorDuo.value(colors)).isEqualTo(expected); } @Test void testIgnoreAdditionalColors() { - final String[] colors = new String[] { "green", "brown", "orange" }; + final String[] colors = { "green", "brown", "orange" }; final int expected = 51; assertThat(resistorColorDuo.value(colors)).isEqualTo(expected); } diff --git a/exercism/src/test/java/io/thoughtcode/java/exercism/SaySayTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/SaySayTest.java new file mode 100644 index 0000000..890d18a --- /dev/null +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/SaySayTest.java @@ -0,0 +1,87 @@ +package io.thoughtcode.java.exercism; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; + +import org.junit.jupiter.api.Test; + +class SaySayTest { + + private SaySay say = new SaySay(); + + @Test + void zero() { + assertThat(say.say(0)).isEqualTo("zero"); + } + + @Test + void one() { + assertThat(say.say(1)).isEqualTo("one"); + } + + @Test + void fourteen() { + assertThat(say.say(14)).isEqualTo("fourteen"); + } + + @Test + void twenty() { + assertThat(say.say(20)).isEqualTo("twenty"); + } + + @Test + void twentyTwo() { + assertThat(say.say(22)).isEqualTo("twenty-two"); + } + + @Test + void oneHundred() { + assertThat(say.say(100)).isEqualTo("one hundred"); + } + + @Test + void oneHundredTwentyThree() { + assertThat(say.say(123)).isEqualTo("one hundred twenty-three"); + } + + @Test + void oneThousand() { + assertThat(say.say(1_000)).isEqualTo("one thousand"); + } + + @Test + void oneThousandTwoHundredThirtyFour() { + assertThat(say.say(1_234)).isEqualTo("one thousand two hundred thirty-four"); + } + + @Test + void oneMillion() { + assertThat(say.say(1_000_000)).isEqualTo("one million"); + } + + @Test + void oneMillionTwoThousandThreeHundredFortyFive() { + assertThat(say.say(1_002_345)).isEqualTo("one million two thousand three hundred forty-five"); + } + + @Test + void oneBillion() { + assertThat(say.say(1_000_000_000)).isEqualTo("one billion"); + } + + @Test + void nineHundredEightySevenBillionSixHundredFiftyFourThreeHundredTwentyOneThousandOneHundredTwentyThree() { + assertThat(say.say(987_654_321_123L)) + .isEqualTo("nine hundred eighty-seven billion six hundred fifty-four million" + + " three hundred twenty-one thousand one hundred twenty-three"); + } + + void illegalNegativeNumber() { + assertThatExceptionOfType(IllegalArgumentException.class).isThrownBy(() -> say.say(-1)); + } + + void illegalTooBigNumber() { + assertThatExceptionOfType(IllegalArgumentException.class) + .isThrownBy(() -> say.say(NamedNumber.TRILLION.getNumber())); + } +} diff --git a/quality/ruleset.xml b/quality/ruleset.xml index bab444a..cbe11fb 100644 --- a/quality/ruleset.xml +++ b/quality/ruleset.xml @@ -47,7 +47,7 @@ - + From 5c9a5d8df8819650a93d75a1b419aa2ddf5cfc11 Mon Sep 17 00:00:00 2001 From: Thought Code Date: Sun, 12 Feb 2023 01:01:31 +0530 Subject: [PATCH 74/77] GH-5: Codacy violations --- .../src/test/java/io/thoughtcode/java/exercism/ProverbTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exercism/src/test/java/io/thoughtcode/java/exercism/ProverbTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/ProverbTest.java index 079f454..f9bb099 100644 --- a/exercism/src/test/java/io/thoughtcode/java/exercism/ProverbTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/ProverbTest.java @@ -49,7 +49,7 @@ void shortChainOfConsequences() { @Test void fullProverb() { - final String[] words = new { "nail", "shoe", "horse", "rider", "message", "battle", "kingdom" }; + final String[] words = { "nail", "shoe", "horse", "rider", "message", "battle", "kingdom" }; assertThat(new Proverb(words).recite()) .isEqualTo( From ab9975c6b8490a7dca44dd8914ad2afc9f9fa9b7 Mon Sep 17 00:00:00 2001 From: Thought Code Date: Sun, 12 Feb 2023 01:32:36 +0530 Subject: [PATCH 75/77] GH-5: Codacy violations --- .../thoughtcode/java/exercism/BirdWatcher.java | 2 +- .../io/thoughtcode/java/exercism/Darts.java | 16 +++++++++------- .../java/exercism/DnDCharacter.java | 2 +- .../thoughtcode/java/exercism/ElonsToyCar.java | 8 ++++---- .../java/exercism/FootballMatchReports.java | 5 ++++- .../io/thoughtcode/java/exercism/Grains.java | 2 +- .../java/exercism/NaturalNumber.java | 6 +++--- .../java/exercism/NeedForSpeed.java | 4 ++-- .../java/exercism/RemoteControlCarDemo.java | 2 +- .../thoughtcode/java/exercism/SaddlePoint.java | 16 +++++++++------- .../java/exercism/SqueakyClean.java | 18 ++++++++++-------- .../io/thoughtcode/java/exercism/Triangle.java | 9 ++++++--- .../thoughtcode/java/exercism/TwelveDays.java | 9 ++++++--- .../java/exercism/ArmstrongNumbersTest.java | 8 ++++---- .../java/exercism/BirdWatcherTest.java | 4 ++-- .../thoughtcode/java/exercism/GrainsTest.java | 2 +- .../java/exercism/NeedForSpeedTest.java | 10 +++++----- .../java/exercism/utils/Lasagna.java | 2 +- .../java/exercism/utils/ReflectionProxy.java | 6 ++---- quality/ruleset.xml | 6 ++++++ 20 files changed, 78 insertions(+), 59 deletions(-) diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/BirdWatcher.java b/exercism/src/main/java/io/thoughtcode/java/exercism/BirdWatcher.java index dd2a865..c0119ed 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/BirdWatcher.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/BirdWatcher.java @@ -42,7 +42,7 @@ public int[] getLastWeek() { public int getToday() { final int dayCount = birdsPerDay.length; - return 0 != dayCount ? birdsPerDay[dayCount - 1] : 0; + return 0 == dayCount ? 0 : birdsPerDay[dayCount - 1]; } public void incrementTodaysCount() { diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/Darts.java b/exercism/src/main/java/io/thoughtcode/java/exercism/Darts.java index b495348..0bfaf35 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/Darts.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/Darts.java @@ -1,5 +1,7 @@ package io.thoughtcode.java.exercism; +import io.thoughtcode.java.common.NumberConstants; + public class Darts { private final double hypotenuse; @@ -12,14 +14,14 @@ int score() { final int score; - if (hypotenuse <= 1) { - score = 10; - } else if (hypotenuse <= 5) { - score = 5; - } else if (hypotenuse <= 10) { - score = 1; + if (hypotenuse <= NumberConstants.ONE) { + score = NumberConstants.TEN; + } else if (hypotenuse <= NumberConstants.FIVE) { + score = NumberConstants.FIVE; + } else if (hypotenuse <= NumberConstants.TEN) { + score = NumberConstants.ONE; } else { - score = 0; + score = NumberConstants.ZERO; } return score; diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/DnDCharacter.java b/exercism/src/main/java/io/thoughtcode/java/exercism/DnDCharacter.java index d97610c..ac8f23f 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/DnDCharacter.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/DnDCharacter.java @@ -21,7 +21,7 @@ public class DnDCharacter { static int rollDice() { final int rolledValue = DICE.nextInt(6); - return rolledValue != 0 ? rolledValue : 1; + return rolledValue == 0 ? 1 : rolledValue; } DnDCharacter() { diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/ElonsToyCar.java b/exercism/src/main/java/io/thoughtcode/java/exercism/ElonsToyCar.java index 9513b60..3873a5c 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/ElonsToyCar.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/ElonsToyCar.java @@ -6,14 +6,14 @@ public class ElonsToyCar { static final int BATTERY_USAGE = 1; - public static ElonsToyCar buy() { - return new ElonsToyCar(); - } - private int distance; private int battery; + public static ElonsToyCar buy() { + return new ElonsToyCar(); + } + ElonsToyCar() { this.distance = 0; this.battery = 100; diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/FootballMatchReports.java b/exercism/src/main/java/io/thoughtcode/java/exercism/FootballMatchReports.java index 04b287a..fb1cec0 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/FootballMatchReports.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/FootballMatchReports.java @@ -2,7 +2,7 @@ import java.util.Optional; -public class FootballMatchReports { +public final class FootballMatchReports { static final int GOALIE = 1; static final int LEFT_BACK = 2; @@ -54,4 +54,7 @@ public static String onField(final int shirtNum) { return Optional.ofNullable(description).orElseThrow(() -> new IllegalArgumentException()); } + + private FootballMatchReports(){ + } } diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/Grains.java b/exercism/src/main/java/io/thoughtcode/java/exercism/Grains.java index 9cd3033..d1f5868 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/Grains.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/Grains.java @@ -18,7 +18,7 @@ public class Grains { // Math.pow is not accurate for very big numbers. That is why multiplication on // BigInteger is required - grainOnPosition = position != 1 ? grainOnPosition.multiply(BigInteger.TWO) : BigInteger.ONE; + grainOnPosition = position == 1 ? BigInteger.ONE : grainOnPosition.multiply(BigInteger.TWO); // Store the grainOnPosition on the Map GRAINS_ON_SQUARE.put(position, grainOnPosition); diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/NaturalNumber.java b/exercism/src/main/java/io/thoughtcode/java/exercism/NaturalNumber.java index e59fd24..ac72ba3 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/NaturalNumber.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/NaturalNumber.java @@ -49,10 +49,10 @@ private int getSumOfDivisors(final int number) { if (dividendWithDecimal == dividendWithoutDecimal) { loopNumber = (int) dividendWithDecimal; - if (divisor != loopNumber) { - sum = sum + divisor + loopNumber; - } else { + if (divisor == loopNumber) { sum = sum + divisor; + } else { + sum = sum + divisor + loopNumber; } } diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/NeedForSpeed.java b/exercism/src/main/java/io/thoughtcode/java/exercism/NeedForSpeed.java index 7c0185c..05324e8 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/NeedForSpeed.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/NeedForSpeed.java @@ -27,7 +27,7 @@ public boolean batteryDrained() { return battery < batteryDrain; } - public int distanceDriven() { + public int getDistanceDriven() { return distanceDriven; } @@ -69,6 +69,6 @@ public boolean tryFinishTrack(final NeedForSpeed car) { } private boolean isTrackCompleted(final NeedForSpeed car) { - return car.distanceDriven() >= distance; + return car.getDistanceDriven() >= distance; } } diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/RemoteControlCarDemo.java b/exercism/src/main/java/io/thoughtcode/java/exercism/RemoteControlCarDemo.java index 95e459d..832439b 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/RemoteControlCarDemo.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/RemoteControlCarDemo.java @@ -4,7 +4,7 @@ import java.util.List; import java.util.stream.Collectors; -public class RemoteControlCarDemo { +public final class RemoteControlCarDemo { private RemoteControlCarDemo(){ } diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/SaddlePoint.java b/exercism/src/main/java/io/thoughtcode/java/exercism/SaddlePoint.java index efa5898..5bd0e7c 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/SaddlePoint.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/SaddlePoint.java @@ -103,16 +103,18 @@ public String toString() { @Override public boolean equals(final Object other) { + boolean result; + if (this == other) { - return true; - } - if (other == null || getClass() != other.getClass()) { - return false; + result = true; + } else if (other == null || getClass() != other.getClass()) { + result = false; + } else { + final MatrixCoordinate that = (MatrixCoordinate) other; + result = this.row == that.row && this.col == that.col; } - final MatrixCoordinate that = (MatrixCoordinate) other; - - return this.row == that.row && this.col == that.col; + return result; } @Override diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/SqueakyClean.java b/exercism/src/main/java/io/thoughtcode/java/exercism/SqueakyClean.java index 1770def..2f8733e 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/SqueakyClean.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/SqueakyClean.java @@ -4,29 +4,31 @@ public class SqueakyClean { String clean(final String identifier) { - String allSpacesReplaced = identifier.replaceAll(" ", "_"); - String allSpaceAndNumbersReplaced = allSpacesReplaced.replaceAll("[0-9]", ""); + final String allSpacesReplaced = identifier.replaceAll(" ", "_"); + final String allSpaceAndNumbersReplaced = allSpacesReplaced.replaceAll("[0-9]", ""); final int length = allSpaceAndNumbersReplaced.length(); final StringBuilder result = new StringBuilder(); - for (int index = 0; index < length; index++) { + int index = 0; + + while (index < length) { final char value = allSpaceAndNumbersReplaced.charAt(index); if (isControlCharacter(value)) { result.append("CTRL"); - } else if (isGreekCharacter(value)) { - continue; - } else if (isHyphen(value) && (index + 1 != length)) { + } else if (isGreekCharacter(value) || isEmoji(value)) { + // Nothing to do + } else if (isHyphen(value) && index + 1 != length) { index++; result.append(Character.toUpperCase(allSpaceAndNumbersReplaced.charAt(index))); - } else if (isEmoji(value)) { - continue; } else { result.append(value); } + + index++; } return result.toString(); diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/Triangle.java b/exercism/src/main/java/io/thoughtcode/java/exercism/Triangle.java index f8637ca..2e5420f 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/Triangle.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/Triangle.java @@ -2,11 +2,13 @@ public class Triangle { - private double side1; - private double side2; - private double side3; + private final double side1; + + private final double side2; + + private final double side3; Triangle(final double side1, final double side2, final double side3) throws TriangleException { @@ -41,4 +43,5 @@ boolean isScalene() { } class TriangleException extends Exception { + public static final long serialVersionUID = 1L; } diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/TwelveDays.java b/exercism/src/main/java/io/thoughtcode/java/exercism/TwelveDays.java index 011b53e..6a46150 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/TwelveDays.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/TwelveDays.java @@ -5,12 +5,15 @@ import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; + +import io.thoughtcode.java.common.NumberConstants; class TwelveDays { static final String PREFIX = "On the %s day of Christmas my true love gave to me:"; - static final LinkedHashMap ITEMS = new LinkedHashMap<>(); + static final Map ITEMS = new LinkedHashMap<>(); static { ITEMS.put(1, new String[] { "first", "a Partridge in a Pear Tree" }); @@ -31,7 +34,7 @@ String verse(final int verseNumber) { final String verse; - if (verseNumber > 1) { + if (verseNumber > NumberConstants.ONE) { final String[] firstItem = ITEMS.get(1); @@ -46,7 +49,7 @@ String verse(final int verseNumber) { verse = format("%s %s, and %s.", prefix, verseItemsExceptFirst, firstItem[1]); - } else if (verseNumber == 1) { + } else if (verseNumber == NumberConstants.ONE) { verse = format("%s %s.", format(PREFIX, ITEMS.get(verseNumber)[0]), ITEMS.get(verseNumber)[1]); } else { verse = ""; diff --git a/exercism/src/test/java/io/thoughtcode/java/exercism/ArmstrongNumbersTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/ArmstrongNumbersTest.java index 1705265..6ad406c 100644 --- a/exercism/src/test/java/io/thoughtcode/java/exercism/ArmstrongNumbersTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/ArmstrongNumbersTest.java @@ -41,21 +41,21 @@ void threeDigitNumberIsNotArmstrongNumber() { @Test void fourDigitNumberIsArmstrongNumber() { - assertThat(armstrongNumbers.isArmstrongNumber(9474)).isTrue(); + assertThat(armstrongNumbers.isArmstrongNumber(9_474)).isTrue(); } @Test void fourDigitNumberIsNotArmstrongNumber() { - assertThat(armstrongNumbers.isArmstrongNumber(9475)).isFalse(); + assertThat(armstrongNumbers.isArmstrongNumber(9_475)).isFalse(); } @Test void sevenDigitNumberIsArmstrongNumber() { - assertThat(armstrongNumbers.isArmstrongNumber(9926315)).isTrue(); + assertThat(armstrongNumbers.isArmstrongNumber(9_926_315)).isTrue(); } @Test void sevenDigitNumberIsNotArmstrongNumber() { - assertThat(armstrongNumbers.isArmstrongNumber(9926314)).isFalse(); + assertThat(armstrongNumbers.isArmstrongNumber(9_926_314)).isFalse(); } } diff --git a/exercism/src/test/java/io/thoughtcode/java/exercism/BirdWatcherTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/BirdWatcherTest.java index 23cabf1..77d31c1 100644 --- a/exercism/src/test/java/io/thoughtcode/java/exercism/BirdWatcherTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/BirdWatcherTest.java @@ -1,6 +1,6 @@ package io.thoughtcode.java.exercism; -import static org.assertj.core.api.Assertions.*; +import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -17,7 +17,7 @@ class BirdWatcherTest { private BirdWatcher fixture; - private int lastWeek[] = { DAY1, DAY2, DAY3, DAY4, DAY5, DAY6, TODAY }; + private final int lastWeek[] = { DAY1, DAY2, DAY3, DAY4, DAY5, DAY6, TODAY }; @BeforeEach void setUp() { diff --git a/exercism/src/test/java/io/thoughtcode/java/exercism/GrainsTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/GrainsTest.java index adda2ec..238ec0c 100644 --- a/exercism/src/test/java/io/thoughtcode/java/exercism/GrainsTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/GrainsTest.java @@ -9,7 +9,7 @@ class GrainsTest { - private Grains grains = new Grains(); + private final Grains grains = new Grains(); @Test void countAtSquare1() { diff --git a/exercism/src/test/java/io/thoughtcode/java/exercism/NeedForSpeedTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/NeedForSpeedTest.java index 25d7d8d..09e2686 100644 --- a/exercism/src/test/java/io/thoughtcode/java/exercism/NeedForSpeedTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/NeedForSpeedTest.java @@ -13,7 +13,7 @@ void new_remote_control_car_has_not_driven_any_distance() { final int batteryDrain = 2; final NeedForSpeed car = new NeedForSpeed(speed, batteryDrain); - assertThat(car.distanceDriven()).isEqualTo(0); + assertThat(car.getDistanceDriven()).isEqualTo(0); } @Test @@ -25,7 +25,7 @@ void drive_increases_distance_driven_with_speed() { car.drive(); - assertThat(car.distanceDriven()).isEqualTo(5); + assertThat(car.getDistanceDriven()).isEqualTo(5); } @Test @@ -42,7 +42,7 @@ void drive_does_not_increase_distance_driven_when_battery_drained() { // One extra drive attempt (should not succeed) car.drive(); - assertThat(car.distanceDriven()).isEqualTo(18); + assertThat(car.getDistanceDriven()).isEqualTo(18); } @Test @@ -88,7 +88,7 @@ void drive_until_battery_is_drained() { @Test void nitro_car_has_not_driven_any_distance() { final NeedForSpeed car = NeedForSpeed.nitro(); - assertThat(car.distanceDriven()).isEqualTo(0); + assertThat(car.getDistanceDriven()).isEqualTo(0); } @Test @@ -101,7 +101,7 @@ void nitro_car_has_battery_not_drained() { void nitro_car_has_correct_speed() { final NeedForSpeed car = NeedForSpeed.nitro(); car.drive(); - assertThat(car.distanceDriven()).isEqualTo(50); + assertThat(car.getDistanceDriven()).isEqualTo(50); } @Test diff --git a/exercism/src/test/java/io/thoughtcode/java/exercism/utils/Lasagna.java b/exercism/src/test/java/io/thoughtcode/java/exercism/utils/Lasagna.java index d4c1fcb..4fc06e4 100644 --- a/exercism/src/test/java/io/thoughtcode/java/exercism/utils/Lasagna.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/utils/Lasagna.java @@ -31,7 +31,7 @@ public int preparationTimeInMinutes(final int amountLayers) { } } - public int totalTimeInMinutes(final int amountLayers, int actualMinutes) { + public int totalTimeInMinutes(final int amountLayers, final int actualMinutes) { try { return invokeMethod("totalTimeInMinutes", new Class[] { int.class, int.class }, amountLayers, actualMinutes); diff --git a/exercism/src/test/java/io/thoughtcode/java/exercism/utils/ReflectionProxy.java b/exercism/src/test/java/io/thoughtcode/java/exercism/utils/ReflectionProxy.java index 22c7613..a21d3a2 100644 --- a/exercism/src/test/java/io/thoughtcode/java/exercism/utils/ReflectionProxy.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/utils/ReflectionProxy.java @@ -219,8 +219,7 @@ public boolean hasProperty(final String name) { return false; } try { - Field field = targetClass.getDeclaredField(name); - return field != null; + return targetClass.getDeclaredField(name) != null; } catch (final NoSuchFieldException e) { return false; } @@ -278,8 +277,7 @@ public boolean isPropertyPrivate(String name) { return false; } try { - final Field field = targetClass.getDeclaredField(name); - return Modifier.isPrivate(field.getModifiers()); + return Modifier.isPrivate(targetClass.getDeclaredField(name).getModifiers()); } catch (final NoSuchFieldException e) { return false; } diff --git a/quality/ruleset.xml b/quality/ruleset.xml index cbe11fb..274fe3a 100644 --- a/quality/ruleset.xml +++ b/quality/ruleset.xml @@ -65,6 +65,12 @@ + + + + + + From 02a98df4e2a6532d42ae1b46e39bb10a13bb5e6c Mon Sep 17 00:00:00 2001 From: Thought Code Date: Sun, 12 Feb 2023 01:53:58 +0530 Subject: [PATCH 76/77] GH-5: Codacy violations --- .../java/codingbat/warmup2/CountXX.java | 2 +- .../java/codingbat/warmup2/CountXXTest.java | 89 ------------------- .../java/exercism/FlattenList.java | 6 +- .../thoughtcode/java/exercism/Gigasecond.java | 2 +- .../io/thoughtcode/java/exercism/SaySay.java | 2 +- .../java/exercism/ScrabbleScore.java | 14 +-- .../thoughtcode/java/exercism/SpaceAge.java | 2 +- .../java/exercism/ProverbTest.java | 33 ++++--- .../thoughtcode/java/exercism/SaySayTest.java | 8 +- quality/checkstyle.xml | 8 +- 10 files changed, 41 insertions(+), 125 deletions(-) delete mode 100644 codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/CountXXTest.java diff --git a/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/CountXX.java b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/CountXX.java index 3bd806f..9b3fd8e 100644 --- a/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/CountXX.java +++ b/codingbat/src/main/java/io/thoughtcode/java/codingbat/warmup2/CountXX.java @@ -10,7 +10,7 @@ public final class CountXX { static final Pattern PATTERN = Pattern.compile("([x]){2}"); - public int countXXValues(final String str) { + public int countXxValues(final String str) { int count = 0; diff --git a/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/CountXXTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/CountXXTest.java deleted file mode 100644 index aa147ad..0000000 --- a/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/CountXXTest.java +++ /dev/null @@ -1,89 +0,0 @@ -package io.thoughtcode.java.codingbat.warmup2; - -import static io.thoughtcode.java.common.StringConstants.EMPTY; -import static org.assertj.core.api.Assertions.assertThat; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - -class CountXXTest { - - private CountXX fixture; - - @BeforeEach - void setUp() { - fixture = new CountXX(); - } - - @Test - void shouldReturnZeroWhenStringIsNull() { - - final String str = null; - - final int expected = 0; - - final int actual = fixture.countXXValues(str); - - assertThat(actual).isEqualTo(expected); - } - - @Test - void shouldReturnZeroWhenStringIsEmpty() { - - final String str = EMPTY; - - final int expected = 0; - - final int actual = fixture.countXXValues(str); - - assertThat(actual).isEqualTo(expected); - } - - @Test - void shouldReturnZeroWhenStringIsNotEmptyAndNoOccurrence() { - - final String str = "abcd"; - - final int expected = 0; - - final int actual = fixture.countXXValues(str); - - assertThat(actual).isEqualTo(expected); - } - - @Test - void shouldReturnCountOneWhenStringIsNotEmptyAndSingleOccurrence() { - - final String str = "axxd"; - - final int expected = 1; - - final int actual = fixture.countXXValues(str); - - assertThat(actual).isEqualTo(expected); - } - - @Test - void shouldReturnCountOneWhenStringIsNotEmptyAndMultipleOccurrenceNonOverlapping() { - - final String str = "abxxcdxx"; - - final int expected = 2; - - final int actual = fixture.countXXValues(str); - - assertThat(actual).isEqualTo(expected); - } - - @Test - void shouldReturnCountOneWhenStringIsNotEmptyAndMultipleOccurrenceOverlapping() { - - final String str = "xxxx"; - - final int expected = 3; - - final int actual = fixture.countXXValues(str); - - assertThat(actual).isEqualTo(expected); - } -} diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/FlattenList.java b/exercism/src/main/java/io/thoughtcode/java/exercism/FlattenList.java index 014c6f8..6176027 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/FlattenList.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/FlattenList.java @@ -10,10 +10,14 @@ public List flatten(final List list) { final List result = new ArrayList<>(); - for (int index = 0; index < list.size(); index++) { + int index = 0; + + while (index < list.size()) { final Object value = list.get(index); + index++; + if (value == null) { continue; } diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/Gigasecond.java b/exercism/src/main/java/io/thoughtcode/java/exercism/Gigasecond.java index 19acfe4..c9df452 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/Gigasecond.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/Gigasecond.java @@ -6,7 +6,7 @@ public class Gigasecond { - static final long ONE_GIGASECONDS = 1_000_000_000l; + static final long ONE_GIGASECONDS = 1_000_000_000L; private final LocalDateTime moment; diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/SaySay.java b/exercism/src/main/java/io/thoughtcode/java/exercism/SaySay.java index 8e41fb3..1888ff2 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/SaySay.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/SaySay.java @@ -115,7 +115,7 @@ private String sayTwoDigitNumber(final long number) { final int unitsValue = (int) number % 10; final String tensString = NamedNumber.getString(tensValue); - final String unitsString = unitsValue != 0 ? "-" + NamedNumber.getString(unitsValue) : ""; + final String unitsString = unitsValue == 0 ? "" : "-" + NamedNumber.getString(unitsValue); result.append(format(" %s%s", tensString, unitsString).trim()); } else { diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/ScrabbleScore.java b/exercism/src/main/java/io/thoughtcode/java/exercism/ScrabbleScore.java index 208ad9c..06b264c 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/ScrabbleScore.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/ScrabbleScore.java @@ -15,13 +15,13 @@ class ScrabbleScore { static { - final String[] valueOneCharacters = new String[] { "1", "a,e,i,o,u,l,n,r,s,t" }; - final String[] valueTwoCharacters = new String[] { "2", "d,g" }; - final String[] valueThreeCharacters = new String[] { "3", "b,c,m,p" }; - final String[] valueFourCharacters = new String[] { "4", "f,h,v,w,y" }; - final String[] valueFiveCharacters = new String[] { "5", "k" }; - final String[] valueEightCharacters = new String[] { "8", "j,x" }; - final String[] valueTenCharacters = new String[] { "10", "q,z" }; + final String[] valueOneCharacters = { "1", "a,e,i,o,u,l,n,r,s,t" }; + final String[] valueTwoCharacters = { "2", "d,g" }; + final String[] valueThreeCharacters = { "3", "b,c,m,p" }; + final String[] valueFourCharacters = { "4", "f,h,v,w,y" }; + final String[] valueFiveCharacters = { "5", "k" }; + final String[] valueEightCharacters = { "8", "j,x" }; + final String[] valueTenCharacters = { "10", "q,z" }; final List values = new ArrayList<>(); values.add(valueOneCharacters); diff --git a/exercism/src/main/java/io/thoughtcode/java/exercism/SpaceAge.java b/exercism/src/main/java/io/thoughtcode/java/exercism/SpaceAge.java index 7a6aea5..0e41399 100644 --- a/exercism/src/main/java/io/thoughtcode/java/exercism/SpaceAge.java +++ b/exercism/src/main/java/io/thoughtcode/java/exercism/SpaceAge.java @@ -72,7 +72,7 @@ enum Planet { private final double yearConversion; - private Planet(final double yearConversion) { + Planet(final double yearConversion) { this.yearConversion = yearConversion; } diff --git a/exercism/src/test/java/io/thoughtcode/java/exercism/ProverbTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/ProverbTest.java index f9bb099..bdb7942 100644 --- a/exercism/src/test/java/io/thoughtcode/java/exercism/ProverbTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/ProverbTest.java @@ -30,8 +30,8 @@ void twoPiecesOfProverb() { assertThat(new Proverb(words).recite()) .isEqualTo( - "For want of a nail the shoe was lost.\n" + - "And all for the want of a nail."); + "For want of a nail the shoe was lost.\n" + + "And all for the want of a nail."); } @Test @@ -41,9 +41,9 @@ void shortChainOfConsequences() { assertThat(new Proverb(words).recite()) .isEqualTo( - "For want of a nail the shoe was lost.\n" + - "For want of a shoe the horse was lost.\n" + - "And all for the want of a nail."); + "For want of a nail the shoe was lost.\n" + + "For want of a shoe the horse was lost.\n" + + "And all for the want of a nail."); } @Test @@ -53,13 +53,13 @@ void fullProverb() { assertThat(new Proverb(words).recite()) .isEqualTo( - "For want of a nail the shoe was lost.\n" + - "For want of a shoe the horse was lost.\n" + - "For want of a horse the rider was lost.\n" + - "For want of a rider the message was lost.\n" + - "For want of a message the battle was lost.\n" + - "For want of a battle the kingdom was lost.\n" + - "And all for the want of a nail."); + "For want of a nail the shoe was lost.\n" + + "For want of a shoe the horse was lost.\n" + + "For want of a horse the rider was lost.\n" + + "For want of a rider the message was lost.\n" + + "For want of a message the battle was lost.\n" + + "For want of a battle the kingdom was lost.\n" + + "And all for the want of a nail."); } @Test @@ -69,10 +69,9 @@ void fourPiecesModernizedProverb() { assertThat(new Proverb(words).recite()) .isEqualTo( - "For want of a pin the gun was lost.\n" + - "For want of a gun the soldier was lost.\n" + - "For want of a soldier the battle was lost.\n" + - "And all for the want of a pin."); + "For want of a pin the gun was lost.\n" + + "For want of a gun the soldier was lost.\n" + + "For want of a soldier the battle was lost.\n" + + "And all for the want of a pin."); } - } diff --git a/exercism/src/test/java/io/thoughtcode/java/exercism/SaySayTest.java b/exercism/src/test/java/io/thoughtcode/java/exercism/SaySayTest.java index 890d18a..7bd7dae 100644 --- a/exercism/src/test/java/io/thoughtcode/java/exercism/SaySayTest.java +++ b/exercism/src/test/java/io/thoughtcode/java/exercism/SaySayTest.java @@ -7,7 +7,7 @@ class SaySayTest { - private SaySay say = new SaySay(); + private final SaySay say = new SaySay(); @Test void zero() { @@ -72,14 +72,16 @@ void oneBillion() { @Test void nineHundredEightySevenBillionSixHundredFiftyFourThreeHundredTwentyOneThousandOneHundredTwentyThree() { assertThat(say.say(987_654_321_123L)) - .isEqualTo("nine hundred eighty-seven billion six hundred fifty-four million" + - " three hundred twenty-one thousand one hundred twenty-three"); + .isEqualTo("nine hundred eighty-seven billion six hundred fifty-four million" + + " three hundred twenty-one thousand one hundred twenty-three"); } + @Test void illegalNegativeNumber() { assertThatExceptionOfType(IllegalArgumentException.class).isThrownBy(() -> say.say(-1)); } + @Test void illegalTooBigNumber() { assertThatExceptionOfType(IllegalArgumentException.class) .isThrownBy(() -> say.say(NamedNumber.TRILLION.getNumber())); diff --git a/quality/checkstyle.xml b/quality/checkstyle.xml index 8b62f65..10596ee 100644 --- a/quality/checkstyle.xml +++ b/quality/checkstyle.xml @@ -127,23 +127,23 @@ value="Member name ''{0}'' must match pattern ''{1}''."/> - + - + - + - + From b1d7d0954f3e63490ca1ff0a83b24bbcaf9d47f0 Mon Sep 17 00:00:00 2001 From: Thought Code Date: Sun, 12 Feb 2023 01:54:08 +0530 Subject: [PATCH 77/77] GH-5: Codacy violations --- .../java/codingbat/warmup2/CountXxTest.java | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/CountXxTest.java diff --git a/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/CountXxTest.java b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/CountXxTest.java new file mode 100644 index 0000000..4c5537f --- /dev/null +++ b/codingbat/src/test/java/io/thoughtcode/java/codingbat/warmup2/CountXxTest.java @@ -0,0 +1,89 @@ +package io.thoughtcode.java.codingbat.warmup2; + +import static io.thoughtcode.java.common.StringConstants.EMPTY; +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +class CountXxTest { + + private CountXX fixture; + + @BeforeEach + void setUp() { + fixture = new CountXX(); + } + + @Test + void shouldReturnZeroWhenStringIsNull() { + + final String str = null; + + final int expected = 0; + + final int actual = fixture.countXxValues(str); + + assertThat(actual).isEqualTo(expected); + } + + @Test + void shouldReturnZeroWhenStringIsEmpty() { + + final String str = EMPTY; + + final int expected = 0; + + final int actual = fixture.countXxValues(str); + + assertThat(actual).isEqualTo(expected); + } + + @Test + void shouldReturnZeroWhenStringIsNotEmptyAndNoOccurrence() { + + final String str = "abcd"; + + final int expected = 0; + + final int actual = fixture.countXxValues(str); + + assertThat(actual).isEqualTo(expected); + } + + @Test + void shouldReturnCountOneWhenStringIsNotEmptyAndSingleOccurrence() { + + final String str = "axxd"; + + final int expected = 1; + + final int actual = fixture.countXxValues(str); + + assertThat(actual).isEqualTo(expected); + } + + @Test + void shouldReturnCountOneWhenStringIsNotEmptyAndMultipleOccurrenceNonOverlapping() { + + final String str = "abxxcdxx"; + + final int expected = 2; + + final int actual = fixture.countXxValues(str); + + assertThat(actual).isEqualTo(expected); + } + + @Test + void shouldReturnCountOneWhenStringIsNotEmptyAndMultipleOccurrenceOverlapping() { + + final String str = "xxxx"; + + final int expected = 3; + + final int actual = fixture.countXxValues(str); + + assertThat(actual).isEqualTo(expected); + } +}