From 462f1d627d4e484437eaccdc95ad923e46746d0d Mon Sep 17 00:00:00 2001 From: "koastiebratt@gmail.com" Date: Fri, 9 Oct 2020 08:56:10 -0400 Subject: [PATCH 1/3] What I've got so far --- .../dtcc/exams/arrays/IntegerArrayUtils.java | 45 ++++++++++++++--- .../dtcc/exams/arrays/StringArrayUtils.java | 6 ++- src/main/java/com/dtcc/exams/atm/Account.java | 32 +++++++++++-- .../com/dtcc/exams/collections/Inventory.java | 26 +++++++--- .../exams/collections/MonthConversion.java | 40 ++++++++++++---- .../exams/fundamentals/BasicStringUtils.java | 17 ++++--- .../fundamentals/PredicateUtilities.java | 10 ++-- .../dtcc/exams/fundamentals/StringUtils.java | 40 +++++++++++++--- src/main/java/com/dtcc/exams/oop/Address.java | 48 ++++++++++++++++--- src/main/java/com/dtcc/exams/oop/Person.java | 35 +++++++++----- .../com/dtcc/exams/oop/animals/Animal.java | 10 ++-- .../java/com/dtcc/exams/oop/animals/Dog.java | 2 +- .../java/com/dtcc/exams/atm/AccountTest.java | 1 + .../RemoveCharactersTest.java | 2 - .../stringutils/IsNumericTest.java | 3 +- .../exams/oop/person/PersonEqualsTest.java | 4 +- 16 files changed, 251 insertions(+), 70 deletions(-) diff --git a/src/main/java/com/dtcc/exams/arrays/IntegerArrayUtils.java b/src/main/java/com/dtcc/exams/arrays/IntegerArrayUtils.java index 981c2dc..444c6fb 100644 --- a/src/main/java/com/dtcc/exams/arrays/IntegerArrayUtils.java +++ b/src/main/java/com/dtcc/exams/arrays/IntegerArrayUtils.java @@ -7,7 +7,15 @@ public class IntegerArrayUtils { * @return - identical array with one additional element of `valueToBeAdded` at the end of the array */ public static Integer[] add(Integer[] integerArray, Integer valueToBeAdded) { - return null; + + Integer[] temp = new Integer[integerArray.length+1]; + //Copy original contents + for(int i =0; i < integerArray.length; i++){ + temp[i] = integerArray[i]; + } + //Add new + temp[integerArray.length] = valueToBeAdded; + return temp; } /** @@ -17,7 +25,8 @@ public static Integer[] add(Integer[] integerArray, Integer valueToBeAdded) { * @return `integerArray` with `valueToBeInserted` at index number `indexToInsertAt` */ public static Integer[] replace(Integer[] integerArray, int indexToInsertAt, Integer valueToBeInserted) { - return null; + integerArray[indexToInsertAt] = valueToBeInserted; + return integerArray; } /** @@ -26,7 +35,7 @@ public static Integer[] replace(Integer[] integerArray, int indexToInsertAt, Int * @return element located at `indexToFetch` */ public static Integer get(Integer[] integerArray, Integer indexToFetch) { - return null; + return integerArray[indexToFetch]; } /** @@ -34,7 +43,15 @@ public static Integer get(Integer[] integerArray, Integer indexToFetch) { * @return identical array with even-values incremented by 1 and odd-values decremented by 1 */ public static Integer[] incrementEvenDecrementOdd(Integer[] integerArray) { - return null; + Integer[] temp = new Integer[integerArray.length]; + for(int i = 0; i < integerArray.length; i++){ + if(integerArray[i] % 2 == 0){ + temp[i] = (integerArray[i] + 1); + }else{ + temp[i] = (integerArray[i] - 1); + } + } + return temp; } /** @@ -42,7 +59,15 @@ public static Integer[] incrementEvenDecrementOdd(Integer[] integerArray) { * @return identical array with even-values incremented by 1 */ public static Integer[] incrementEven(Integer[] integerArray) { - return null; + Integer[] temp = new Integer[integerArray.length]; + for(int i = 0; i < integerArray.length; i++){ + if(integerArray[i] % 2 == 0){ + temp[i] = (integerArray[i] + 1); + }else{ + temp[i] = integerArray[i]; + } + } + return temp; } /** @@ -50,6 +75,14 @@ public static Integer[] incrementEven(Integer[] integerArray) { * @return identical array with odd-values decremented by 1 */ public static Integer[] decrementOdd(Integer[] input) { - return null; + Integer[] temp = new Integer[input.length]; + for(int i = 0; i < input.length; i++){ + if(input[i] % 2 == 0){ + temp[i] = (input[i]); + }else{ + temp[i] = (input[i] -1); + } + } + return temp; } } diff --git a/src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java b/src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java index 7ea3b16..f684cea 100644 --- a/src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java +++ b/src/main/java/com/dtcc/exams/arrays/StringArrayUtils.java @@ -1,5 +1,7 @@ package com.dtcc.exams.arrays; +import java.util.Arrays; + public class StringArrayUtils { /** * @param arrayToBeSpliced - array to be evaluated @@ -8,7 +10,7 @@ public class StringArrayUtils { * @return an array with all elements between `startingIndex` and `endingIndex` */ public static String[] getSubArray(String[] arrayToBeSpliced, int startingIndex, int endingIndex) { - return null; + return Arrays.copyOfRange(arrayToBeSpliced,startingIndex,endingIndex); } @@ -18,6 +20,6 @@ public static String[] getSubArray(String[] arrayToBeSpliced, int startingIndex, * @return an array all elements between after `startingIndex` */ public static String[] getEndingArray(String[] arrayToBeSpliced, int startingIndex) { - return null; + return Arrays.copyOfRange(arrayToBeSpliced, startingIndex, arrayToBeSpliced.length); } } diff --git a/src/main/java/com/dtcc/exams/atm/Account.java b/src/main/java/com/dtcc/exams/atm/Account.java index 85a4854..96949f0 100644 --- a/src/main/java/com/dtcc/exams/atm/Account.java +++ b/src/main/java/com/dtcc/exams/atm/Account.java @@ -1,25 +1,49 @@ package com.dtcc.exams.atm; public class Account { - + + double balance; + boolean accountClosed; + + public Account(){ + this(0.0); + } + public Account(double v) { + this.balance = v; + if(v != 0.0){ + this.accountClosed = false; + }else{ + this.accountClosed = true; + } } public double balance() { - return 0.0; + return balance; } public boolean closeAccount() { - return false; + if(this.balance() == 0){ + this.accountClosed = true; + } + return this.accountClosed; } public void deposit(double v) { + this.balance += v; } public Double withdraw(double v) { - return 0.0; + if(this.balance >= v) { + this.balance -= v; + } + return this.balance; } public void transfer(Account b, double v) { + if(this.balance() >= v){ + this.withdraw(v); + b.deposit(v); + } } } diff --git a/src/main/java/com/dtcc/exams/collections/Inventory.java b/src/main/java/com/dtcc/exams/collections/Inventory.java index 656eaaa..9d8beaf 100644 --- a/src/main/java/com/dtcc/exams/collections/Inventory.java +++ b/src/main/java/com/dtcc/exams/collections/Inventory.java @@ -1,6 +1,9 @@ package com.dtcc.exams.collections; + +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * Use a map to keep track of inventory in a store @@ -9,29 +12,40 @@ public class Inventory { /** * @param strings list of strings to add / remove / fetch from */ - public Inventory(List strings) { - - } + public Map inventory; /** * nullary constructor initializes a new list */ public Inventory() { + inventory = new HashMap<>(); + } + public Inventory(List strings) { + inventory = new HashMap<>(); + for(String item:strings){ + if(inventory.containsKey(item)){ + inventory.put(item,inventory.get(item) +1); + }else{ + inventory.put(item, 1); + } + } } + + /** * @param item - increment the number of this item in stock by 1 */ public void addItemToInventory(String item) { - return; + inventory.put(item, getItemQuantity(item) + 1); } /** * @param item - decrement the number of this item in stock by 1 */ public void removeItemFromInventory(String item) { - return; + inventory.put(item, getItemQuantity(item)-1); } /** @@ -39,6 +53,6 @@ public void removeItemFromInventory(String item) { * @return - return the number of items */ public Integer getItemQuantity(String item) { - return null; + return inventory.getOrDefault(item, 0); } } diff --git a/src/main/java/com/dtcc/exams/collections/MonthConversion.java b/src/main/java/com/dtcc/exams/collections/MonthConversion.java index f6a6dce..c61014a 100644 --- a/src/main/java/com/dtcc/exams/collections/MonthConversion.java +++ b/src/main/java/com/dtcc/exams/collections/MonthConversion.java @@ -1,15 +1,22 @@ package com.dtcc.exams.collections; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + /** * Use a map to solve */ public class MonthConversion { + + public Map conversion = new HashMap<>(); /** * @param monthNumber - ordinal of month in the year; i.e. January = 1, February = 2 * @param monthName - name of month */ public void add(Integer monthNumber, String monthName) { - + conversion.put(monthNumber, monthName); } /** @@ -17,15 +24,22 @@ public void add(Integer monthNumber, String monthName) { * @return the name of the respective month */ public String getName(Integer monthNumber) { - throw new NullPointerException(); + return conversion.get(monthNumber); } /** * @param monthName - name of month * @return - the ordinal of the month in the year */ - public int getNumber(String monthName) { - return (Integer)null; + public Integer getNumber(String monthName) { + Integer monthNumber = 0; + for(Map.Entry m: conversion.entrySet()){ + if((m.getValue().equals(monthName))){ + monthNumber = (Integer)m.getKey(); + return monthNumber; + } + } + return null; } /** @@ -33,7 +47,7 @@ public int getNumber(String monthName) { * @return true if the monthNumber is in the keySet */ public Boolean isValidNumber(Integer monthNumber) { - return null; + return conversion.containsKey(monthNumber); } /** @@ -41,14 +55,20 @@ public Boolean isValidNumber(Integer monthNumber) { * @return true if the monthName is in the valueSet */ public Boolean isValidMonth(String monthName) { - return null; + boolean temp = false; + for(Map.Entry m: conversion.entrySet()){ + if((m.getValue().equals(monthName))){ + return true; + } + } + return temp; } /** * @return number of entries in this mapping */ public Integer size() { - return -1; + return conversion.size(); } /** @@ -56,6 +76,10 @@ public Integer size() { * @param monthName - name of month */ public void update(Integer monthNumber, String monthName) { - + if(conversion.containsKey(monthNumber)){ + conversion.replace(monthNumber, monthName); + }else{ + conversion.put(monthNumber,monthName); + } } } diff --git a/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java b/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java index eebed04..b070fbf 100644 --- a/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java +++ b/src/main/java/com/dtcc/exams/fundamentals/BasicStringUtils.java @@ -6,16 +6,18 @@ public class BasicStringUtils { * @param string2 - String to add to `string1` * @return concatenation of `string1` and `string2` */ - public static String concatentate(String string1, String string2) { - return null; - } + public static String concatentate(String string1, String string2) {return string1+string2;} /** * @param string1 - String to be reversed * @return an identical string with characters in reverse order */ public static String reverse(String string1) { - return null; + String temp = ""; + for(int i = string1.length()-1; i >= 0; i--){ + temp += string1.charAt(i) + ""; + } + return temp; } /** @@ -24,7 +26,7 @@ public static String reverse(String string1) { * @return concatenation of the reverse of `string1` and reverse of `string2` */ public static String reverseThenConcatenate(String string1, String string2) { - return null; + return reverse(string1) + reverse(string2); } /** @@ -33,7 +35,8 @@ public static String reverseThenConcatenate(String string1, String string2) { * @return `string` with `charactersToRemove` removed */ public static String removeCharacters(String string, String charactersToRemove) { - return null; + String temp = string.replaceAll("[" + charactersToRemove +"]", ""); + return temp; } /** @@ -42,6 +45,6 @@ public static String removeCharacters(String string, String charactersToRemove) * @return reverse of `string` with `charactersToRemove` removed */ public static String removeCharactersThenReverse(String string, String charactersToRemove) { - return null; + return reverse(removeCharacters(string, charactersToRemove)); } } diff --git a/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java b/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java index d5e94c5..6216374 100644 --- a/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java +++ b/src/main/java/com/dtcc/exams/fundamentals/PredicateUtilities.java @@ -6,7 +6,7 @@ public class PredicateUtilities { * @return true if `value` is a multiple of 2 */ public static Boolean isEven(Integer value) { - return null; + return (value %2 ==0); } /** @@ -14,7 +14,7 @@ public static Boolean isEven(Integer value) { * @return true if `value` is not a multiple of 2 */ public static Boolean isOdd(Integer value) { - return null; + return (value%2 != 0); } /** @@ -22,7 +22,7 @@ public static Boolean isOdd(Integer value) { * @return true if `value` is a multiple of 3 */ public static Boolean isMultipleOf3(Integer value) { - return null; + return (value%3 ==0); } /** @@ -32,7 +32,7 @@ public static Boolean isMultipleOf3(Integer value) { * @return true if `value` is a multiple of `multiple` */ public static Boolean isMultipleOfN(Integer value, Integer multiple) { - return null; + return (value%multiple ==0); } /** @@ -40,6 +40,6 @@ public static Boolean isMultipleOfN(Integer value, Integer multiple) { * @return true if `string` starts with a capital letter */ public static Boolean startsWithCapitalLetter(String string) { - return null; + return Character.isUpperCase(string.charAt(0)); } } diff --git a/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java b/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java index 5ef3237..0522212 100644 --- a/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java +++ b/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java @@ -8,7 +8,11 @@ public class StringUtils { * @return `stringToBePadded` flushed right by left-padding */ public static String padLeft(String stringToBePadded, int amountOfPadding) { - return null; + String temp =""; + for(int i =amountOfPadding - stringToBePadded.length(); i > 0; i--){ + temp += " "; + } + return temp + stringToBePadded; } /** @@ -17,7 +21,11 @@ public static String padLeft(String stringToBePadded, int amountOfPadding) { * @return `stringToBePadded` flushed right by right-padding */ public static String padRight(String stringToBePadded, int amountOfPadding) { - return null; + String temp =stringToBePadded; + for(int i =amountOfPadding - stringToBePadded.length(); i > 0; i--){ + temp += " "; + } + return temp; } /** @@ -26,7 +34,11 @@ public static String padRight(String stringToBePadded, int amountOfPadding) { * @return the string repeated and concatenated `n` times */ public static String repeatString(String stringToBeRepeated, int numberOfTimeToRepeat) { - return null; + String temp =""; + for(int i =numberOfTimeToRepeat; i > 0; i--){ + temp += stringToBeRepeated; + } + return temp; } /** @@ -34,7 +46,17 @@ public static String repeatString(String stringToBeRepeated, int numberOfTimeToR * @return - true if string only contains alpha characters */ public static Boolean isAlphaString(String string) { - return null; + + + boolean bool = true; + String temp = string.toLowerCase(); + char[] ch= temp.toCharArray(); + for(int i =0; i < string.length();i++) { + if (!(ch[i] >= 'a' && ch[i] <= 'z')) { + bool = false; + } + } + return bool; } /** @@ -42,7 +64,13 @@ public static Boolean isAlphaString(String string) { * @return - true if string only contains numeric characters */ public static Boolean isNumericString(String string) { - return null; + boolean temp = true; + for(int i =0; i < string.length();i++){ + if(!((int)string.charAt(i) >=48 && (int)string.charAt(i) <=57)){ + temp = false; + } + } + return temp; } /** @@ -50,6 +78,6 @@ public static Boolean isNumericString(String string) { * @return - true if string only contains special characters */ public static Boolean isSpecialCharacterString(String string) { - return null; + return (string.matches("[!-*]+")); } } diff --git a/src/main/java/com/dtcc/exams/oop/Address.java b/src/main/java/com/dtcc/exams/oop/Address.java index ba86210..c87ba94 100644 --- a/src/main/java/com/dtcc/exams/oop/Address.java +++ b/src/main/java/com/dtcc/exams/oop/Address.java @@ -1,7 +1,21 @@ package com.dtcc.exams.oop; +import java.util.Objects; + public class Address { + + public String addressLine1; + public String addressLine2; + public String City; + public String State; + public String zipCode; + public Address() { + this(null,null,null,null,null); + } + + public Address(String one){ + this(null,null,null,null,null); } /** @@ -12,45 +26,67 @@ public Address() { * @param zipcode - zipcode of region */ public Address(String addressLine1, String addressLine2, String city, String state, String zipcode) { + this.setAddressLine1(Objects.toString(addressLine1, "")); + this.setAddressLine2(Objects.toString(addressLine2, "")); + this.setCity(Objects.toString(city, "")); + this.setState(Objects.toString(state, "")); + this.setZipcode(Objects.toString(zipcode, "")); } public String getAddressLine1() { - return null; + return addressLine1; } public void setAddressLine1(String addressLine1) { + this.addressLine1 = addressLine1; } public String getAddressLine2() { - return null; + return addressLine2; } public void setAddressLine2(String addressLine2) { + this.addressLine2 = addressLine2; + } public String getCity() { - return null; + return City; } public void setCity(String city) { + this.City = city; } public String getState() { - return null; + return State; } public void setState(String state) { + this.State = state; } public String getZipcode() { - return null; + return zipCode; } public void setZipcode(String zipcode) { + this.zipCode = zipcode; + } + + //"Address{addressLine1='123 Gitlabs', addressLine2='', city='New Castle', state='Delaware', zipcode='19720'}"; + public String toString(){ + String temp = "Address{"; + temp += "addressLine1='" + Objects.toString(getAddressLine1(), "") +"', "; + temp += "addressLine2='" + Objects.toString(getAddressLine2(), "") +"', "; + temp += "city='" + Objects.toString(getCity(), "") +"', "; + temp += "state='" + Objects.toString(getState(), "") +"', "; + temp += "zipcode='" + Objects.toString(getZipcode(), "")+ "'}"; + return temp; } @Override public boolean equals(Object o) { - return (Boolean)null; + return this.toString().equals(o.toString()); } } diff --git a/src/main/java/com/dtcc/exams/oop/Person.java b/src/main/java/com/dtcc/exams/oop/Person.java index b8eff00..4cc4aff 100644 --- a/src/main/java/com/dtcc/exams/oop/Person.java +++ b/src/main/java/com/dtcc/exams/oop/Person.java @@ -1,43 +1,54 @@ package com.dtcc.exams.oop; +import java.util.Objects; + /** * @ATTENTION_TO_STUDENTS - Ensure that you have completed the `Address` class before attempting this class */ -public class Person { +public class Person extends Address{ + Long ID; + String Name; + Address Address; + /** * @param id - id of person * @param name - name of person * @param address - address of person */ public Person(Long id, String name, Address address) { + this.ID = id; + this.Name = name; + this.setAddress(address); } public Person() { + this(null, null, new Address()); } public Long getId() { - return null; - } - - public void setId(Long id) { + return ID; } - + public void setId(Long id) {this.ID = id; } public String getName() { - return null; - } - - public void setName(String name) { + return Name; } + public void setName(String name) {this.Name = name;} public Address getAddress() { - return null; + return Address; } public void setAddress(Address address) { + this.setAddressLine1(address.getAddressLine1()); + this.setAddressLine2(address.getAddressLine2()); + this.setCity(address.getCity()); + this.setState(address.getState()); + this.setZipcode(address.getZipcode()); } @Override public boolean equals(Object o) { - return (Boolean)null; + return (this.getId() == ((Person)o).getId()) + && (this.getName().equals(((Person) o).getName())); } } \ No newline at end of file diff --git a/src/main/java/com/dtcc/exams/oop/animals/Animal.java b/src/main/java/com/dtcc/exams/oop/animals/Animal.java index 2838689..a8067ea 100644 --- a/src/main/java/com/dtcc/exams/oop/animals/Animal.java +++ b/src/main/java/com/dtcc/exams/oop/animals/Animal.java @@ -6,7 +6,11 @@ /** * @ATTENTION_TO_STUDENTS - Ensure that you have completed the `Person` class before attempting this class. */ -public class Animal { +public class Animal extends Person{ + + /* + Person handles name and ID and address + */ public Animal() { } @@ -18,10 +22,10 @@ public Animal(Long id, Person owner) { } public Long getId() { - return null; + return this.getId(); } - public void setId(Long id) { + public void setId(Long id) {this.setId(id); } public Person getOwner() { diff --git a/src/main/java/com/dtcc/exams/oop/animals/Dog.java b/src/main/java/com/dtcc/exams/oop/animals/Dog.java index 5401e48..6889f54 100644 --- a/src/main/java/com/dtcc/exams/oop/animals/Dog.java +++ b/src/main/java/com/dtcc/exams/oop/animals/Dog.java @@ -5,6 +5,6 @@ */ public class Dog { public String speak() { - return null; + return "Woof!\nWoof!"; } } diff --git a/src/test/java/com/dtcc/exams/atm/AccountTest.java b/src/test/java/com/dtcc/exams/atm/AccountTest.java index ddb07ea..189046f 100644 --- a/src/test/java/com/dtcc/exams/atm/AccountTest.java +++ b/src/test/java/com/dtcc/exams/atm/AccountTest.java @@ -2,6 +2,7 @@ import org.junit.Test; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; // Test the expected Account class from ATM. diff --git a/src/test/java/com/dtcc/exams/fundamentals/basicstringutils/RemoveCharactersTest.java b/src/test/java/com/dtcc/exams/fundamentals/basicstringutils/RemoveCharactersTest.java index e68882e..de6822c 100644 --- a/src/test/java/com/dtcc/exams/fundamentals/basicstringutils/RemoveCharactersTest.java +++ b/src/test/java/com/dtcc/exams/fundamentals/basicstringutils/RemoveCharactersTest.java @@ -28,8 +28,6 @@ public void test4() { private void test(String string, String charactersToRemove, String expectedString) { // when String actualString = BasicStringUtils.removeCharacters(string, charactersToRemove); - - // then Assert.assertEquals(expectedString, actualString); } diff --git a/src/test/java/com/dtcc/exams/fundamentals/stringutils/IsNumericTest.java b/src/test/java/com/dtcc/exams/fundamentals/stringutils/IsNumericTest.java index 594d7f4..729a5f3 100644 --- a/src/test/java/com/dtcc/exams/fundamentals/stringutils/IsNumericTest.java +++ b/src/test/java/com/dtcc/exams/fundamentals/stringutils/IsNumericTest.java @@ -37,7 +37,8 @@ public void numericStringTest1() { // When boolean outcome = StringUtils.isNumericString(alphaString); - + System.out.println(outcome); + System.out.println(alphaString.matches("[0-9]")); // Then Assert.assertTrue(outcome); } diff --git a/src/test/java/com/dtcc/exams/oop/person/PersonEqualsTest.java b/src/test/java/com/dtcc/exams/oop/person/PersonEqualsTest.java index b416a17..3aaf23e 100644 --- a/src/test/java/com/dtcc/exams/oop/person/PersonEqualsTest.java +++ b/src/test/java/com/dtcc/exams/oop/person/PersonEqualsTest.java @@ -36,7 +36,9 @@ public void checkNonDefaultPersonEquivalence() { // given Person person1 = new Person(null, "PersonName", null); Person person2 = new Person(null, "PersonName", null); - + System.out.println(person1.getId()); + System.out.println(person2.getId()); + System.out.println((person1.getName().equals(((Person) person2).getName()))); // when Boolean outcome = person1.equals(person2); From bbf928041ebe8fb26fa8fed438f2f7a0960dfd1c Mon Sep 17 00:00:00 2001 From: "koastiebratt@gmail.com" Date: Fri, 9 Oct 2020 11:54:36 -0400 Subject: [PATCH 2/3] What I have at 11:54am --- .../dtcc/exams/fundamentals/StringUtils.java | 18 +++++----- src/main/java/com/dtcc/exams/oop/Person.java | 36 +++++++++++++++---- .../exams/oop/person/PersonEqualsTest.java | 4 +-- 3 files changed, 40 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java b/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java index 0522212..cb87dc8 100644 --- a/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java +++ b/src/main/java/com/dtcc/exams/fundamentals/StringUtils.java @@ -46,13 +46,12 @@ public static String repeatString(String stringToBeRepeated, int numberOfTimeToR * @return - true if string only contains alpha characters */ public static Boolean isAlphaString(String string) { - - boolean bool = true; String temp = string.toLowerCase(); char[] ch= temp.toCharArray(); for(int i =0; i < string.length();i++) { - if (!(ch[i] >= 'a' && ch[i] <= 'z')) { + System.out.print(ch[i]); + if (!((ch[i] >= 'a' && ch[i] <= 'z') || ch[i] == ' ')) { bool = false; } } @@ -64,13 +63,16 @@ public static Boolean isAlphaString(String string) { * @return - true if string only contains numeric characters */ public static Boolean isNumericString(String string) { - boolean temp = true; - for(int i =0; i < string.length();i++){ - if(!((int)string.charAt(i) >=48 && (int)string.charAt(i) <=57)){ - temp = false; + boolean bool = true; + String temp = string.toLowerCase(); + char[] ch= temp.toCharArray(); + for(int i =0; i < string.length();i++) { + System.out.print(ch[i]); + if (!((ch[i] >= '0' && ch[i] <= '9') || ch[i] == ' ')) { + bool = false; } } - return temp; + return bool; } /** diff --git a/src/main/java/com/dtcc/exams/oop/Person.java b/src/main/java/com/dtcc/exams/oop/Person.java index 4cc4aff..1aaba7c 100644 --- a/src/main/java/com/dtcc/exams/oop/Person.java +++ b/src/main/java/com/dtcc/exams/oop/Person.java @@ -8,7 +8,7 @@ public class Person extends Address{ Long ID; String Name; - Address Address; + Address address; /** * @param id - id of person @@ -16,13 +16,19 @@ public class Person extends Address{ * @param address - address of person */ public Person(Long id, String name, Address address) { - this.ID = id; + if(id == null){ + this.ID = Long.MIN_VALUE; + }else{ + this.ID = id; + } this.Name = name; - this.setAddress(address); + this.address = address; } public Person() { - this(null, null, new Address()); + this.ID = Long.MIN_VALUE; + this.Name = ""; + this.address = new Address(); } public Long getId() { @@ -35,7 +41,7 @@ public String getName() { public void setName(String name) {this.Name = name;} public Address getAddress() { - return Address; + return address; } public void setAddress(Address address) { @@ -46,9 +52,25 @@ public void setAddress(Address address) { this.setZipcode(address.getZipcode()); } + //Person{id=9223372036854775807, name='PersonName', address=Address{addressLine1='line1', addressLine2='line2', city='city', state='state', zipcode='99999'}}" + public String toString(){ + Address address = Person.this.getAddress(); + String temp = "Person{"; + temp += "id=" + Objects.toString(getId(), "") + ", "; + temp += "name='" + Objects.toString(getName(), "") + "', "; + temp+= "address="; + temp += "Address{"; + temp += "addressLine1='" + Objects.toString(address.getAddressLine1(), "") +"', "; + temp += "addressLine2='" + Objects.toString(address.getAddressLine2(), "") +"', "; + temp += "city='" + Objects.toString(address.getCity(), "") +"', "; + temp += "state='" + Objects.toString(address.getState(), "") +"', "; + temp += "zipcode='" + Objects.toString(address.getZipcode(), "")+ "'}}"; + System.out.println(temp); + return temp; + } + @Override public boolean equals(Object o) { - return (this.getId() == ((Person)o).getId()) - && (this.getName().equals(((Person) o).getName())); + return (this.toString().equals(o.toString())); } } \ No newline at end of file diff --git a/src/test/java/com/dtcc/exams/oop/person/PersonEqualsTest.java b/src/test/java/com/dtcc/exams/oop/person/PersonEqualsTest.java index 3aaf23e..6894fcb 100644 --- a/src/test/java/com/dtcc/exams/oop/person/PersonEqualsTest.java +++ b/src/test/java/com/dtcc/exams/oop/person/PersonEqualsTest.java @@ -24,6 +24,7 @@ public void checkDefaultPersonNonEquivalence() { Person person1 = new Person(null, "PersonName", null); Person person2 = new Person(); + // when Boolean outcome = person1.equals(person2); @@ -36,9 +37,6 @@ public void checkNonDefaultPersonEquivalence() { // given Person person1 = new Person(null, "PersonName", null); Person person2 = new Person(null, "PersonName", null); - System.out.println(person1.getId()); - System.out.println(person2.getId()); - System.out.println((person1.getName().equals(((Person) person2).getName()))); // when Boolean outcome = person1.equals(person2); From 69b20b8eacbf0d1c099bbdbbb7c65ffede25614e Mon Sep 17 00:00:00 2001 From: "koastiebratt@gmail.com" Date: Fri, 9 Oct 2020 12:27:22 -0400 Subject: [PATCH 3/3] updated dog, owner, and woofer --- src/main/java/com/dtcc/exams/oop/Person.java | 1 - .../java/com/dtcc/exams/oop/animals/Animal.java | 17 ++++++++++++----- .../java/com/dtcc/exams/oop/animals/Dog.java | 2 +- .../java/com/dtcc/exams/oop/animals/Woofer.java | 2 +- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/dtcc/exams/oop/Person.java b/src/main/java/com/dtcc/exams/oop/Person.java index 1aaba7c..e4110e0 100644 --- a/src/main/java/com/dtcc/exams/oop/Person.java +++ b/src/main/java/com/dtcc/exams/oop/Person.java @@ -65,7 +65,6 @@ public String toString(){ temp += "city='" + Objects.toString(address.getCity(), "") +"', "; temp += "state='" + Objects.toString(address.getState(), "") +"', "; temp += "zipcode='" + Objects.toString(address.getZipcode(), "")+ "'}}"; - System.out.println(temp); return temp; } diff --git a/src/main/java/com/dtcc/exams/oop/animals/Animal.java b/src/main/java/com/dtcc/exams/oop/animals/Animal.java index a8067ea..8264018 100644 --- a/src/main/java/com/dtcc/exams/oop/animals/Animal.java +++ b/src/main/java/com/dtcc/exams/oop/animals/Animal.java @@ -8,10 +8,14 @@ */ public class Animal extends Person{ + Long ID; + Person person; + /* Person handles name and ID and address */ public Animal() { + this(null, null); } /** @@ -19,23 +23,26 @@ public Animal() { * @param owner - owner of animal */ public Animal(Long id, Person owner) { + this.ID = id; + this.person = owner; + } public Long getId() { - return this.getId(); + return ID; } - public void setId(Long id) {this.setId(id); - } + public void setId(Long id) {this.ID = id;} public Person getOwner() { - return null; + return this.person; } public void setOwner(Person owner) { + this.person = owner; } public Address getAddress() { - return null; + return person.getAddress(); } } diff --git a/src/main/java/com/dtcc/exams/oop/animals/Dog.java b/src/main/java/com/dtcc/exams/oop/animals/Dog.java index 6889f54..903607b 100644 --- a/src/main/java/com/dtcc/exams/oop/animals/Dog.java +++ b/src/main/java/com/dtcc/exams/oop/animals/Dog.java @@ -3,7 +3,7 @@ /** * @ATTENTION_TO_STUDENTS - Ensure that you completed the `Animal` class before attempting this class */ -public class Dog { +public class Dog extends Woofer{ public String speak() { return "Woof!\nWoof!"; } diff --git a/src/main/java/com/dtcc/exams/oop/animals/Woofer.java b/src/main/java/com/dtcc/exams/oop/animals/Woofer.java index 6d53313..410df48 100644 --- a/src/main/java/com/dtcc/exams/oop/animals/Woofer.java +++ b/src/main/java/com/dtcc/exams/oop/animals/Woofer.java @@ -1,5 +1,5 @@ package com.dtcc.exams.oop.animals; -public class Woofer { +public class Woofer extends Animal { }