From ef5110cd7ca33418939a578062d5b91adb1a6fea Mon Sep 17 00:00:00 2001 From: NandoOU Date: Mon, 20 Mar 2017 20:26:55 +0000 Subject: [PATCH 01/26] prueba --- CadenaInv/CadInv.java | 46 +++++++++++++++++++++++++ CadenaInv/CadInvTest.java | 71 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 CadenaInv/CadInv.java create mode 100644 CadenaInv/CadInvTest.java diff --git a/CadenaInv/CadInv.java b/CadenaInv/CadInv.java new file mode 100644 index 0000000..b14abeb --- /dev/null +++ b/CadenaInv/CadInv.java @@ -0,0 +1,46 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +/** + * + * @author Administrator + */ +public class CadInv { + +//String string = "Estamos provando la inversion de una cadena"; +//String[] parts = string.split(" "); + + public String cadenaInv(String string ){ + String[] parts = string.split(" "); + return cadenaInv(parts, 0,0,0); + } + private String cadenaInv(String [] parts, int pos, int posstring, int cant){ + String res = null; + if(pos < parts.length){ + String aux= parts[pos]; + if(posstring < aux.length()){ + return cadenaInv(parts,0,1,cant+1); + } + if(cant>5){ + String aux2=invertir(aux); + res= res + aux2; + } + else { + return cadenaInv(parts,pos+1,0,0); + + } + return cadenaInv(parts,0,posstring+1,0); + } + return res; + } + public String invertir(String aux){ + String res = null; + for (int x=aux.length()-1; x >= 0 ;x--) + res = res + aux.charAt(x); + return res; + } + +} diff --git a/CadenaInv/CadInvTest.java b/CadenaInv/CadInvTest.java new file mode 100644 index 0000000..5d56921 --- /dev/null +++ b/CadenaInv/CadInvTest.java @@ -0,0 +1,71 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import static org.junit.Assert.*; + +/** + * + * @author Administrator + */ +public class CadInvTest { + + @Test + public void testWhenSentenceHasNoString() { + CadInv ejercicio = new CadInv(); + // given: + final String sentence = " "; + + // when: + final String actualResult= ejercicio.cadenaInv(sentence); + + // then: + final String expectedResult= null; + assertEquals(expectedResult, actualResult); + } + + @Test + public void testWhenSentenceHasNoWorksMajorToFive() { + CadInv ejercicio = new CadInv(); + //Hey fellow warriors + // give: + final String sentence= "Hi guys how are you"; + + // when: + final String actualResult=ejercicio.cadenaInv(sentence); + + // then: + final String expectedResult= "hi guys how are you"; + assertEquals(expectedResult, actualResult); + } + + + @Test + public void testWhenSentenceHasMoreThanOneWordMajorThatFive() { + CadInv ejercicio = new CadInv(); + // give: + final String sentence= "Hey fellow warriors"; + + // when: + final String actualResult= ejercicio.cadenaInv(sentence); + + // then: + final String expectedResult= "Hey wollef sroirraw"; + assertEquals(expectedResult, actualResult); + } + + + + // TODO add test methods here. + // The methods must be annotated with annotation @Test. For example: + // + // @Test + // public void hello() {} +} From 0698ce8147e8fe551f9fcacd83bae1bc6db3ed18 Mon Sep 17 00:00:00 2001 From: NandoOU Date: Mon, 20 Mar 2017 20:30:20 +0000 Subject: [PATCH 02/26] prueba2 --- CheckSum/CheckSum.java | 45 +++++++++++++++++++++++++++++ CheckSum/CheckSumTest.java | 58 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+) create mode 100644 CheckSum/CheckSum.java create mode 100644 CheckSum/CheckSumTest.java diff --git a/CheckSum/CheckSum.java b/CheckSum/CheckSum.java new file mode 100644 index 0000000..0b45808 --- /dev/null +++ b/CheckSum/CheckSum.java @@ -0,0 +1,45 @@ + +/** + * Write a description of class CheckSum here. + * + * @author (your name) + * @version (a version number or a date) + */ +public class CheckSum +{ + public CheckSum(){ + + } + + public int canValores(String valor){ + return canValores(valor,0); + } + private int canValores(String valor, int aux){ + int respuesta = 0; + int res=0; + while(aux< valor.length()) + { + int aux1= (int)valor.charAt(aux); + + if(aux1%2==0){ + res= res+aux1*3; + + }else{ + res= res+aux1*1; + } + canValores(valor, aux+1); + + } + + if(10-(res%10)==8) + { + respuesta= 10-(res%10); + } + else{ + respuesta=0; + } + return respuesta; + } + + +} diff --git a/CheckSum/CheckSumTest.java b/CheckSum/CheckSumTest.java new file mode 100644 index 0000000..7f2a139 --- /dev/null +++ b/CheckSum/CheckSumTest.java @@ -0,0 +1,58 @@ + + +import static org.junit.Assert.*; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/** + * The test class CheckSumTest. + * + * @author (your name) + * @version (a version number or a date) + */ +public class CheckSumTest +{ + @Test + public void testWhenSentenceHasNoString() { + CheckSum ejercicio = new CheckSum(); + // given: + final String sentence = " "; + + // when: + final int actualResult= ejercicio.canValores(sentence); + + // then + final int expectedResult= 0; + assertEquals(expectedResult, actualResult); + } + + @Test + public void testWhenSentenceHasNoWordsMajorToFive() { + CheckSum ejercicio = new CheckSum(); + // given: + final String sentence = "12345"; + + // when: + final int actualResult= ejercicio.canValores(sentence); + + // then + final int expectedResult= 8; + assertEquals(expectedResult, actualResult); + } + + + @Test + public void testWhenSentenceHasMoreThanOneWordMajorThatFive() { + CheckSum ejercicio = new CheckSum(); + // given: + final String sentence = "123456789"; + + // when: + final int actualResult= ejercicio.canValores(sentence); + + // then + final int expectedResult= 8; + assertEquals(expectedResult, actualResult); + } +} From d4e4a067e90536ac030847ca71eab6a5f3c96143 Mon Sep 17 00:00:00 2001 From: NandoOU Date: Tue, 21 Mar 2017 18:09:28 +0000 Subject: [PATCH 03/26] BankOCR --- .../coding/Fernando/BankOCR/BankOCR.java | 37 +++++ .../coding/Fernando/BankOCR/EntryParser.java | 136 ++++++++++++++++++ .../coding/Fernando/BankOCR/FileManager.java | 53 +++++++ .../coding/Fernando/BankOCR/input.txt | 19 +++ .../coding/Fernando/BankOCR/output.txt | 6 + 5 files changed, 251 insertions(+) create mode 100644 src/main/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCR.java create mode 100644 src/main/java/org/fundacionjala/coding/Fernando/BankOCR/EntryParser.java create mode 100644 src/main/java/org/fundacionjala/coding/Fernando/BankOCR/FileManager.java create mode 100644 src/main/java/org/fundacionjala/coding/Fernando/BankOCR/input.txt create mode 100644 src/main/java/org/fundacionjala/coding/Fernando/BankOCR/output.txt diff --git a/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCR.java b/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCR.java new file mode 100644 index 0000000..90c4b81 --- /dev/null +++ b/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCR.java @@ -0,0 +1,37 @@ +package org.fundacionjala.coding.Fernando.BankOCR; + + +import java.io.IOException; +import java.util.ArrayList; + +/** + * Write a description of class BankOCR here. + * * @author (your name) + * + * @version (a version number or a date) + */ + + public final class BankOCR { + + /** + * Constructor method. + */ + private BankOCR() { + } + + /** + * @param arg recibe un parametro String. + * @throws IOException exception. + */ + public static void main(final String[] arg) throws IOException { + FileManager fm = new FileManager(); + EntryParser e = new EntryParser(); + ArrayList a = fm.readFile("input.txt"); + //System.out.println(a); + e.parseEntry(a); + System.out.println(e.parseEntry(a)); + + fm.fileWrite(a); + } + +} diff --git a/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/EntryParser.java b/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/EntryParser.java new file mode 100644 index 0000000..e31a02e --- /dev/null +++ b/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/EntryParser.java @@ -0,0 +1,136 @@ +package org.fundacionjala.coding.Fernando.BankOCR; + +import java.util.ArrayList; + + +/** + * Class EntryParser. + */ +public class EntryParser { + private String line1, line2, line3; + static final int VAR_CARACT = 3; + static final int POS = 4; + static final int VALOR = 48; + static final int VALIDATOR = 11; + + /** + * @param input recibe an ArrayList. + */ + public void getLines(final ArrayList input) { + line1 = input.get(0); + line2 = input.get(1); + line3 = input.get(2); + } + + /** + * @param top recibe a String. + * @param mid recibe a String. + * @param bot recibe a String. + * @return String valor. + */ + public String generateNumber(final String top, final String mid, final String bot) { + if (top.equals(" ") + && mid.equals(" |") + && bot.equals(" |")) { + return "1"; + } else if (top.equals(" _ ") + && mid.equals(" _|") + && bot.equals("|_ ")) { + return "2"; + } else if (top.equals(" _ ") + && mid.equals(" _|") + && bot.equals(" _| ")) { + return "3"; + } else if (top.equals(" ") + && mid.equals("|_|") + && bot.equals(" |")) { + return "4"; + } else if (top.equals(" _ ") + && mid.equals("|_ ") + && bot.equals(" _|")) { + return "5"; + } else if (top.equals(" _ ") + && mid.equals("|_ ") + && bot.equals("|_|")) { + return "6"; + } else if (top.equals(" _ ") + && mid.equals(" |") + && bot.equals(" |")) { + return "7"; + } else if (top.equals(" _ ") + && mid.equals("|_|") + && bot.equals("|_|")) { + return "8"; + } else if (top.equals(" _ ") + && mid.equals("|_|") + && bot.equals(" _|")) { + return "9"; + } else if (top.equals(" _ ") + && mid.equals("| |") + && bot.equals("|_|")) { + return "0"; + } + return "?"; + } + + /** + * @param top recibe a String. + * @param mid recibe a String. + * @param bot recibe a String. + * @return String valor. + * para optener cada numero + */ + public String parseDigit(final String top, final String mid, final String bot) { + String output = ""; + if (top.length() < mid.length()) { + //top = top + " "; + for (int i = 0; i < top.length(); i += VAR_CARACT) { + + String topChar = top.substring(i, i + VAR_CARACT); + String midChar = mid.substring(i, i + VAR_CARACT); + String botChar = bot.substring(i, i + VAR_CARACT); + + output = output + generateNumber(topChar, midChar, botChar); + } + } + return output; + } + + /** + * @param entry recibe a String. + * @return ArrayList valor. + */ + public ArrayList parseEntry(final ArrayList entry) { + ArrayList output = new ArrayList(); + for (int i = 0; i < entry.size(); i += POS) { + String top = entry.get(i); + String mid = entry.get(i + 1); + String button = entry.get(i + 2); + + if (validAccountNumbers(parseDigit(top, mid, button))) { + output.add(parseDigit(top, mid, button)); + } else if (parseDigit(top, mid, button).contains("?")) { + output.add(parseDigit(top, mid, button) + "ILL"); + } else { + output.add(parseDigit(top, mid, button) + "ERR"); + } + } + return output; + } + + /** + * @param input recibe a String. + * @return boolean valor. + */ + public boolean validAccountNumbers(final String input) { + int suma = 0; + for (int i = input.length() - 1, multiplier = 1; i >= 0; i--, multiplier++) { + int x = (int) (input.charAt(i) - VALOR) * multiplier; + suma = suma + x; + } + if (suma % VALIDATOR == 0) { + return true; + } + return false; + } +} diff --git a/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/FileManager.java b/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/FileManager.java new file mode 100644 index 0000000..c34b128 --- /dev/null +++ b/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/FileManager.java @@ -0,0 +1,53 @@ +package org.fundacionjala.coding.Fernando.BankOCR; + +import java.io.IOException; +import java.util.ArrayList; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileWriter; +import java.io.BufferedWriter; + +/** + * @author name of author. + */ +public class FileManager { + + + /** + * @param filename recibe a String. + * @return ArrayList recibe a String. + * @throws FileNotFoundException exception. + * @throws IOException exception. + */ + public ArrayList readFile(final String filename) throws IOException { + FileReader fr = new FileReader(filename); + ArrayList content = new ArrayList(); + try (BufferedReader br = new BufferedReader(fr)) { + String temp; + while ((temp = br.readLine()) != null) { + content.add(temp); + } + } + return content; + } + + /** + * @param output recibe a String. + * @throws IOException exception. + */ + public void fileWrite(final ArrayList output) throws IOException { + File file = new File("output.txt"); + if (!file.exists()) { + file.createNewFile(); + } + FileWriter fw = new FileWriter(file.getAbsoluteFile()); + try (BufferedWriter bw = new BufferedWriter(fw)) { + for (String s : output) { + bw.write(s); + bw.newLine(); + } + } + } +} diff --git a/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/input.txt b/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/input.txt new file mode 100644 index 0000000..a4591de --- /dev/null +++ b/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/input.txt @@ -0,0 +1,19 @@ + _ _ _ _ _ _ _ + | _| _||_||_ |_ ||_||_| + ||_ _| | _||_| ||_| _| + + | | | | | | | | | + | | | | | | | | | + + _ _ _ _ _ _ _ _ _ + | | | | | | | | | + | | | | | | | | | + + _ _ _ _ _ _ _ _ _ + _|| || || || || || || || | +|_ |_||_||_||_||_||_||_||_| + + _ _ _ _ _ _ _ _ _ + _| _| _| _| _| _| _| _| _| + _| _| _| _| _| _| _| _| _| + diff --git a/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/output.txt b/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/output.txt new file mode 100644 index 0000000..f980108 --- /dev/null +++ b/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/output.txt @@ -0,0 +1,6 @@ +123456789 +111111111 ERR +?22222222 ILL +333333333 ERR +453674859 +?2343?RE? ILL \ No newline at end of file From 5cb04dd70efa3b459c27f147be3f49650962b516 Mon Sep 17 00:00:00 2001 From: NandoOU Date: Tue, 21 Mar 2017 18:10:15 +0000 Subject: [PATCH 04/26] BankOCRTest --- .../Fernando/BankOCR/EntryParserTest.java | 96 +++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 src/test/java/org/fundacionjala/coding/Fernando/BankOCR/EntryParserTest.java diff --git a/src/test/java/org/fundacionjala/coding/Fernando/BankOCR/EntryParserTest.java b/src/test/java/org/fundacionjala/coding/Fernando/BankOCR/EntryParserTest.java new file mode 100644 index 0000000..fdb0335 --- /dev/null +++ b/src/test/java/org/fundacionjala/coding/Fernando/BankOCR/EntryParserTest.java @@ -0,0 +1,96 @@ +package org.fundacionjala.coding.Fernando.BankOCR; + + +import org.junit.Test; + +import java.io.IOException; +import java.util.ArrayList; + +import static org.junit.Assert.assertEquals; + +/** + * The test class EntryParserTest. + * + * @author (your name) + * @version (a version number or a date) + */ +public class EntryParserTest { + /** + * test unit1. + */ + /** + @Test public void test1() throws IOException { + FileManager fm = new FileManager(); + // given: + ArrayList a = fm.readFile("input.txt"); + EntryParser e = new EntryParser(); + e.getLines(a); + System.out.println(e.line1); + System.out.println(e.line2); + System.out.println(e.line3); + + assertEquals(" _ _ _ _ _ _ _ ", e.line1); + assertEquals(" | _| _||_||_ |_ ||_||_|", e.line2); + assertEquals(" ||_ _| | _||_| ||_| _|", e.line3); + + } + */ + + /** + * testGenerate1. + */ + @Test + public void testGenerate1() { + EntryParser e = new EntryParser(); + String top = " "; + String mid = " |"; + String bot = " |"; + + assertEquals("1", e.generateNumber(top, mid, bot)); + } + + /** + * testGenerate1. + */ + @Test + public void testParseOneDigit() { + EntryParser e = new EntryParser(); + String top = " _ _ _ _ _ _ _ "; + String mid = " | _| _||_||_ |_ ||_||_|"; + String bot = " ||_ _| | _||_| ||_| _|"; + + assertEquals("123456789", e.parseDigit(top, mid, bot)); + } + + /** + * testparseEntry. + * + * @throws IOException exception. + */ + @Test + public void testparseEntry() throws IOException { + FileManager fm = new FileManager(); + EntryParser e = new EntryParser(); + + ArrayList entries = fm.readFile("input.txt"); + ArrayList results = e.parseEntry(entries); + + System.out.println(results); + } + + /** + * testvalidNumbers. + */ + @Test + public void testvalidNumbers() { + String input = "123456789"; + int suma = 0; + for (int i = input.length() - 1, multiplier = 1; i >= 0; i--, multiplier++) { + int x = (int) input.charAt(i) * multiplier; + suma = suma + x; + } + System.out.println(suma); + + } + +} From 7709f6d9dfcdbe2499556065ce06156d872a76b1 Mon Sep 17 00:00:00 2001 From: NandoOU Date: Thu, 23 Mar 2017 19:33:15 +0000 Subject: [PATCH 05/26] CadenaInvertida --- .../coding/Fernando/CadenaInv/CadInv.java | 68 ++++++++----------- 1 file changed, 27 insertions(+), 41 deletions(-) diff --git a/src/main/java/org/fundacionjala/coding/Fernando/CadenaInv/CadInv.java b/src/main/java/org/fundacionjala/coding/Fernando/CadenaInv/CadInv.java index 8251608..a229912 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/CadenaInv/CadInv.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/CadenaInv/CadInv.java @@ -1,62 +1,48 @@ package org.fundacionjala.coding.Fernando.CadenaInv; -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates. - * and open the template in the editor. - */ /** - * @author Administrator + * Write a description of class CadInv here. + * + * @author (your name) + * @version (a version number or a date) */ -public class CadInv { - static final int VAR = 5; +public final class CadInv { + static final int CANTMAYOR = 5; /** - * @param string ingresamos un string. - * @return String devuelve una string. + * Constructor. + */ + public CadInv() { + + } + + /** + * @param string param. + * @return String param. */ public String cadenaInv(final String string) { String[] parts = string.split(" "); - return cadenaInv(parts, 0, 0, 0); + return cadenaInv(parts, 0); } /** - * @param parts parametro - * @param pos parametro - * @param posstring parametro - * @param cant parametro - * @return String Aumentamos parametros al metodo. + * @param parts param. + * @param pos param. + * @return String param. */ - private String cadenaInv(final String[] parts, final int pos, final int posstring, final int cant) { - String res = null; - if (pos < parts.length) { - String aux = parts[pos]; - if (posstring < aux.length()) { - return cadenaInv(parts, 0, 1, cant + 1); - } - if (cant > VAR) { - String aux2 = invertir(aux); - res = res + aux2; - } else { - return cadenaInv(parts, pos + 1, 0, 0); + private String cadenaInv(final String[] parts, final int pos) { + if (pos < parts.length) { + String palabra = parts[pos]; + if (palabra.length() > CANTMAYOR) { + StringBuilder sb = new StringBuilder(parts[pos]); + parts[pos] = sb.reverse().toString(); } - return cadenaInv(parts, 0, posstring + 1, 0); + return cadenaInv(parts, pos + 1); } - return res; - } + return String.join(" ", parts); - /** - * @param aux parametro - * @return String Inv the String. - */ - public String invertir(final String aux) { - String res = null; - for (int x = aux.length() - 1; x >= 0; x--) { - res = res + aux.charAt(x); - } - return res; } } From f5037a411465a3a07a4c7776f5e9ffe077e54d49 Mon Sep 17 00:00:00 2001 From: NandoOU Date: Thu, 23 Mar 2017 19:34:00 +0000 Subject: [PATCH 06/26] CheckSum --- .../coding/Fernando/CheckSum/CheckSum.java | 58 +++++++++++-------- 1 file changed, 34 insertions(+), 24 deletions(-) diff --git a/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSum.java b/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSum.java index 7c85731..17387d4 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSum.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSum.java @@ -1,4 +1,5 @@ package org.fundacionjala.coding.Fernando.CheckSum; + /** * Write a description of class CheckSum here. * @@ -6,52 +7,61 @@ * @version (a version number or a date) */ public class CheckSum { - static final int TRES = 3; - static final int UNO = 1; - static final int DIEZ = 10; - static final int DOS = 2; - static final int OCHO = 8; + static final int TRES = 3; + static final int UNO = 1; + static final int DIEZ = 10; + static final int DOS = 2; + static final int OCHO = 8; + /** * constructor. */ public CheckSum() { } + /** - * @param valor parametro - *@return boolean retorna un booleano + * @param valor parametro. + * @return boolean retorna un booleano. */ public boolean canValores(final String valor) { - return canValores(valor, 0); + return canValores(valor, 1); } + /** - * @param valor parametro - * @param aux parametro - *@return boolean retorna un booleano + * @param valor parametro. + * @param pos parametro. + * @return boolean retorna un booleano. */ - private boolean canValores(final String valor, final int aux) { + private boolean canValores(final String valor, final int pos) { int res = 0; - while (aux < valor.length()) { - int aux1 = (int) valor.charAt(aux); + int sum = 0; + int res1 = 0; + if (pos < valor.length()) { + int aux1 = (int) valor.charAt(pos - 1); - if (aux1 % DOS == 0) { + if (pos % 2 == 0) { res = res + aux1 * TRES; + } else { + res1 = res + aux1 * 1; } - res = res + aux1 * UNO; - - canValores(valor, aux + 1); - } + canValores(valor, pos + 1); - if (DIEZ - (res % DIEZ) == OCHO) { - return true; } - return false; - - + sum = res + res1; + boolean numValido = numeroValido(sum); + return numValido; } + /** + * @param sum parametro. + * @return boolean retorna un booleano. + */ + public boolean numeroValido(final int sum) { + return (DIEZ - (sum % DIEZ) == OCHO) ? true : false; + } } From 8f1c8c6bb2c7a74fa74486d481dc60d8f95255fc Mon Sep 17 00:00:00 2001 From: NandoOU Date: Thu, 23 Mar 2017 19:34:52 +0000 Subject: [PATCH 07/26] CadInvTest --- .../coding/Fernando/CadenaInv/CadInvTest.java | 48 ++++++++----------- 1 file changed, 19 insertions(+), 29 deletions(-) diff --git a/src/test/java/org/fundacionjala/coding/Fernando/CadenaInv/CadInvTest.java b/src/test/java/org/fundacionjala/coding/Fernando/CadenaInv/CadInvTest.java index 9fe3f68..c6d1594 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/CadenaInv/CadInvTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/CadenaInv/CadInvTest.java @@ -1,75 +1,65 @@ package org.fundacionjala.coding.Fernando.CadenaInv; -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ - import org.junit.Test; import static org.junit.Assert.assertEquals; /** - * @author Administrator + * The test class CadInvTest. + * + * @author (your name) + * @version (a version number or a date) */ public class CadInvTest { - /** - * testWhenSentenceHasNoString Administrator. + * Test when sentence is empty. */ @Test - public void testWhenSentenceHasNoString() { - CadInv ejercicio = new CadInv(); + public void testWhenSentenceIsEmpty() { + CadInv cadI = new CadInv(); // given: - final String sentence = " "; + final String sentence = ""; // when: - final String actualResult = ejercicio.cadenaInv(sentence); + final String actualResult = cadI.cadenaInv(sentence); // then: - final String expectedResult = null; + final String expectedResult = ""; assertEquals(expectedResult, actualResult); } + /** - * testWhenSentenceHasNoWorksMajorToFive Administrator. + * Test when sentence has no words major to five. */ @Test - public void testWhenSentenceHasNoWorksMajorToFive() { - CadInv ejercicio = new CadInv(); + public void testWhenSentenceHasNoWordsMajorToFive() { + CadInv cadI = new CadInv(); //Hey fellow warriors // give: final String sentence = "Hi guys how are you"; // when: - final String actualResult = ejercicio.cadenaInv(sentence); + final String actualResult = cadI.cadenaInv(sentence); // then: - final String expectedResult = "hi guys how are you"; + final String expectedResult = "Hi guys how are you"; assertEquals(expectedResult, actualResult); } /** - * testWhenSentenceHasNoWorksMajorToFive Administrator. + * Test when sentence has more than one word major that five. */ @Test public void testWhenSentenceHasMoreThanOneWordMajorThatFive() { - CadInv ejercicio = new CadInv(); + CadInv cadI = new CadInv(); // give: final String sentence = "Hey fellow warriors"; // when: - final String actualResult = ejercicio.cadenaInv(sentence); + final String actualResult = cadI.cadenaInv(sentence); // then: final String expectedResult = "Hey wollef sroirraw"; assertEquals(expectedResult, actualResult); } - - - // TODO add test methods here. - // The methods must be annotated with annotation @Test. For example: - // - // @Test - // public void hello() {} } From aafc87c6f1d478091c65cfb53ae0d7fac795da57 Mon Sep 17 00:00:00 2001 From: NandoOU Date: Thu, 23 Mar 2017 19:35:25 +0000 Subject: [PATCH 08/26] CheckSumTest --- .../Fernando/CheckSum/CheckSumTest.java | 51 +++++-------------- 1 file changed, 13 insertions(+), 38 deletions(-) diff --git a/src/test/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSumTest.java b/src/test/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSumTest.java index 3ebc186..913eff8 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSumTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSumTest.java @@ -2,7 +2,8 @@ import org.junit.Test; -import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; /** * The test class CheckSumTest. @@ -12,62 +13,36 @@ */ public class CheckSumTest { /** - * The test class CheckSumTest. - * - * @author (your name) - * @version (a version number or a date) + * Test when sentence is empty. */ @Test - public void testWhenSentenceHasNoString() { - CheckSum ejercicio = new CheckSum(); + public void testWhenSentenceISEmpty() { + CheckSum cs = new CheckSum(); // given: - final String sentence = " "; + final String sentence = "4003301018398"; // when: - final boolean actualResult = ejercicio.canValores(sentence); + final boolean actualResult = cs.canValores(sentence); // then final boolean expectedResult = false; - assertEquals(expectedResult, actualResult); + assertTrue(actualResult); } /** - * The test class CheckSumTest. - * - * @author (your name) - * @version (a version number or a date) - */ - @Test - public void testWhenSentenceHasNoWordsMajorToFive() { - CheckSum ejercicio = new CheckSum(); - // given: - final String sentence = "12345"; - - // when: - final boolean actualResult = ejercicio.canValores(sentence); - - // then - final boolean expectedResult = true; - assertEquals(expectedResult, actualResult); - } - - /** - * The test class CheckSumTest. - * - * @author (your name) - * @version (a version number or a date) + * Test when sentence has more than one word major that five. */ @Test public void testWhenSentenceHasMoreThanOneWordMajorThatFive() { - CheckSum ejercicio = new CheckSum(); + CheckSum cs = new CheckSum(); // given: - final String sentence = "123456789"; + final String sentence = "1234567890200"; // when: - final boolean actualResult = ejercicio.canValores(sentence); + final boolean actualResult = cs.canValores(sentence); // then final boolean expectedResult = true; - assertEquals(expectedResult, actualResult); + assertFalse(actualResult); } } From 6968c4c0e399bc4bf9a6c90bcaddd5d5d65effb4 Mon Sep 17 00:00:00 2001 From: NandoOU Date: Sat, 25 Mar 2017 21:10:35 +0000 Subject: [PATCH 09/26] Exam --- .../coding/Fernando/Exam/Prom.java | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/main/java/org/fundacionjala/coding/Fernando/Exam/Prom.java diff --git a/src/main/java/org/fundacionjala/coding/Fernando/Exam/Prom.java b/src/main/java/org/fundacionjala/coding/Fernando/Exam/Prom.java new file mode 100644 index 0000000..faed324 --- /dev/null +++ b/src/main/java/org/fundacionjala/coding/Fernando/Exam/Prom.java @@ -0,0 +1,47 @@ +package org.fundacionjala.coding.Fernando.Exam; + +/** + * Write a description of class Prom here. + * + * @author (your name) + * @version (a version number or a date) + */ +public class Prom { + /** + * Constructor. + */ + public Prom() { + } + + /** + * @param num the method has a int value. + * @return double value. + */ + public double[] promedio(final int[] num) { + double[] res = {}; + if (num != null && num.length != 0) { + return promedio(num, 0); + } else { + return res; + } + + } + + /** + * @param num the method has a int value. + * @param pos1 param. + * @return double value. + */ + private double[] promedio(final int[] num, final int pos1) { + double[] res = new double[num.length - 1]; + + for (int pos = 0; pos < num.length - 1; pos++) { + double primvalor = num[pos]; + double secondvalor = num[pos + 1]; + double prom = (primvalor + secondvalor) / 2; + res[pos] = prom; + } + return res; + + } +} From bd6795e34ac7ff632b08e493f7a2786860ba45cf Mon Sep 17 00:00:00 2001 From: NandoOU Date: Sat, 25 Mar 2017 21:11:08 +0000 Subject: [PATCH 10/26] ExamTest --- .../coding/Fernando/Exam/PromTest.java | 118 ++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 src/test/java/org/fundacionjala/coding/Fernando/Exam/PromTest.java diff --git a/src/test/java/org/fundacionjala/coding/Fernando/Exam/PromTest.java b/src/test/java/org/fundacionjala/coding/Fernando/Exam/PromTest.java new file mode 100644 index 0000000..fa6335d --- /dev/null +++ b/src/test/java/org/fundacionjala/coding/Fernando/Exam/PromTest.java @@ -0,0 +1,118 @@ +package org.fundacionjala.coding.Fernando.Exam; + +import org.junit.Test; + +import java.util.Arrays; + +import static org.junit.Assert.assertEquals; + +/** + * The test class PromTest. + * + * @author (your name) + * @version (a version number or a date) + */ +public class PromTest { + /* + * testPromWhenHave5Elements. + */ + @Test + public void testPromWhenHave5Elements() { + Prom p = new Prom(); + // given: + final int[] num = {2, 2, 2, 2, 2}; + + // when: + final double[] actualResult = p.promedio(num); + + // then: + final double[] expectedResult = {2.0, 2.0, 2.0, 2.0}; + assertEquals(Arrays.toString(expectedResult), Arrays.toString(actualResult)); + } + + /* + * testPromWhenHave5Elements. + */ + @Test + public void testPromWhenHaveDiferentData() { + Prom p = new Prom(); + // given: + final int[] num = {1, 3, 5, 1, -10}; + + // when: + final double[] actualResult = p.promedio(num); + + // then: + final double[] expectedResult = {2.0, 4.0, 3.0, -4.5}; + assertEquals(Arrays.toString(expectedResult), Arrays.toString(actualResult)); + } + + /* + * testPromWhenHave5Elements. + */ + @Test + public void testPromWhenHaveTheSameData() { + Prom p = new Prom(); + // given: + final int[] num = {2, -2, 2, -2, 2}; + + // when: + final double[] actualResult = p.promedio(num); + + // then: + final double[] expectedResult = {0.0, 0.0, 0.0, 0.0}; + assertEquals(Arrays.toString(expectedResult), Arrays.toString(actualResult)); + } + + /* + * testPromWhenHave5Elements. + */ + @Test + public void testPromWhenTheArrayIsNull() { + Prom p = new Prom(); + // given: + final int[] num = null; + + // when: + final double[] actualResult = p.promedio(num); + + // then: + final double[] expectedResult = {}; + assertEquals(Arrays.toString(expectedResult), Arrays.toString(actualResult)); + } + + /* + * testPromWhenHave5Elements. + */ + @Test + public void testPromWhenTheArrayIsEmpty() { + Prom p = new Prom(); + // give: + final int[] num = {}; + + // when: + final double[] actualResult = p.promedio(num); + + // then: + final double[] expectedResult = {}; + + assertEquals(Arrays.toString(expectedResult), Arrays.toString(actualResult)); + } + + /* + * testPromWhenHave5Elements. + */ + @Test + public void testPromWhenTheArrayHasOneElement() { + Prom p = new Prom(); + // given: + final int[] num = {2}; + + // when: + final double[] actualResult = p.promedio(num); + + // then: + final double[] expectedResult = {}; + assertEquals(Arrays.toString(expectedResult), Arrays.toString(actualResult)); + } +} From d5fb9ff456d96b0d0e10440c8a2ebfa534149590 Mon Sep 17 00:00:00 2001 From: NandoOU Date: Sat, 25 Mar 2017 21:52:17 +0000 Subject: [PATCH 11/26] NuevoCheckSum --- .../coding/Fernando/CheckSum/CheckReturnValue.java | 7 +++++++ .../fundacionjala/coding/Fernando/CheckSum/CheckSum.java | 6 +++++- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckReturnValue.java diff --git a/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckReturnValue.java b/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckReturnValue.java new file mode 100644 index 0000000..df78062 --- /dev/null +++ b/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckReturnValue.java @@ -0,0 +1,7 @@ +package org.fundacionjala.coding.Fernando.CheckSum; + +/** + * Created by Administrator on 3/25/2017. + */ +public @interface CheckReturnValue { +} diff --git a/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSum.java b/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSum.java index 17387d4..f424a30 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSum.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSum.java @@ -23,8 +23,11 @@ public CheckSum() { /** * @param valor parametro. * @return boolean retorna un booleano. + * @CheckReturnValue valor. */ + public boolean canValores(final String valor) { + return canValores(valor, 1); } @@ -32,8 +35,9 @@ public boolean canValores(final String valor) { * @param valor parametro. * @param pos parametro. * @return boolean retorna un booleano. + * @CheckReturnValue valor. */ - + @CheckReturnValue private boolean canValores(final String valor, final int pos) { int res = 0; int sum = 0; From afb9a0ed2e781d5e8a48e79b11a2ca7389be93ed Mon Sep 17 00:00:00 2001 From: NandoOU Date: Sat, 25 Mar 2017 23:07:33 +0000 Subject: [PATCH 12/26] Movies --- .../coding/Fernando/movies/Children.java | 38 ++++++++++ .../coding/Fernando/movies/Customer.java | 75 +++++++++++++++++++ .../coding/Fernando/movies/Movie.java | 34 +++++++++ .../coding/Fernando/movies/NewRelease.java | 31 ++++++++ .../coding/Fernando/movies/Regular.java | 37 +++++++++ .../coding/Fernando/movies/Rental.java | 47 ++++++++++++ 6 files changed, 262 insertions(+) create mode 100644 src/main/java/org/fundacionjala/coding/Fernando/movies/Children.java create mode 100644 src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java create mode 100644 src/main/java/org/fundacionjala/coding/Fernando/movies/Movie.java create mode 100644 src/main/java/org/fundacionjala/coding/Fernando/movies/NewRelease.java create mode 100644 src/main/java/org/fundacionjala/coding/Fernando/movies/Regular.java create mode 100644 src/main/java/org/fundacionjala/coding/Fernando/movies/Rental.java diff --git a/src/main/java/org/fundacionjala/coding/Fernando/movies/Children.java b/src/main/java/org/fundacionjala/coding/Fernando/movies/Children.java new file mode 100644 index 0000000..4fa0b4a --- /dev/null +++ b/src/main/java/org/fundacionjala/coding/Fernando/movies/Children.java @@ -0,0 +1,38 @@ +package org.fundacionjala.coding.Fernando.movies; + +/** + * Created by Administrator on 3/21/2017. + */ +public class Children extends Movie { + private static final int LIMITNEWCHILD = 3; + private static final double PRICE = 1.5; + + /** + * @param title param. + */ + public Children(final String title) { + super(title); + } + + /** + * @param daysRented param. + * @return double value. + */ + @Override + public double calculateAmount(final int daysRented) { + double amount = PRICE; + if (daysRented > LIMITNEWCHILD) { + amount += (daysRented - LIMITNEWCHILD) * PRICE; + } + return amount; + } + + /** + * @param daysRented param. + * @return int value. + */ + @Override + public int calculateFrequentRenterPoints(final int daysRented) { + return 1; + } +} diff --git a/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java b/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java new file mode 100644 index 0000000..b8ffeaf --- /dev/null +++ b/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java @@ -0,0 +1,75 @@ +package org.fundacionjala.coding.Fernando.movies; + +import java.util.ArrayList; +import java.util.List; +/** + * This is the class Customer of rental movie. + */ +public class Customer { + private String nameCustomer; + private List rentalsCustomer; + + /** + * @param nameCustomer String with words. + * Constructor. + */ + public Customer(final String nameCustomer) { + this.nameCustomer = nameCustomer; + rentalsCustomer = new ArrayList<>(); + } + + /** + * @param rental String with words. + */ + public void addRental(final Rental rental) { + rentalsCustomer.add(rental); + } + + /** + * @return the nameCustomer string. + */ + public String getName() { + return this.nameCustomer; + } + + /** + * @return the string. + */ + public String generateDetail() { + StringBuffer result = new StringBuffer(); + result.append("Rental Record for " + getName() + "\n"); + for (Rental rental : rentalsCustomer) { + result.append("\t" + rental.getMovie().getTitle() + "\t"); + result.append(rental.calculateAmount() + "\n"); + } + result.append("Amount owed is " + calculateTotalAmount() + "\n"); + result.append("You earned " + calculateTotalFrequentRenterPoints() + " frequent renter points"); + return result.toString(); + } + /** + * @return double value. + */ + public double calculateTotalAmount() { +// double totalAmount = 0; +// for (Rental rental : rentalsCustomer) { +// totalAmount += rental.calculateAmount(); +// } +// return totalAmount; + return rentalsCustomer.stream() + .mapToDouble(Rental::calculateAmount) + .sum(); + } + /** + * @return int value. + */ + public int calculateTotalFrequentRenterPoints() { +// int totalFrequentRenterPoints = 0; +// for (Rental rental : rentalsCustomer) { +// totalFrequentRenterPoints += rental.calculateFrequentRenterPoint(); +// } +// return totalFrequentRenterPoints; + return rentalsCustomer.stream() + .mapToInt(rental -> rental.calculateFrequentRenterPoint()) + .sum(); + } +} diff --git a/src/main/java/org/fundacionjala/coding/Fernando/movies/Movie.java b/src/main/java/org/fundacionjala/coding/Fernando/movies/Movie.java new file mode 100644 index 0000000..b35edae --- /dev/null +++ b/src/main/java/org/fundacionjala/coding/Fernando/movies/Movie.java @@ -0,0 +1,34 @@ +package org.fundacionjala.coding.Fernando.movies; + +/** + * Created by Administrator on 3/21/2017. + */ +public abstract class Movie { + private String title; + + /** + * @param title param. + */ + public Movie(final String title) { + this.title = title; + } + + /** + * @param daysRented param. + * @return double value. + */ + public abstract double calculateAmount(final int daysRented); + + /** + * @param daysRented param. + * @return int value. + */ + public abstract int calculateFrequentRenterPoints(final int daysRented); + + /** + * @return String value. + */ + public String getTitle() { + return title; + } +} diff --git a/src/main/java/org/fundacionjala/coding/Fernando/movies/NewRelease.java b/src/main/java/org/fundacionjala/coding/Fernando/movies/NewRelease.java new file mode 100644 index 0000000..37e04bf --- /dev/null +++ b/src/main/java/org/fundacionjala/coding/Fernando/movies/NewRelease.java @@ -0,0 +1,31 @@ +package org.fundacionjala.coding.Fernando.movies; + +/** + * Created by Administrator on 3/21/2017. + */ +public class NewRelease extends Movie { + + private static final int LIMITNEWCHILD = 3; + /** + * @param title param. + */ + public NewRelease(final String title) { + super(title); + } + /** + * @param daysRented param. + * @return double value. + */ + @Override + public double calculateAmount(final int daysRented) { + return daysRented * LIMITNEWCHILD; + } + /** + * @param daysRented param. + * @return Children value. + */ + @Override + public int calculateFrequentRenterPoints(final int daysRented) { + return daysRented > 1 ? 2 : 1; + } +} diff --git a/src/main/java/org/fundacionjala/coding/Fernando/movies/Regular.java b/src/main/java/org/fundacionjala/coding/Fernando/movies/Regular.java new file mode 100644 index 0000000..2ec1f32 --- /dev/null +++ b/src/main/java/org/fundacionjala/coding/Fernando/movies/Regular.java @@ -0,0 +1,37 @@ +package org.fundacionjala.coding.Fernando.movies; + +/** + * Created by Administrator on 3/21/2017. + */ +public class Regular extends Movie { + + private static final double PRICE = 1.5; + + private static final int LIMITREGULAR = 2; + /** + * @param title param. + */ + public Regular(final String title) { + super(title); + } + /** + * @param daysRented param. + * @return double value. + */ + @Override + public double calculateAmount(final int daysRented) { + double amount = LIMITREGULAR; + if (daysRented > LIMITREGULAR) { + amount += (daysRented - LIMITREGULAR) * PRICE; + } + return amount; + } + /** + * @param daysRented param. + * @return int value. + */ + @Override + public int calculateFrequentRenterPoints(final int daysRented) { + return 1; + } +} diff --git a/src/main/java/org/fundacionjala/coding/Fernando/movies/Rental.java b/src/main/java/org/fundacionjala/coding/Fernando/movies/Rental.java new file mode 100644 index 0000000..a3e6370 --- /dev/null +++ b/src/main/java/org/fundacionjala/coding/Fernando/movies/Rental.java @@ -0,0 +1,47 @@ +package org.fundacionjala.coding.Fernando.movies; + +/** + * Created by Fernando. + */ +class Rental { + private Movie movie; + private int daysRented; + + /** + * @param movie Movie. + * @param daysRented DaysRented. + */ + Rental(final Movie movie, final int daysRented) { + this.movie = movie; + this.daysRented = daysRented; + } + + /** + * @return the daysRented. + */ + public int getDaysRented() { + return daysRented; + } + + /** + * @return movie object. + */ + public Movie getMovie() { + return this.movie; + } + + /** + * @return price object. + */ + public double calculateAmount() { + return movie.calculateAmount(daysRented); + } + + /** + * @return calculateFrequentRenterPoint int. + */ + public int calculateFrequentRenterPoint() { + return movie.calculateFrequentRenterPoints(daysRented); + } +} + From 23ffe782adf2812c7390c758417a02267ff70048 Mon Sep 17 00:00:00 2001 From: NandoOU Date: Sat, 25 Mar 2017 23:07:59 +0000 Subject: [PATCH 13/26] MoviesTest --- .../coding/Fernando/movies/CustomerTest.java | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java diff --git a/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java b/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java new file mode 100644 index 0000000..1e116bc --- /dev/null +++ b/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java @@ -0,0 +1,77 @@ +package org.fundacionjala.coding.Fernando.movies; + +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +/** + * Created by Fernando. + */ +public class CustomerTest { + /** + * testSpinWordsWhenCustomeIsTest. + */ + @Test + public void testSpinWordsWhenCustomeIsTest() { + + Customer customer = new Customer("Carlos"); + // given: + customer.addRental(new Rental(new Children("The Revenant"), 2)); + + // when: + final String actualResult = customer.getName(); + + // then: + final String expectedResult = "Carlos"; + assertEquals(expectedResult, actualResult); + } + + /** + * testChildrenCaluculateAmountOne + */ + @Test + public void testChildrenCaluculateAmountOne() { + // given + Children c = new Children("Test"); + + // when: + final double actualResult = c.calculateAmount(1); + + // then + final double expectedResult = 1.5; + assertEquals(0, expectedResult, actualResult); + + } + + /** + * testtestChildrenCaluculateAmountTwo + */ + @Test + public void testtestChildrenCaluculateAmountTwo() { + // given: + Children c = new Children("Test"); + + // when: + final double actualResult = c.calculateAmount(20); + + // then: + final double expectedResult = 20.5; + assertEquals(0, expectedResult, actualResult); + } + + /** + * testtesttestNewReleaseCaluculateAmountOne + */ + @Test + public void testtesttestNewReleaseCaluculateAmountOne() { + // given: + NewRelease n = new NewRelease("Test"); + + // when: + final double actualResult = n.calculateAmount(1); + + // then + final double expectedResult = 3; + assertEquals(0, expectedResult, actualResult); + } +} From 0ea81f782b0682cce37d2d4ff175f0bbe9db2341 Mon Sep 17 00:00:00 2001 From: NandoOU Date: Sun, 25 Jun 2017 18:19:10 -0400 Subject: [PATCH 14/26] Exercises Completed --- CadenaInv/CadInv.java | 46 ------ CadenaInv/CadInvTest.java | 71 -------- CheckSum/CheckSum.java | 45 ----- CheckSum/CheckSumTest.java | 58 ------- coding.iml | 12 ++ .../coding/Fernando/BankOCR/BankOCR.java | 154 +++++++++++++++--- .../coding/Fernando/BankOCR/EntryParser.java | 136 ---------------- .../coding/Fernando/BankOCR/FileManager.java | 53 ------ .../coding/Fernando/BankOCR/input.txt | 19 --- .../coding/Fernando/BankOCR/output.txt | 6 - .../Fernando/CheckSum/CheckReturnValue.java | 7 - .../coding/Fernando/CheckSum/CheckSum.java | 62 ++----- .../Fernando/haghestandlowest/HighAndLow.java | 36 ++++ .../coding/Fernando/movies/Customer.java | 5 +- .../coding/Fernando/movies/NewRelease.java | 3 + .../coding/Fernando/movies/Regular.java | 3 + .../coding/Fernando/movies/Rental.java | 2 +- .../coding/Fernando/multiples/Multiples.java | 33 ++++ .../coding/Fernando/BankOCR/BankOCRTest.java | 148 +++++++++++++++++ .../Fernando/BankOCR/EntryParserTest.java | 96 ----------- .../Fernando/CheckSum/CheckSumTest.java | 11 +- .../coding/Fernando/Exam/PromTest.java | 33 ++-- .../haghestandlowest/HighAndLowTest.java | 77 +++++++++ .../coding/Fernando/movies/ChildrenTest.java | 70 ++++++++ .../coding/Fernando/movies/CustomerTest.java | 55 +------ .../Fernando/movies/NewReleaseTest.java | 70 ++++++++ .../coding/Fernando/movies/RegularTest.java | 69 ++++++++ 27 files changed, 705 insertions(+), 675 deletions(-) delete mode 100644 CadenaInv/CadInv.java delete mode 100644 CadenaInv/CadInvTest.java delete mode 100644 CheckSum/CheckSum.java delete mode 100644 CheckSum/CheckSumTest.java create mode 100644 coding.iml delete mode 100644 src/main/java/org/fundacionjala/coding/Fernando/BankOCR/EntryParser.java delete mode 100644 src/main/java/org/fundacionjala/coding/Fernando/BankOCR/FileManager.java delete mode 100644 src/main/java/org/fundacionjala/coding/Fernando/BankOCR/input.txt delete mode 100644 src/main/java/org/fundacionjala/coding/Fernando/BankOCR/output.txt delete mode 100644 src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckReturnValue.java create mode 100644 src/main/java/org/fundacionjala/coding/Fernando/haghestandlowest/HighAndLow.java create mode 100644 src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java create mode 100644 src/test/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCRTest.java delete mode 100644 src/test/java/org/fundacionjala/coding/Fernando/BankOCR/EntryParserTest.java create mode 100644 src/test/java/org/fundacionjala/coding/Fernando/haghestandlowest/HighAndLowTest.java create mode 100644 src/test/java/org/fundacionjala/coding/Fernando/movies/ChildrenTest.java create mode 100644 src/test/java/org/fundacionjala/coding/Fernando/movies/NewReleaseTest.java create mode 100644 src/test/java/org/fundacionjala/coding/Fernando/movies/RegularTest.java diff --git a/CadenaInv/CadInv.java b/CadenaInv/CadInv.java deleted file mode 100644 index b14abeb..0000000 --- a/CadenaInv/CadInv.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ - -/** - * - * @author Administrator - */ -public class CadInv { - -//String string = "Estamos provando la inversion de una cadena"; -//String[] parts = string.split(" "); - - public String cadenaInv(String string ){ - String[] parts = string.split(" "); - return cadenaInv(parts, 0,0,0); - } - private String cadenaInv(String [] parts, int pos, int posstring, int cant){ - String res = null; - if(pos < parts.length){ - String aux= parts[pos]; - if(posstring < aux.length()){ - return cadenaInv(parts,0,1,cant+1); - } - if(cant>5){ - String aux2=invertir(aux); - res= res + aux2; - } - else { - return cadenaInv(parts,pos+1,0,0); - - } - return cadenaInv(parts,0,posstring+1,0); - } - return res; - } - public String invertir(String aux){ - String res = null; - for (int x=aux.length()-1; x >= 0 ;x--) - res = res + aux.charAt(x); - return res; - } - -} diff --git a/CadenaInv/CadInvTest.java b/CadenaInv/CadInvTest.java deleted file mode 100644 index 5d56921..0000000 --- a/CadenaInv/CadInvTest.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ - -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import static org.junit.Assert.*; - -/** - * - * @author Administrator - */ -public class CadInvTest { - - @Test - public void testWhenSentenceHasNoString() { - CadInv ejercicio = new CadInv(); - // given: - final String sentence = " "; - - // when: - final String actualResult= ejercicio.cadenaInv(sentence); - - // then: - final String expectedResult= null; - assertEquals(expectedResult, actualResult); - } - - @Test - public void testWhenSentenceHasNoWorksMajorToFive() { - CadInv ejercicio = new CadInv(); - //Hey fellow warriors - // give: - final String sentence= "Hi guys how are you"; - - // when: - final String actualResult=ejercicio.cadenaInv(sentence); - - // then: - final String expectedResult= "hi guys how are you"; - assertEquals(expectedResult, actualResult); - } - - - @Test - public void testWhenSentenceHasMoreThanOneWordMajorThatFive() { - CadInv ejercicio = new CadInv(); - // give: - final String sentence= "Hey fellow warriors"; - - // when: - final String actualResult= ejercicio.cadenaInv(sentence); - - // then: - final String expectedResult= "Hey wollef sroirraw"; - assertEquals(expectedResult, actualResult); - } - - - - // TODO add test methods here. - // The methods must be annotated with annotation @Test. For example: - // - // @Test - // public void hello() {} -} diff --git a/CheckSum/CheckSum.java b/CheckSum/CheckSum.java deleted file mode 100644 index 0b45808..0000000 --- a/CheckSum/CheckSum.java +++ /dev/null @@ -1,45 +0,0 @@ - -/** - * Write a description of class CheckSum here. - * - * @author (your name) - * @version (a version number or a date) - */ -public class CheckSum -{ - public CheckSum(){ - - } - - public int canValores(String valor){ - return canValores(valor,0); - } - private int canValores(String valor, int aux){ - int respuesta = 0; - int res=0; - while(aux< valor.length()) - { - int aux1= (int)valor.charAt(aux); - - if(aux1%2==0){ - res= res+aux1*3; - - }else{ - res= res+aux1*1; - } - canValores(valor, aux+1); - - } - - if(10-(res%10)==8) - { - respuesta= 10-(res%10); - } - else{ - respuesta=0; - } - return respuesta; - } - - -} diff --git a/CheckSum/CheckSumTest.java b/CheckSum/CheckSumTest.java deleted file mode 100644 index 7f2a139..0000000 --- a/CheckSum/CheckSumTest.java +++ /dev/null @@ -1,58 +0,0 @@ - - -import static org.junit.Assert.*; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -/** - * The test class CheckSumTest. - * - * @author (your name) - * @version (a version number or a date) - */ -public class CheckSumTest -{ - @Test - public void testWhenSentenceHasNoString() { - CheckSum ejercicio = new CheckSum(); - // given: - final String sentence = " "; - - // when: - final int actualResult= ejercicio.canValores(sentence); - - // then - final int expectedResult= 0; - assertEquals(expectedResult, actualResult); - } - - @Test - public void testWhenSentenceHasNoWordsMajorToFive() { - CheckSum ejercicio = new CheckSum(); - // given: - final String sentence = "12345"; - - // when: - final int actualResult= ejercicio.canValores(sentence); - - // then - final int expectedResult= 8; - assertEquals(expectedResult, actualResult); - } - - - @Test - public void testWhenSentenceHasMoreThanOneWordMajorThatFive() { - CheckSum ejercicio = new CheckSum(); - // given: - final String sentence = "123456789"; - - // when: - final int actualResult= ejercicio.canValores(sentence); - - // then - final int expectedResult= 8; - assertEquals(expectedResult, actualResult); - } -} diff --git a/coding.iml b/coding.iml new file mode 100644 index 0000000..96d565b --- /dev/null +++ b/coding.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCR.java b/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCR.java index 90c4b81..9d33756 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCR.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCR.java @@ -1,37 +1,151 @@ package org.fundacionjala.coding.Fernando.BankOCR; - -import java.io.IOException; -import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; /** - * Write a description of class BankOCR here. - * * @author (your name) - * - * @version (a version number or a date) + * Created by PC on 24/06/2017. */ +public final class BankOCR { + + private static final int ZERO = 0; + private static final int ONE = 1; + private static final int TWO = 2; + private static final int THREE = 3; + private static final int FOUR = 4; + private static final int FIVE = 5; + private static final int SIX = 6; + private static final int SEVEN = 7; + private static final int EIGHT = 8; + private static final int NINE = 9; + private static final Map MAP = new HashMap<>(); + static final int VALIDATOR = 11; - public final class BankOCR { + static { + MAP.put(ZERO, + " _ " + + "| |" + + "|_|"); + MAP.put(ONE, + " " + + " |" + + " |"); + MAP.put(TWO, + " _ " + + " _|" + + "|_ "); + MAP.put(THREE, + "__ " + + " _|" + + "__|"); + MAP.put(FOUR, + " " + + "|_|" + + " |"); + MAP.put(FIVE, + " _ " + + "|_ " + + " _|"); + MAP.put(SIX, + " _ " + + "|_ " + + "|_|"); + MAP.put(SEVEN, + "__ " + + " |" + + " |"); + MAP.put(EIGHT, + " _ " + + "|_|" + + "|_|"); + MAP.put(NINE, + " _ " + + "|_|" + + " _|"); + } /** - * Constructor method. + * Constructor BankOCR. */ private BankOCR() { + + } + + /** + * @param value of string numbers. + * @return String of value number. + */ + private static String getMapKey(final String value) { + String res = "?"; + for (Map.Entry entry : MAP.entrySet()) { + if (entry.getValue().equals(value)) { + res = entry.getKey().toString(); + } + } + return res; + } + + /** + * @param cad value of string numbers. + * @return String to get the all numbers. + */ + public static String parseDigit(final String[] cad) { + String res = ""; + StringBuilder value = new StringBuilder(); + for (String data : cad) { + String key = getMapKey(data); + res = value.append(key).toString(); + } + + return res; + } + + /** + * @param cad value of string numbers. + * @return String to get the ERR o ILL error result. + */ + public static String accountStatus(final String cad) { + String res = ""; + if (!digit(cad)) { + res = "ILL"; + } else if (!validAccountNumbers(cad)) { + res = "ERR"; + } + return res; } /** - * @param arg recibe un parametro String. - * @throws IOException exception. + * @param data value of string numbers. + * @return boolean to get if is a valid digit. */ - public static void main(final String[] arg) throws IOException { - FileManager fm = new FileManager(); - EntryParser e = new EntryParser(); - ArrayList a = fm.readFile("input.txt"); - //System.out.println(a); - e.parseEntry(a); - System.out.println(e.parseEntry(a)); - - fm.fileWrite(a); + private static boolean digit(final String data) { + boolean isDigit = true; + for (int i = 0; i < data.length(); i++) { + if (!Character.isDigit(data.charAt(i))) { + isDigit = false; + break; + } + } + return isDigit; + } + + /** + * @param input String value. + * @return boolean valor if is valid account number. + */ + public static boolean validAccountNumbers(final String input) { + int suma = 0; + for (int i = input.length() - 1; i >= 0; i--) { + int multiplier = 1; + int x = (int) (input.charAt(i)) * multiplier; + suma += x; + multiplier++; + } + if (suma % VALIDATOR == 0) { + return true; + } + return false; } } + diff --git a/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/EntryParser.java b/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/EntryParser.java deleted file mode 100644 index e31a02e..0000000 --- a/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/EntryParser.java +++ /dev/null @@ -1,136 +0,0 @@ -package org.fundacionjala.coding.Fernando.BankOCR; - -import java.util.ArrayList; - - -/** - * Class EntryParser. - */ -public class EntryParser { - private String line1, line2, line3; - static final int VAR_CARACT = 3; - static final int POS = 4; - static final int VALOR = 48; - static final int VALIDATOR = 11; - - /** - * @param input recibe an ArrayList. - */ - public void getLines(final ArrayList input) { - line1 = input.get(0); - line2 = input.get(1); - line3 = input.get(2); - } - - /** - * @param top recibe a String. - * @param mid recibe a String. - * @param bot recibe a String. - * @return String valor. - */ - public String generateNumber(final String top, final String mid, final String bot) { - if (top.equals(" ") - && mid.equals(" |") - && bot.equals(" |")) { - return "1"; - } else if (top.equals(" _ ") - && mid.equals(" _|") - && bot.equals("|_ ")) { - return "2"; - } else if (top.equals(" _ ") - && mid.equals(" _|") - && bot.equals(" _| ")) { - return "3"; - } else if (top.equals(" ") - && mid.equals("|_|") - && bot.equals(" |")) { - return "4"; - } else if (top.equals(" _ ") - && mid.equals("|_ ") - && bot.equals(" _|")) { - return "5"; - } else if (top.equals(" _ ") - && mid.equals("|_ ") - && bot.equals("|_|")) { - return "6"; - } else if (top.equals(" _ ") - && mid.equals(" |") - && bot.equals(" |")) { - return "7"; - } else if (top.equals(" _ ") - && mid.equals("|_|") - && bot.equals("|_|")) { - return "8"; - } else if (top.equals(" _ ") - && mid.equals("|_|") - && bot.equals(" _|")) { - return "9"; - } else if (top.equals(" _ ") - && mid.equals("| |") - && bot.equals("|_|")) { - return "0"; - } - return "?"; - } - - /** - * @param top recibe a String. - * @param mid recibe a String. - * @param bot recibe a String. - * @return String valor. - * para optener cada numero - */ - public String parseDigit(final String top, final String mid, final String bot) { - String output = ""; - if (top.length() < mid.length()) { - //top = top + " "; - for (int i = 0; i < top.length(); i += VAR_CARACT) { - - String topChar = top.substring(i, i + VAR_CARACT); - String midChar = mid.substring(i, i + VAR_CARACT); - String botChar = bot.substring(i, i + VAR_CARACT); - - output = output + generateNumber(topChar, midChar, botChar); - } - } - return output; - } - - /** - * @param entry recibe a String. - * @return ArrayList valor. - */ - public ArrayList parseEntry(final ArrayList entry) { - ArrayList output = new ArrayList(); - for (int i = 0; i < entry.size(); i += POS) { - String top = entry.get(i); - String mid = entry.get(i + 1); - String button = entry.get(i + 2); - - if (validAccountNumbers(parseDigit(top, mid, button))) { - output.add(parseDigit(top, mid, button)); - } else if (parseDigit(top, mid, button).contains("?")) { - output.add(parseDigit(top, mid, button) + "ILL"); - } else { - output.add(parseDigit(top, mid, button) + "ERR"); - } - } - return output; - } - - /** - * @param input recibe a String. - * @return boolean valor. - */ - public boolean validAccountNumbers(final String input) { - int suma = 0; - for (int i = input.length() - 1, multiplier = 1; i >= 0; i--, multiplier++) { - int x = (int) (input.charAt(i) - VALOR) * multiplier; - suma = suma + x; - } - if (suma % VALIDATOR == 0) { - return true; - } - return false; - } -} diff --git a/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/FileManager.java b/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/FileManager.java deleted file mode 100644 index c34b128..0000000 --- a/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/FileManager.java +++ /dev/null @@ -1,53 +0,0 @@ -package org.fundacionjala.coding.Fernando.BankOCR; - -import java.io.IOException; -import java.util.ArrayList; -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileWriter; -import java.io.BufferedWriter; - -/** - * @author name of author. - */ -public class FileManager { - - - /** - * @param filename recibe a String. - * @return ArrayList recibe a String. - * @throws FileNotFoundException exception. - * @throws IOException exception. - */ - public ArrayList readFile(final String filename) throws IOException { - FileReader fr = new FileReader(filename); - ArrayList content = new ArrayList(); - try (BufferedReader br = new BufferedReader(fr)) { - String temp; - while ((temp = br.readLine()) != null) { - content.add(temp); - } - } - return content; - } - - /** - * @param output recibe a String. - * @throws IOException exception. - */ - public void fileWrite(final ArrayList output) throws IOException { - File file = new File("output.txt"); - if (!file.exists()) { - file.createNewFile(); - } - FileWriter fw = new FileWriter(file.getAbsoluteFile()); - try (BufferedWriter bw = new BufferedWriter(fw)) { - for (String s : output) { - bw.write(s); - bw.newLine(); - } - } - } -} diff --git a/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/input.txt b/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/input.txt deleted file mode 100644 index a4591de..0000000 --- a/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/input.txt +++ /dev/null @@ -1,19 +0,0 @@ - _ _ _ _ _ _ _ - | _| _||_||_ |_ ||_||_| - ||_ _| | _||_| ||_| _| - - | | | | | | | | | - | | | | | | | | | - - _ _ _ _ _ _ _ _ _ - | | | | | | | | | - | | | | | | | | | - - _ _ _ _ _ _ _ _ _ - _|| || || || || || || || | -|_ |_||_||_||_||_||_||_||_| - - _ _ _ _ _ _ _ _ _ - _| _| _| _| _| _| _| _| _| - _| _| _| _| _| _| _| _| _| - diff --git a/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/output.txt b/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/output.txt deleted file mode 100644 index f980108..0000000 --- a/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/output.txt +++ /dev/null @@ -1,6 +0,0 @@ -123456789 -111111111 ERR -?22222222 ILL -333333333 ERR -453674859 -?2343?RE? ILL \ No newline at end of file diff --git a/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckReturnValue.java b/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckReturnValue.java deleted file mode 100644 index df78062..0000000 --- a/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckReturnValue.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.fundacionjala.coding.Fernando.CheckSum; - -/** - * Created by Administrator on 3/25/2017. - */ -public @interface CheckReturnValue { -} diff --git a/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSum.java b/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSum.java index f424a30..e96b06c 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSum.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSum.java @@ -12,60 +12,34 @@ public class CheckSum { static final int DIEZ = 10; static final int DOS = 2; static final int OCHO = 8; + static final int ZERO = 0; + static final int SIZEVALUE = 13; /** - * constructor. + * @param valor data. + * @return boolean of cant values. */ - public CheckSum() { - - } - - /** - * @param valor parametro. - * @return boolean retorna un booleano. - * @CheckReturnValue valor. - */ - public boolean canValores(final String valor) { - - return canValores(valor, 1); - } - - /** - * @param valor parametro. - * @param pos parametro. - * @return boolean retorna un booleano. - * @CheckReturnValue valor. - */ - @CheckReturnValue - private boolean canValores(final String valor, final int pos) { - int res = 0; - int sum = 0; - int res1 = 0; - if (pos < valor.length()) { - int aux1 = (int) valor.charAt(pos - 1); - - if (pos % 2 == 0) { - res = res + aux1 * TRES; - - } else { - res1 = res + aux1 * 1; + int sum = ZERO; + if (valor.length() != SIZEVALUE) { + return false; + } else { + for (int i = UNO; i < valor.length(); i++) { + int num = Character.getNumericValue(valor.charAt(i - 1)); + sum += i % 2 == 0 ? num * TRES : num; } - - canValores(valor, pos + 1); + return numeroValido(sum) == Character.getNumericValue(valor.charAt(valor.length() - 1)); } - sum = res + res1; - boolean numValido = numeroValido(sum); - return numValido; } - /** - * @param sum parametro. - * @return boolean retorna un booleano. + * @param sum of values. + * @return int of number valid. */ - public boolean numeroValido(final int sum) { - return (DIEZ - (sum % DIEZ) == OCHO) ? true : false; + public int numeroValido(final int sum) { + int result = sum % DIEZ; + int data = result != 0 ? DIEZ - result : 0; + return data; } } diff --git a/src/main/java/org/fundacionjala/coding/Fernando/haghestandlowest/HighAndLow.java b/src/main/java/org/fundacionjala/coding/Fernando/haghestandlowest/HighAndLow.java new file mode 100644 index 0000000..c7ed403 --- /dev/null +++ b/src/main/java/org/fundacionjala/coding/Fernando/haghestandlowest/HighAndLow.java @@ -0,0 +1,36 @@ +package org.fundacionjala.coding.Fernando.haghestandlowest; + +/** + * Created by PC on 24/06/2017. + */ +public final class HighAndLow { + + /** + * Method constructor. + */ + private HighAndLow() { + } + + /** + * This method get the high and low number. + * + * @param numbers to get the high and low number. + * @return String method. + */ + static String highAndLowest(final String numbers) { + String[] value = numbers.split(" "); + int majorNumber = Integer.parseInt(value[0]); + int minorNumber = majorNumber; + for (String res : value) { + int num = Integer.parseInt(res); + if (num > majorNumber) { + majorNumber = Integer.parseInt(res); + } + if (num < minorNumber) { + minorNumber = Integer.parseInt(res); + } + } + + return String.format("%d %d", majorNumber, minorNumber); + } +} diff --git a/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java b/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java index b8ffeaf..48906b9 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java @@ -2,8 +2,9 @@ import java.util.ArrayList; import java.util.List; + /** - * This is the class Customer of rental movie. + * This is the class Customer of rental movies. */ public class Customer { private String nameCustomer; @@ -46,6 +47,7 @@ public String generateDetail() { result.append("You earned " + calculateTotalFrequentRenterPoints() + " frequent renter points"); return result.toString(); } + /** * @return double value. */ @@ -59,6 +61,7 @@ public double calculateTotalAmount() { .mapToDouble(Rental::calculateAmount) .sum(); } + /** * @return int value. */ diff --git a/src/main/java/org/fundacionjala/coding/Fernando/movies/NewRelease.java b/src/main/java/org/fundacionjala/coding/Fernando/movies/NewRelease.java index 37e04bf..18b9c31 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/movies/NewRelease.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/movies/NewRelease.java @@ -6,12 +6,14 @@ public class NewRelease extends Movie { private static final int LIMITNEWCHILD = 3; + /** * @param title param. */ public NewRelease(final String title) { super(title); } + /** * @param daysRented param. * @return double value. @@ -20,6 +22,7 @@ public NewRelease(final String title) { public double calculateAmount(final int daysRented) { return daysRented * LIMITNEWCHILD; } + /** * @param daysRented param. * @return Children value. diff --git a/src/main/java/org/fundacionjala/coding/Fernando/movies/Regular.java b/src/main/java/org/fundacionjala/coding/Fernando/movies/Regular.java index 2ec1f32..8ecba2d 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/movies/Regular.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/movies/Regular.java @@ -8,12 +8,14 @@ public class Regular extends Movie { private static final double PRICE = 1.5; private static final int LIMITREGULAR = 2; + /** * @param title param. */ public Regular(final String title) { super(title); } + /** * @param daysRented param. * @return double value. @@ -26,6 +28,7 @@ public double calculateAmount(final int daysRented) { } return amount; } + /** * @param daysRented param. * @return int value. diff --git a/src/main/java/org/fundacionjala/coding/Fernando/movies/Rental.java b/src/main/java/org/fundacionjala/coding/Fernando/movies/Rental.java index a3e6370..6cecf7d 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/movies/Rental.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/movies/Rental.java @@ -24,7 +24,7 @@ public int getDaysRented() { } /** - * @return movie object. + * @return movies object. */ public Movie getMovie() { return this.movie; diff --git a/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java b/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java new file mode 100644 index 0000000..9e93fc9 --- /dev/null +++ b/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java @@ -0,0 +1,33 @@ +package org.fundacionjala.coding.Fernando.multiples; + +/** + * Created by PC on 24/06/2017. + */ +public final class Multiples { + + public static final int FIVE = 5; + private static final int THREE = 3; + + /** + * Method Constructor. + */ + private Multiples() { + } + + /** + * The method get the sum of multiples of 3 and 5. + * + * @param number to calculate the sum. + * @return int of the sum multiples of 3 and 5. + */ + public static int solution(final int number) { + int res = 0; + for (int i = 0; i < number; i++) { + if (i % THREE == 0 || i % FIVE == 0) { + res += i; + } + } + return res; + } +} + diff --git a/src/test/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCRTest.java b/src/test/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCRTest.java new file mode 100644 index 0000000..3c83e17 --- /dev/null +++ b/src/test/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCRTest.java @@ -0,0 +1,148 @@ +package org.fundacionjala.coding.Fernando.BankOCR; + +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +/** + * Created by PC on 24/06/2017. + */ +public class BankOCRTest { + + /** + * Test the number. + */ + @Test + public void testToGetNumber() { + // given: + String[] data = { + " _ " + + "| |" + + "|_|", + + " " + + " |" + + " |", + + " _ " + + " _|" + + "|_ ", + + "__ " + + " _|" + + "__|", + + " " + + "|_|" + + " |", + + " _ " + + "|_ " + + " _|", + + " _ " + + "|_ " + + "|_|", + + "__ " + + " |" + + " |", + + " _ " + + "|_|" + + "|_|", + + " _ " + + "|_|" + + " _|" + }; + + // when: + String actualResult = BankOCR.parseDigit(data); + + // then: + String expectedResult = "0123456789"; + assertEquals(expectedResult, actualResult); + } + + /** + * Test when values has different o wrong number. + */ + @Test + public void testWithWrongNumbers() { + // given: + String[] data = { + " _ " + + "| |" + + "|_|", + + " _ " + + "|_|" + + " _|", + + "Wrong number", + "", + " _ " + + "|_ " + + " _|" + }; + + // when: + String actualResult = BankOCR.parseDigit(data); + + // then: + String expectedResult = "09??5"; + assertEquals(expectedResult, actualResult); + } + + /** + * Test with incorrect datas. + */ + @Test + public void testWithIncorrectDatas() { + // given: + String[] data = { + " " + + "|_|" + + " |", + + " _ " + + "|_ " + + " _|", + + " _ " + + "|_ " + + "|_|", + + "__ " + + " |" + + " |", + + }; + String value = BankOCR.parseDigit(data); + + // when: + boolean actualResult = BankOCR.validAccountNumbers(value); + + // then: + assertTrue(!actualResult); + } + + /** + * Test when we get the result "ERR". + */ + @Test + public void testWithWrongDatas() { + // given: + String data = "021453789"; + + // when: + String actualResult = BankOCR.accountStatus(data); + + // then: + String expectedResult = "ERR"; + assertEquals(expectedResult, actualResult); + } +} + diff --git a/src/test/java/org/fundacionjala/coding/Fernando/BankOCR/EntryParserTest.java b/src/test/java/org/fundacionjala/coding/Fernando/BankOCR/EntryParserTest.java deleted file mode 100644 index fdb0335..0000000 --- a/src/test/java/org/fundacionjala/coding/Fernando/BankOCR/EntryParserTest.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.fundacionjala.coding.Fernando.BankOCR; - - -import org.junit.Test; - -import java.io.IOException; -import java.util.ArrayList; - -import static org.junit.Assert.assertEquals; - -/** - * The test class EntryParserTest. - * - * @author (your name) - * @version (a version number or a date) - */ -public class EntryParserTest { - /** - * test unit1. - */ - /** - @Test public void test1() throws IOException { - FileManager fm = new FileManager(); - // given: - ArrayList a = fm.readFile("input.txt"); - EntryParser e = new EntryParser(); - e.getLines(a); - System.out.println(e.line1); - System.out.println(e.line2); - System.out.println(e.line3); - - assertEquals(" _ _ _ _ _ _ _ ", e.line1); - assertEquals(" | _| _||_||_ |_ ||_||_|", e.line2); - assertEquals(" ||_ _| | _||_| ||_| _|", e.line3); - - } - */ - - /** - * testGenerate1. - */ - @Test - public void testGenerate1() { - EntryParser e = new EntryParser(); - String top = " "; - String mid = " |"; - String bot = " |"; - - assertEquals("1", e.generateNumber(top, mid, bot)); - } - - /** - * testGenerate1. - */ - @Test - public void testParseOneDigit() { - EntryParser e = new EntryParser(); - String top = " _ _ _ _ _ _ _ "; - String mid = " | _| _||_||_ |_ ||_||_|"; - String bot = " ||_ _| | _||_| ||_| _|"; - - assertEquals("123456789", e.parseDigit(top, mid, bot)); - } - - /** - * testparseEntry. - * - * @throws IOException exception. - */ - @Test - public void testparseEntry() throws IOException { - FileManager fm = new FileManager(); - EntryParser e = new EntryParser(); - - ArrayList entries = fm.readFile("input.txt"); - ArrayList results = e.parseEntry(entries); - - System.out.println(results); - } - - /** - * testvalidNumbers. - */ - @Test - public void testvalidNumbers() { - String input = "123456789"; - int suma = 0; - for (int i = input.length() - 1, multiplier = 1; i >= 0; i--, multiplier++) { - int x = (int) input.charAt(i) * multiplier; - suma = suma + x; - } - System.out.println(suma); - - } - -} diff --git a/src/test/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSumTest.java b/src/test/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSumTest.java index 913eff8..8b2df29 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSumTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSumTest.java @@ -2,8 +2,7 @@ import org.junit.Test; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertEquals; /** * The test class CheckSumTest. @@ -25,8 +24,8 @@ public void testWhenSentenceISEmpty() { final boolean actualResult = cs.canValores(sentence); // then - final boolean expectedResult = false; - assertTrue(actualResult); + final boolean expectedResult = true; + assertEquals(actualResult, expectedResult); } /** @@ -42,7 +41,7 @@ public void testWhenSentenceHasMoreThanOneWordMajorThatFive() { final boolean actualResult = cs.canValores(sentence); // then - final boolean expectedResult = true; - assertFalse(actualResult); + final boolean expectedResult = false; + assertEquals(actualResult, expectedResult); } } diff --git a/src/test/java/org/fundacionjala/coding/Fernando/Exam/PromTest.java b/src/test/java/org/fundacionjala/coding/Fernando/Exam/PromTest.java index fa6335d..92230a2 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/Exam/PromTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/Exam/PromTest.java @@ -13,9 +13,10 @@ * @version (a version number or a date) */ public class PromTest { - /* - * testPromWhenHave5Elements. - */ + + /** + * Test to get the prom when we have 5 elements. + */ @Test public void testPromWhenHave5Elements() { Prom p = new Prom(); @@ -30,13 +31,15 @@ public void testPromWhenHave5Elements() { assertEquals(Arrays.toString(expectedResult), Arrays.toString(actualResult)); } - /* - * testPromWhenHave5Elements. + /** + * Test to get the prom when we have differents elements. */ @Test - public void testPromWhenHaveDiferentData() { + public void testPromWhenHaveDifferentData() { Prom p = new Prom(); - // given: + + // given: + final int[] num = {1, 3, 5, 1, -10}; // when: @@ -47,8 +50,8 @@ public void testPromWhenHaveDiferentData() { assertEquals(Arrays.toString(expectedResult), Arrays.toString(actualResult)); } - /* - * testPromWhenHave5Elements. + /** + * Test to get the prom when we have the same elements. */ @Test public void testPromWhenHaveTheSameData() { @@ -64,8 +67,8 @@ public void testPromWhenHaveTheSameData() { assertEquals(Arrays.toString(expectedResult), Arrays.toString(actualResult)); } - /* - * testPromWhenHave5Elements. + /** + * Test to get the prom when the array is null. */ @Test public void testPromWhenTheArrayIsNull() { @@ -81,8 +84,8 @@ public void testPromWhenTheArrayIsNull() { assertEquals(Arrays.toString(expectedResult), Arrays.toString(actualResult)); } - /* - * testPromWhenHave5Elements. + /** + * Test to get the prom when we have the array empty. */ @Test public void testPromWhenTheArrayIsEmpty() { @@ -99,8 +102,8 @@ public void testPromWhenTheArrayIsEmpty() { assertEquals(Arrays.toString(expectedResult), Arrays.toString(actualResult)); } - /* - * testPromWhenHave5Elements. + /** + * Test to get the prom when we have one element. */ @Test public void testPromWhenTheArrayHasOneElement() { diff --git a/src/test/java/org/fundacionjala/coding/Fernando/haghestandlowest/HighAndLowTest.java b/src/test/java/org/fundacionjala/coding/Fernando/haghestandlowest/HighAndLowTest.java new file mode 100644 index 0000000..03c63a0 --- /dev/null +++ b/src/test/java/org/fundacionjala/coding/Fernando/haghestandlowest/HighAndLowTest.java @@ -0,0 +1,77 @@ +package org.fundacionjala.coding.Fernando.haghestandlowest; + +import org.junit.Test; + +import static org.hamcrest.core.Is.is; +import static org.junit.Assert.assertThat; + +/** + * Created by PC on 25/06/2017. + */ +public class HighAndLowTest { + + /** + * Some Test. + */ + @Test + public void someTest() { + assertThat(HighAndLow.highAndLowest("4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"), is("542 -214")); + } + + /** + * PlusMinusTest. + */ + @Test + public void plusMinusTest() { + assertThat(HighAndLow.highAndLowest("1 -1"), is("1 -1")); + } + + /** + * Plus plus test. + */ + @Test + public void plusPlusTest() { + assertThat(HighAndLow.highAndLowest("1 1"), is("1 1")); + } + + /** + * Minus minus test. + */ + @Test + public void minusMinusTest() { + assertThat(HighAndLow.highAndLowest("-1 -1"), is("-1 -1")); + } + + /** + * Plus minus zero test. + */ + @Test + public void plusMinusZeroTest() { + assertThat(HighAndLow.highAndLowest("1 -1 0"), is("1 -1")); + } + + /** + * Plus zero test. + */ + @Test + public void plusPlusZeroTest() { + assertThat(HighAndLow.highAndLowest("1 1 0"), is("1 0")); + } + + /** + * Minus zero test. + */ + @Test + public void minusMinusZeroTest() { + assertThat(HighAndLow.highAndLowest("-1 -1 0"), is("0 -1")); + } + + /** + * Single test. + */ + @Test + public void singleTest() { + assertThat(HighAndLow.highAndLowest("42"), is("42 42")); + } + +} diff --git a/src/test/java/org/fundacionjala/coding/Fernando/movies/ChildrenTest.java b/src/test/java/org/fundacionjala/coding/Fernando/movies/ChildrenTest.java new file mode 100644 index 0000000..6fed9a9 --- /dev/null +++ b/src/test/java/org/fundacionjala/coding/Fernando/movies/ChildrenTest.java @@ -0,0 +1,70 @@ +package org.fundacionjala.coding.Fernando.movies; + +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +/** + * Created by PC on 24/06/2017. + */ +public class ChildrenTest { + + /** + * Test to verify the amount rent less than three days. + */ + @Test + public void testCalculateAmountWhenTheRentedDaysIsLessThanThree() { + // given: + Children childrenInstance = new Children("Toy Story"); + + // when: + final double actualResult = childrenInstance.calculateAmount(2); + + // then + final double expectedResult = 1.5; + assertEquals(0, expectedResult, actualResult); + } + + /** + * Test to verify the amount rent more than three days. + */ + @Test + public void testToCalculateRentMovieMoreThanThreeDays() { + // given: + Children children = new Children("Moana"); + + // when: + final double actualResult = children.calculateAmount(10); + + // then: + final double expectedResult = 10.5; + assertEquals(0, expectedResult, actualResult); + } + + /** + * Test to verify the frequent renter for different days. + */ + @Test + public void testToCalculateTheFrequentRentDifferentDays() { + // given: + Children children = new Children("Moana"); + + // when: + final int actualResult = children.calculateFrequentRenterPoints(1); + + // then: + final int expectedResult = 1; + assertEquals(expectedResult, actualResult); + + // given: + + // when: + final int actualResultTwo = children.calculateFrequentRenterPoints(3); + + // then: + final int expectedResultTwo = 1; + assertEquals(expectedResultTwo, actualResultTwo); + + } + +} diff --git a/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java b/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java index 1e116bc..fb68efa 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java @@ -5,16 +5,17 @@ import static org.junit.Assert.assertEquals; /** - * Created by Fernando. + * Created by PC on 25/06/2017. */ public class CustomerTest { + /** * testSpinWordsWhenCustomeIsTest. */ @Test public void testSpinWordsWhenCustomeIsTest() { - Customer customer = new Customer("Carlos"); + Customer customer = new Customer("David"); // given: customer.addRental(new Rental(new Children("The Revenant"), 2)); @@ -22,56 +23,8 @@ public void testSpinWordsWhenCustomeIsTest() { final String actualResult = customer.getName(); // then: - final String expectedResult = "Carlos"; + final String expectedResult = "David"; assertEquals(expectedResult, actualResult); } - /** - * testChildrenCaluculateAmountOne - */ - @Test - public void testChildrenCaluculateAmountOne() { - // given - Children c = new Children("Test"); - - // when: - final double actualResult = c.calculateAmount(1); - - // then - final double expectedResult = 1.5; - assertEquals(0, expectedResult, actualResult); - - } - - /** - * testtestChildrenCaluculateAmountTwo - */ - @Test - public void testtestChildrenCaluculateAmountTwo() { - // given: - Children c = new Children("Test"); - - // when: - final double actualResult = c.calculateAmount(20); - - // then: - final double expectedResult = 20.5; - assertEquals(0, expectedResult, actualResult); - } - - /** - * testtesttestNewReleaseCaluculateAmountOne - */ - @Test - public void testtesttestNewReleaseCaluculateAmountOne() { - // given: - NewRelease n = new NewRelease("Test"); - - // when: - final double actualResult = n.calculateAmount(1); - - // then - final double expectedResult = 3; - assertEquals(0, expectedResult, actualResult); - } } diff --git a/src/test/java/org/fundacionjala/coding/Fernando/movies/NewReleaseTest.java b/src/test/java/org/fundacionjala/coding/Fernando/movies/NewReleaseTest.java new file mode 100644 index 0000000..700d255 --- /dev/null +++ b/src/test/java/org/fundacionjala/coding/Fernando/movies/NewReleaseTest.java @@ -0,0 +1,70 @@ +package org.fundacionjala.coding.Fernando.movies; + +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +/** + * Created by PC on 25/06/2017. + */ +public class NewReleaseTest { + + /** + * Test to verify the amount rent less than three days. + */ + @Test + public void testCalculateAmountWhenTheRentedDaysIsLessThanThree() { + // given: + NewRelease release = new NewRelease("Toy Story"); + + // when: + final double actualResult = release.calculateAmount(2); + + // then + final double expectedResult = 1.5; + assertEquals(0, expectedResult, actualResult); + } + + /** + * Test to verify the amount rent more than three days. + */ + @Test + public void testToCalculateRentMovieMoreThanThreeDays() { + // given: + NewRelease release = new NewRelease("Moana"); + + // when: + final double actualResult = release.calculateAmount(10); + + // then: + final double expectedResult = 10.5; + assertEquals(0, expectedResult, actualResult); + } + + /** + * Test to verify the frequent renter for different days. + */ + @Test + public void testToCalculateTheFrequentRentDifferentDays() { + // given: + NewRelease release = new NewRelease("Toy Story"); + + // when: + final int actualResult = release.calculateFrequentRenterPoints(1); + + // then: + final int expectedResult = 1; + assertEquals(expectedResult, actualResult); + + // given: + + // when: + final int actualResultTwo = release.calculateFrequentRenterPoints(3); + + // then: + final int expectedResultTwo = 2; + assertEquals(expectedResultTwo, actualResultTwo); + + } + +} diff --git a/src/test/java/org/fundacionjala/coding/Fernando/movies/RegularTest.java b/src/test/java/org/fundacionjala/coding/Fernando/movies/RegularTest.java new file mode 100644 index 0000000..a6efce1 --- /dev/null +++ b/src/test/java/org/fundacionjala/coding/Fernando/movies/RegularTest.java @@ -0,0 +1,69 @@ +package org.fundacionjala.coding.Fernando.movies; + +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +/** + * Created by PC on 25/06/2017. + */ +public class RegularTest { + + /** + * Test to verify the amount rent less than three days. + */ + @Test + public void testCalculateAmountWhenTheRentedDaysIsLessThanThree() { + // given: + Regular regular = new Regular("Toy Story"); + + // when: + final double actualResult = regular.calculateAmount(2); + + // then + final double expectedResult = 1.5; + assertEquals(0, expectedResult, actualResult); + } + + /** + * Test to verify the amount rent more than three days. + */ + @Test + public void testToCalculateRentMovieMoreThanThreeDays() { + // given: + Regular regular = new Regular("Moana"); + + // when: + final double actualResult = regular.calculateAmount(10); + + // then: + final double expectedResult = 10.5; + assertEquals(0, expectedResult, actualResult); + } + + /** + * Test to verify the frequent renter for different days. + */ + @Test + public void testToCalculateTheFrequentRentDifferentDays() { + // given: + Regular regular = new Regular("Toy Story"); + + // when: + final int actualResult = regular.calculateFrequentRenterPoints(1); + + // then: + final int expectedResult = 1; + assertEquals(expectedResult, actualResult); + + // given: + + // when: + final int actualResultTwo = regular.calculateFrequentRenterPoints(3); + + // then: + final int expectedResultTwo = 1; + assertEquals(expectedResultTwo, actualResultTwo); + + } +} From c43dfe63ca6feee982135a9e96a6dcc69d208df1 Mon Sep 17 00:00:00 2001 From: NandoOU Date: Thu, 29 Jun 2017 21:26:05 -0400 Subject: [PATCH 15/26] Evaporator kata --- .../Fernando/evaporator/Evaporator.java | 28 +++++ .../Fernando/evaporator/EvaporatorTest.java | 102 ++++++++++++++++++ 2 files changed, 130 insertions(+) create mode 100644 src/main/java/org/fundacionjala/coding/Fernando/evaporator/Evaporator.java create mode 100644 src/test/java/org/fundacionjala/coding/Fernando/evaporator/EvaporatorTest.java diff --git a/src/main/java/org/fundacionjala/coding/Fernando/evaporator/Evaporator.java b/src/main/java/org/fundacionjala/coding/Fernando/evaporator/Evaporator.java new file mode 100644 index 0000000..b6e6d71 --- /dev/null +++ b/src/main/java/org/fundacionjala/coding/Fernando/evaporator/Evaporator.java @@ -0,0 +1,28 @@ +package org.fundacionjala.coding.Fernando.evaporator; + +/** + * Created by PC on 28/06/2017. + */ +public abstract class Evaporator { + + + private static final double PORCENTAGE = 100; + + /** + * @param content the cant of gas. + * @param evapPerDay PORCENTAGE_NUMBER of gas lost every day. + * @param limit of the gas. + * @return int report days the evaporator will be out of use. + */ + public static int evaporator(final double content, final double evapPerDay, final double limit) { + int res = 0; + double reduceConten = content; + double limitContent = content * limit / PORCENTAGE; + while (reduceConten >= limitContent) { + reduceConten = reduceConten - (reduceConten * evapPerDay / PORCENTAGE); + res++; + } + return res; + + } +} diff --git a/src/test/java/org/fundacionjala/coding/Fernando/evaporator/EvaporatorTest.java b/src/test/java/org/fundacionjala/coding/Fernando/evaporator/EvaporatorTest.java new file mode 100644 index 0000000..fed4ed6 --- /dev/null +++ b/src/test/java/org/fundacionjala/coding/Fernando/evaporator/EvaporatorTest.java @@ -0,0 +1,102 @@ +package org.fundacionjala.coding.Fernando.evaporator; + +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +/** + * Created by PC on 28/06/2017. + */ +public class EvaporatorTest { + + private static final int EXPECTED_RESULT_ONE = 22; + private static final int EXPECTED_RESULT_TWO = 29; + private static final int EXPECTED_RESULT_THREE = 59; + private static final int EXPECTED_RESULT_FOUR = 37; + private static final int EXPECTED_RESULT_FIVE = 31; + private static final int EXPECTED_RESULT_SIX = 459; + private static final int EXPECTED_RESULT_SEVEN = 299; + private static final double ACTUAL_RESULT_TEN = 10; + private static final double ACTUAL_RESULT_FIVE = 5; + private static final double ACTUAL_RESULT_FIFTY = 50; + private static final double ACTUAL_RESULT_TWELVE = 12; + private static final double ACTUAL_RESULT_ONE = 1; + private static final double ACTUAL_RESULT_FOUR = 47.5; + private static final double ACTUAL_RESULT_EIGHT = 8; + private static final double ACTUAL_RESULT_ONEHUNDRED = 100; + + /** + * Test evaporator one. + */ + @Test + public void testEvaporatorOne() { + assertEquals(EXPECTED_RESULT_ONE, + Evaporator.evaporator(ACTUAL_RESULT_TEN, ACTUAL_RESULT_TEN, ACTUAL_RESULT_TEN)); + } + + /** + * Test evaporator two. + */ + @Test + public void testEvaporatorTwo() { + assertEquals(EXPECTED_RESULT_TWO, + Evaporator.evaporator(ACTUAL_RESULT_TEN, ACTUAL_RESULT_TEN, ACTUAL_RESULT_FIVE)); + } + + /** + * Test evaporator three. + */ + @Test + public void testEvaporatorThree() { + assertEquals(EXPECTED_RESULT_THREE, + Evaporator.evaporator(ACTUAL_RESULT_ONEHUNDRED, ACTUAL_RESULT_FIVE, ACTUAL_RESULT_FIVE)); + } + + /** + * Test evaporator four. + */ + @Test + public void testEvaporatorFour() { + assertEquals(EXPECTED_RESULT_FOUR, + Evaporator.evaporator(ACTUAL_RESULT_FIFTY, ACTUAL_RESULT_TWELVE, ACTUAL_RESULT_ONE)); + } + + /** + * Test evaporator five. + */ + @Test + public void testEvaporatorFive() { + assertEquals(EXPECTED_RESULT_FIVE, + Evaporator.evaporator(ACTUAL_RESULT_FOUR, ACTUAL_RESULT_EIGHT, ACTUAL_RESULT_EIGHT)); + } + + /** + * Test evaporator six. + */ + @Test + public void testEvaporatorSix() { + assertEquals(EXPECTED_RESULT_SIX, + Evaporator.evaporator(ACTUAL_RESULT_ONEHUNDRED, ACTUAL_RESULT_ONE, ACTUAL_RESULT_ONE)); + } + + /** + * Test evaporator seven. + */ + @Test + public void testEvaporatorSeven() { + assertEquals(EXPECTED_RESULT_SIX, + Evaporator.evaporator(ACTUAL_RESULT_TEN, ACTUAL_RESULT_ONE, ACTUAL_RESULT_ONE)); + } + + /** + * Test evaporator eight. + */ + @Test + public void testEvaporatorEight() { + assertEquals(EXPECTED_RESULT_SEVEN, + Evaporator.evaporator(ACTUAL_RESULT_ONEHUNDRED, ACTUAL_RESULT_ONE, ACTUAL_RESULT_FIVE)); + } + +} + + From d00854b3facbe304960ad0481de562fb2326d801 Mon Sep 17 00:00:00 2001 From: NandoOU Date: Mon, 3 Jul 2017 21:35:19 -0400 Subject: [PATCH 16/26] Exercises Completed --- .../coding/Fernando/multiples/Multiples.java | 5 ++--- .../Fernando/multiples/MultiplesTest.java | 21 +++++++++++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 src/test/java/org/fundacionjala/coding/Fernando/multiples/MultiplesTest.java diff --git a/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java b/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java index 9e93fc9..940d142 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java @@ -3,7 +3,7 @@ /** * Created by PC on 24/06/2017. */ -public final class Multiples { +public abstract class Multiples { public static final int FIVE = 5; private static final int THREE = 3; @@ -11,7 +11,7 @@ public final class Multiples { /** * Method Constructor. */ - private Multiples() { + Multiples() { } /** @@ -30,4 +30,3 @@ public static int solution(final int number) { return res; } } - diff --git a/src/test/java/org/fundacionjala/coding/Fernando/multiples/MultiplesTest.java b/src/test/java/org/fundacionjala/coding/Fernando/multiples/MultiplesTest.java new file mode 100644 index 0000000..d353345 --- /dev/null +++ b/src/test/java/org/fundacionjala/coding/Fernando/multiples/MultiplesTest.java @@ -0,0 +1,21 @@ +package org.fundacionjala.coding.Fernando.multiples; + +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +/** + * Created by PC on 03/07/2017. + */ +public class MultiplesTest { + + private static final int TWENTY_THREE = 23; + private static final int TEN = 10; + /** + * Test multiples. + */ + @Test + public void test() { + assertEquals(TWENTY_THREE, Multiples.solution(TEN)); + } +} From caf5b8c6b72e0785dedf6e0b5e0eff5cff2bb797 Mon Sep 17 00:00:00 2001 From: NandoOU Date: Mon, 3 Jul 2017 22:00:44 -0400 Subject: [PATCH 17/26] Exercises Completed --- .../java/org/fundacionjala/coding/Fernando/movies/Movie.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/fundacionjala/coding/Fernando/movies/Movie.java b/src/main/java/org/fundacionjala/coding/Fernando/movies/Movie.java index b35edae..c64df4f 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/movies/Movie.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/movies/Movie.java @@ -17,13 +17,13 @@ public Movie(final String title) { * @param daysRented param. * @return double value. */ - public abstract double calculateAmount(final int daysRented); + public abstract double calculateAmount(int daysRented); /** * @param daysRented param. * @return int value. */ - public abstract int calculateFrequentRenterPoints(final int daysRented); + public abstract int calculateFrequentRenterPoints(int daysRented); /** * @return String value. From 7caa36197987cba2ee38278022523f516feffe12 Mon Sep 17 00:00:00 2001 From: NandoOU Date: Mon, 3 Jul 2017 23:21:32 -0400 Subject: [PATCH 18/26] Exercises Completed --- .../coding/Fernando/movies/Customer.java | 10 ---- .../coding/Fernando/movies/CustomerTest.java | 43 +++++++++++++++++ .../coding/Fernando/movies/RentalTest.java | 48 +++++++++++++++++++ 3 files changed, 91 insertions(+), 10 deletions(-) create mode 100644 src/test/java/org/fundacionjala/coding/Fernando/movies/RentalTest.java diff --git a/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java b/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java index 48906b9..73e4cc7 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java @@ -52,11 +52,6 @@ public String generateDetail() { * @return double value. */ public double calculateTotalAmount() { -// double totalAmount = 0; -// for (Rental rental : rentalsCustomer) { -// totalAmount += rental.calculateAmount(); -// } -// return totalAmount; return rentalsCustomer.stream() .mapToDouble(Rental::calculateAmount) .sum(); @@ -66,11 +61,6 @@ public double calculateTotalAmount() { * @return int value. */ public int calculateTotalFrequentRenterPoints() { -// int totalFrequentRenterPoints = 0; -// for (Rental rental : rentalsCustomer) { -// totalFrequentRenterPoints += rental.calculateFrequentRenterPoint(); -// } -// return totalFrequentRenterPoints; return rentalsCustomer.stream() .mapToInt(rental -> rental.calculateFrequentRenterPoint()) .sum(); diff --git a/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java b/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java index fb68efa..0431b17 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java @@ -9,6 +9,9 @@ */ public class CustomerTest { + private static final int RENT_DAY = 1; + private static final double PRICE_MINOR = 1.5; + /** * testSpinWordsWhenCustomeIsTest. */ @@ -27,4 +30,44 @@ public void testSpinWordsWhenCustomeIsTest() { assertEquals(expectedResult, actualResult); } + /** + * test Movie When Day Rented Is less For Children. + */ + @Test + public void testMovieWhenDayRentedISLessForChildren() { + + // given: + final Customer customer = new Customer("Test"); + customer.addRental(new Rental(new Children("The Revenant"), RENT_DAY)); + + // when: + final double actualResult = customer.calculateTotalAmount(); + + // then: + + assertEquals(PRICE_MINOR, actualResult, 0); + } + + /** + * Test customer class. + */ + @Test + public void testCustomer() { + // given + Customer customer = new Customer("David"); + customer.addRental(new Rental(new NewRelease("Moana"), 2)); + customer.addRental(new Rental(new Regular("Titanic"), 1)); + + // when + final String actualResult = customer.generateDetail(); + + // then + final String expectedResult = "Rental Record for David\n" + + "\tMoana\t6.0\n" + + "\tTitanic\t2.0\n" + + "Amount owed is 8.0\n" + + "You earned 3 frequent renter points"; + assertEquals(actualResult, expectedResult); + } + } diff --git a/src/test/java/org/fundacionjala/coding/Fernando/movies/RentalTest.java b/src/test/java/org/fundacionjala/coding/Fernando/movies/RentalTest.java new file mode 100644 index 0000000..40da7b9 --- /dev/null +++ b/src/test/java/org/fundacionjala/coding/Fernando/movies/RentalTest.java @@ -0,0 +1,48 @@ +package org.fundacionjala.coding.Fernando.movies; + +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +/** + * Created by PC on 03/07/2017. + */ +public class RentalTest { + + private static final int DAYS_RENTED = 2; + /** + * Test get title. + */ + @Test + public void testGetTitle() { + // given: + final Regular regular = new Regular("Star Wars"); + final Rental rental = new Rental(regular, DAYS_RENTED); + + // when: + final String actualResult = rental.getMovie().getTitle(); + + // then: + final String expectedResult = "Star Wars"; + assertEquals(expectedResult, actualResult); + } + + /** + * Test days rented. + */ + + @Test + public void testDaysRented() { + // given: + final Regular regular = new Regular("The Lord of the Ring"); + final int daysRentet = DAYS_RENTED; + final Rental rental = new Rental(regular, daysRentet); + + // when: + final int actualResult = rental.getDaysRented(); + + // then: + final int expectedResult = DAYS_RENTED; + assertEquals(expectedResult, actualResult); + } +} From 2cf89a49c8bc2c28da4676588e7e50e8cc3d95e0 Mon Sep 17 00:00:00 2001 From: NandoOU Date: Tue, 4 Jul 2017 00:10:18 -0400 Subject: [PATCH 19/26] Exercises Completed --- .../coding/Fernando/BankOCR/BankOCR.java | 5 +--- .../coding/Fernando/CadenaInv/CadInv.java | 29 ++++--------------- .../coding/Fernando/CheckSum/CheckSum.java | 8 ++--- .../coding/Fernando/Exam/Prom.java | 4 +-- 4 files changed, 11 insertions(+), 35 deletions(-) diff --git a/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCR.java b/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCR.java index 9d33756..742d35c 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCR.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCR.java @@ -141,10 +141,7 @@ public static boolean validAccountNumbers(final String input) { suma += x; multiplier++; } - if (suma % VALIDATOR == 0) { - return true; - } - return false; + return suma % VALIDATOR == 0; } } diff --git a/src/main/java/org/fundacionjala/coding/Fernando/CadenaInv/CadInv.java b/src/main/java/org/fundacionjala/coding/Fernando/CadenaInv/CadInv.java index a229912..4012daa 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/CadenaInv/CadInv.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/CadenaInv/CadInv.java @@ -10,36 +10,19 @@ public final class CadInv { static final int CANTMAYOR = 5; /** - * Constructor. - */ - public CadInv() { - - } - - /** - * @param string param. - * @return String param. - */ - public String cadenaInv(final String string) { - String[] parts = string.split(" "); - return cadenaInv(parts, 0); - } - - /** - * @param parts param. - * @param pos param. + * @param text param. * @return String param. */ - private String cadenaInv(final String[] parts, final int pos) { - - if (pos < parts.length) { + public String cadenaInv(final String text) { + int pos = 0; + String[] parts = text.split(" "); + while (pos < parts.length) { String palabra = parts[pos]; if (palabra.length() > CANTMAYOR) { StringBuilder sb = new StringBuilder(parts[pos]); parts[pos] = sb.reverse().toString(); } - return cadenaInv(parts, pos + 1); - + pos++; } return String.join(" ", parts); diff --git a/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSum.java b/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSum.java index e96b06c..e0ca72b 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSum.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSum.java @@ -23,14 +23,12 @@ public boolean canValores(final String valor) { int sum = ZERO; if (valor.length() != SIZEVALUE) { return false; - } else { + } for (int i = UNO; i < valor.length(); i++) { int num = Character.getNumericValue(valor.charAt(i - 1)); sum += i % 2 == 0 ? num * TRES : num; } return numeroValido(sum) == Character.getNumericValue(valor.charAt(valor.length() - 1)); - - } } /** * @param sum of values. @@ -38,8 +36,8 @@ public boolean canValores(final String valor) { */ public int numeroValido(final int sum) { int result = sum % DIEZ; - int data = result != 0 ? DIEZ - result : 0; - return data; + return result != 0 ? DIEZ - result : 0; + } } diff --git a/src/main/java/org/fundacionjala/coding/Fernando/Exam/Prom.java b/src/main/java/org/fundacionjala/coding/Fernando/Exam/Prom.java index faed324..d7e0608 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/Exam/Prom.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/Exam/Prom.java @@ -21,10 +21,8 @@ public double[] promedio(final int[] num) { double[] res = {}; if (num != null && num.length != 0) { return promedio(num, 0); - } else { - return res; } - + return res; } /** From 514ded9c71c6fccc1bb27c902bbbc05a09d7c335 Mon Sep 17 00:00:00 2001 From: NandoOU Date: Wed, 5 Jul 2017 18:05:35 +0000 Subject: [PATCH 20/26] Coding Exercises Refactored --- .../coding/Fernando/CadenaInv/CadInv.java | 31 ------- .../coding/Fernando/CheckSum/CheckSum.java | 43 --------- .../coding/Fernando/StringInv/StringInv.java | 29 ++++++ .../{Exam/Prom.java => average/Average.java} | 22 ++--- .../{BankOCR => bankOCR}/BankOCR.java | 15 +-- .../coding/Fernando/checkSum/CheckSum.java | 43 +++++++++ .../coding/Fernando/movies/Customer.java | 10 +- .../{CadenaInv => StringInv}/CadInvTest.java | 27 ++++-- .../Fernando/{Exam => average}/PromTest.java | 35 ++++--- .../{BankOCR => bankOCR}/BankOCRTest.java | 6 +- .../{CheckSum => checkSum}/CheckSumTest.java | 22 ++++- .../Fernando/evaporator/EvaporatorTest.java | 91 ++++++++++++------- .../coding/Fernando/movies/ChildrenTest.java | 25 +++-- .../coding/Fernando/movies/CustomerTest.java | 37 +++----- .../Fernando/movies/NewReleaseTest.java | 25 +++-- .../coding/Fernando/movies/RegularTest.java | 25 +++-- .../coding/Fernando/movies/RentalTest.java | 21 +++-- 17 files changed, 280 insertions(+), 227 deletions(-) delete mode 100644 src/main/java/org/fundacionjala/coding/Fernando/CadenaInv/CadInv.java delete mode 100644 src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSum.java create mode 100644 src/main/java/org/fundacionjala/coding/Fernando/StringInv/StringInv.java rename src/main/java/org/fundacionjala/coding/Fernando/{Exam/Prom.java => average/Average.java} (55%) rename src/main/java/org/fundacionjala/coding/Fernando/{BankOCR => bankOCR}/BankOCR.java (91%) create mode 100644 src/main/java/org/fundacionjala/coding/Fernando/checkSum/CheckSum.java rename src/test/java/org/fundacionjala/coding/Fernando/{CadenaInv => StringInv}/CadInvTest.java (75%) rename src/test/java/org/fundacionjala/coding/Fernando/{Exam => average}/PromTest.java (81%) rename src/test/java/org/fundacionjala/coding/Fernando/{BankOCR => bankOCR}/BankOCRTest.java (95%) rename src/test/java/org/fundacionjala/coding/Fernando/{CheckSum => checkSum}/CheckSumTest.java (71%) diff --git a/src/main/java/org/fundacionjala/coding/Fernando/CadenaInv/CadInv.java b/src/main/java/org/fundacionjala/coding/Fernando/CadenaInv/CadInv.java deleted file mode 100644 index 4012daa..0000000 --- a/src/main/java/org/fundacionjala/coding/Fernando/CadenaInv/CadInv.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.fundacionjala.coding.Fernando.CadenaInv; - -/** - * Write a description of class CadInv here. - * - * @author (your name) - * @version (a version number or a date) - */ -public final class CadInv { - static final int CANTMAYOR = 5; - - /** - * @param text param. - * @return String param. - */ - public String cadenaInv(final String text) { - int pos = 0; - String[] parts = text.split(" "); - while (pos < parts.length) { - String palabra = parts[pos]; - if (palabra.length() > CANTMAYOR) { - StringBuilder sb = new StringBuilder(parts[pos]); - parts[pos] = sb.reverse().toString(); - } - pos++; - } - return String.join(" ", parts); - - } - -} diff --git a/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSum.java b/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSum.java deleted file mode 100644 index e0ca72b..0000000 --- a/src/main/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSum.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.fundacionjala.coding.Fernando.CheckSum; - -/** - * Write a description of class CheckSum here. - * - * @author (your name) - * @version (a version number or a date) - */ -public class CheckSum { - static final int TRES = 3; - static final int UNO = 1; - static final int DIEZ = 10; - static final int DOS = 2; - static final int OCHO = 8; - static final int ZERO = 0; - static final int SIZEVALUE = 13; - - /** - * @param valor data. - * @return boolean of cant values. - */ - public boolean canValores(final String valor) { - int sum = ZERO; - if (valor.length() != SIZEVALUE) { - return false; - } - for (int i = UNO; i < valor.length(); i++) { - int num = Character.getNumericValue(valor.charAt(i - 1)); - sum += i % 2 == 0 ? num * TRES : num; - } - return numeroValido(sum) == Character.getNumericValue(valor.charAt(valor.length() - 1)); - } - /** - * @param sum of values. - * @return int of number valid. - */ - public int numeroValido(final int sum) { - int result = sum % DIEZ; - return result != 0 ? DIEZ - result : 0; - - } - -} diff --git a/src/main/java/org/fundacionjala/coding/Fernando/StringInv/StringInv.java b/src/main/java/org/fundacionjala/coding/Fernando/StringInv/StringInv.java new file mode 100644 index 0000000..918c12f --- /dev/null +++ b/src/main/java/org/fundacionjala/coding/Fernando/StringInv/StringInv.java @@ -0,0 +1,29 @@ +package org.fundacionjala.coding.Fernando.StringInv; + +/** + * Write a description of class StringInv here. + * + * @author (your name) + * @version (a version number or a date) + */ +public final class StringInv { + static final int CANT_MAJOR = 5; + + /** + * @param text param. + * @return String param. + */ + public String stringInv(final String text) { + int pos = 0; + String[] parts = text.split(" "); + while (pos < parts.length) { + if (parts[pos].length() > CANT_MAJOR) { + parts[pos] = new StringBuilder(parts[pos]).reverse().toString(); + } + pos++; + } + return String.join(" ", parts); + + } + +} diff --git a/src/main/java/org/fundacionjala/coding/Fernando/Exam/Prom.java b/src/main/java/org/fundacionjala/coding/Fernando/average/Average.java similarity index 55% rename from src/main/java/org/fundacionjala/coding/Fernando/Exam/Prom.java rename to src/main/java/org/fundacionjala/coding/Fernando/average/Average.java index d7e0608..41a4b71 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/Exam/Prom.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/average/Average.java @@ -1,26 +1,21 @@ -package org.fundacionjala.coding.Fernando.Exam; +package org.fundacionjala.coding.Fernando.average; /** - * Write a description of class Prom here. + * Write a description of class Average here. * * @author (your name) * @version (a version number or a date) */ -public class Prom { - /** - * Constructor. - */ - public Prom() { - } +public class Average { /** * @param num the method has a int value. * @return double value. */ - public double[] promedio(final int[] num) { + public double[] average(final int[] num) { double[] res = {}; if (num != null && num.length != 0) { - return promedio(num, 0); + return average(num, 0); } return res; } @@ -30,13 +25,10 @@ public double[] promedio(final int[] num) { * @param pos1 param. * @return double value. */ - private double[] promedio(final int[] num, final int pos1) { + private double[] average(final int[] num, final int pos1) { double[] res = new double[num.length - 1]; - for (int pos = 0; pos < num.length - 1; pos++) { - double primvalor = num[pos]; - double secondvalor = num[pos + 1]; - double prom = (primvalor + secondvalor) / 2; + double prom = (double) (num[pos] + num[pos + 1]) / 2; res[pos] = prom; } return res; diff --git a/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCR.java b/src/main/java/org/fundacionjala/coding/Fernando/bankOCR/BankOCR.java similarity index 91% rename from src/main/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCR.java rename to src/main/java/org/fundacionjala/coding/Fernando/bankOCR/BankOCR.java index 742d35c..67e714b 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCR.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/bankOCR/BankOCR.java @@ -1,7 +1,8 @@ -package org.fundacionjala.coding.Fernando.BankOCR; +package org.fundacionjala.coding.Fernando.bankOCR; import java.util.HashMap; import java.util.Map; +import java.util.stream.Stream; /** * Created by PC on 24/06/2017. @@ -65,7 +66,7 @@ public final class BankOCR { } /** - * Constructor BankOCR. + * Constructor bankOCR. */ private BankOCR() { @@ -119,14 +120,8 @@ public static String accountStatus(final String cad) { * @return boolean to get if is a valid digit. */ private static boolean digit(final String data) { - boolean isDigit = true; - for (int i = 0; i < data.length(); i++) { - if (!Character.isDigit(data.charAt(i))) { - isDigit = false; - break; - } - } - return isDigit; + return Stream.of(data.split("")). + filter(a -> Character.isDigit(a.charAt(0))).count() > 0; } /** diff --git a/src/main/java/org/fundacionjala/coding/Fernando/checkSum/CheckSum.java b/src/main/java/org/fundacionjala/coding/Fernando/checkSum/CheckSum.java new file mode 100644 index 0000000..2d49237 --- /dev/null +++ b/src/main/java/org/fundacionjala/coding/Fernando/checkSum/CheckSum.java @@ -0,0 +1,43 @@ +package org.fundacionjala.coding.Fernando.checkSum; + +/** + * Write a description of class checkSum here. + * + * @author (your name) + * @version (a version number or a date) + */ +public class CheckSum { + static final int THREE = 3; + static final int ONE = 1; + static final int TEN = 10; + static final int TWO = 2; + static final int EIGHT = 8; + static final int ZERO = 0; + static final int SIZEVALUE = 13; + + /** + * @param value data. + * @return boolean of cant values. + */ + public boolean canValues(final String value) { + int sum = ZERO; + if (value.length() != SIZEVALUE) { + return false; + } + for (int i = ONE; i < value.length(); i++) { + int num = Character.getNumericValue(value.charAt(i - 1)); + sum += i % 2 == 0 ? num * THREE : num; + } + return validNum(sum) == Character.getNumericValue(value.charAt(value.length() - 1)); + } + /** + * @param sum of values. + * @return int of number valid. + */ + public int validNum(final int sum) { + int result = sum % TEN; + return result != 0 ? TEN - result : 0; + + } + +} diff --git a/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java b/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java index 73e4cc7..e3fbb56 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java @@ -38,13 +38,13 @@ public String getName() { */ public String generateDetail() { StringBuffer result = new StringBuffer(); - result.append("Rental Record for " + getName() + "\n"); + result.append(String.format("Rental Record for %s%n", getName())); for (Rental rental : rentalsCustomer) { - result.append("\t" + rental.getMovie().getTitle() + "\t"); - result.append(rental.calculateAmount() + "\n"); + result.append(String.format("%s\t%s%n", rental.getMovie().getTitle(), + rental.calculateAmount())); } - result.append("Amount owed is " + calculateTotalAmount() + "\n"); - result.append("You earned " + calculateTotalFrequentRenterPoints() + " frequent renter points"); + result.append(String.format("Amount owed is %f", calculateTotalAmount())); + result.append(String.format("You earned %d frequent renter points", calculateTotalFrequentRenterPoints())); return result.toString(); } diff --git a/src/test/java/org/fundacionjala/coding/Fernando/CadenaInv/CadInvTest.java b/src/test/java/org/fundacionjala/coding/Fernando/StringInv/CadInvTest.java similarity index 75% rename from src/test/java/org/fundacionjala/coding/Fernando/CadenaInv/CadInvTest.java rename to src/test/java/org/fundacionjala/coding/Fernando/StringInv/CadInvTest.java index c6d1594..c9153ec 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/CadenaInv/CadInvTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/StringInv/CadInvTest.java @@ -1,5 +1,6 @@ -package org.fundacionjala.coding.Fernando.CadenaInv; +package org.fundacionjala.coding.Fernando.StringInv; +import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertEquals; @@ -11,17 +12,28 @@ * @version (a version number or a date) */ public class CadInvTest { + + private StringInv cadI; + + /** + * SpinWord. + */ + @Before + public void spinWord() { + cadI = new StringInv(); + } + /** * Test when sentence is empty. */ @Test public void testWhenSentenceIsEmpty() { - CadInv cadI = new CadInv(); + // given: final String sentence = ""; // when: - final String actualResult = cadI.cadenaInv(sentence); + final String actualResult = cadI.stringInv(sentence); // then: final String expectedResult = ""; @@ -33,13 +45,12 @@ public void testWhenSentenceIsEmpty() { */ @Test public void testWhenSentenceHasNoWordsMajorToFive() { - CadInv cadI = new CadInv(); - //Hey fellow warriors + // give: final String sentence = "Hi guys how are you"; // when: - final String actualResult = cadI.cadenaInv(sentence); + final String actualResult = cadI.stringInv(sentence); // then: final String expectedResult = "Hi guys how are you"; @@ -51,12 +62,12 @@ public void testWhenSentenceHasNoWordsMajorToFive() { */ @Test public void testWhenSentenceHasMoreThanOneWordMajorThatFive() { - CadInv cadI = new CadInv(); + // give: final String sentence = "Hey fellow warriors"; // when: - final String actualResult = cadI.cadenaInv(sentence); + final String actualResult = cadI.stringInv(sentence); // then: final String expectedResult = "Hey wollef sroirraw"; diff --git a/src/test/java/org/fundacionjala/coding/Fernando/Exam/PromTest.java b/src/test/java/org/fundacionjala/coding/Fernando/average/PromTest.java similarity index 81% rename from src/test/java/org/fundacionjala/coding/Fernando/Exam/PromTest.java rename to src/test/java/org/fundacionjala/coding/Fernando/average/PromTest.java index 92230a2..a67ab95 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/Exam/PromTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/average/PromTest.java @@ -1,5 +1,6 @@ -package org.fundacionjala.coding.Fernando.Exam; +package org.fundacionjala.coding.Fernando.average; +import org.junit.Before; import org.junit.Test; import java.util.Arrays; @@ -14,17 +15,26 @@ */ public class PromTest { + private Average p; + + /** + * Create average. + */ + @Before + public void average() { + p = new Average(); + } /** * Test to get the prom when we have 5 elements. */ @Test public void testPromWhenHave5Elements() { - Prom p = new Prom(); + // given: final int[] num = {2, 2, 2, 2, 2}; // when: - final double[] actualResult = p.promedio(num); + final double[] actualResult = p.average(num); // then: final double[] expectedResult = {2.0, 2.0, 2.0, 2.0}; @@ -36,14 +46,13 @@ public void testPromWhenHave5Elements() { */ @Test public void testPromWhenHaveDifferentData() { - Prom p = new Prom(); // given: final int[] num = {1, 3, 5, 1, -10}; // when: - final double[] actualResult = p.promedio(num); + final double[] actualResult = p.average(num); // then: final double[] expectedResult = {2.0, 4.0, 3.0, -4.5}; @@ -55,12 +64,12 @@ public void testPromWhenHaveDifferentData() { */ @Test public void testPromWhenHaveTheSameData() { - Prom p = new Prom(); + // given: final int[] num = {2, -2, 2, -2, 2}; // when: - final double[] actualResult = p.promedio(num); + final double[] actualResult = p.average(num); // then: final double[] expectedResult = {0.0, 0.0, 0.0, 0.0}; @@ -72,12 +81,12 @@ public void testPromWhenHaveTheSameData() { */ @Test public void testPromWhenTheArrayIsNull() { - Prom p = new Prom(); + // given: final int[] num = null; // when: - final double[] actualResult = p.promedio(num); + final double[] actualResult = p.average(num); // then: final double[] expectedResult = {}; @@ -89,12 +98,12 @@ public void testPromWhenTheArrayIsNull() { */ @Test public void testPromWhenTheArrayIsEmpty() { - Prom p = new Prom(); + // give: final int[] num = {}; // when: - final double[] actualResult = p.promedio(num); + final double[] actualResult = p.average(num); // then: final double[] expectedResult = {}; @@ -107,12 +116,12 @@ public void testPromWhenTheArrayIsEmpty() { */ @Test public void testPromWhenTheArrayHasOneElement() { - Prom p = new Prom(); + // given: final int[] num = {2}; // when: - final double[] actualResult = p.promedio(num); + final double[] actualResult = p.average(num); // then: final double[] expectedResult = {}; diff --git a/src/test/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCRTest.java b/src/test/java/org/fundacionjala/coding/Fernando/bankOCR/BankOCRTest.java similarity index 95% rename from src/test/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCRTest.java rename to src/test/java/org/fundacionjala/coding/Fernando/bankOCR/BankOCRTest.java index 3c83e17..5668547 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/BankOCR/BankOCRTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/bankOCR/BankOCRTest.java @@ -1,9 +1,9 @@ -package org.fundacionjala.coding.Fernando.BankOCR; +package org.fundacionjala.coding.Fernando.bankOCR; import org.junit.Test; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertFalse; /** * Created by PC on 24/06/2017. @@ -126,7 +126,7 @@ public void testWithIncorrectDatas() { boolean actualResult = BankOCR.validAccountNumbers(value); // then: - assertTrue(!actualResult); + assertFalse(actualResult); } /** diff --git a/src/test/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSumTest.java b/src/test/java/org/fundacionjala/coding/Fernando/checkSum/CheckSumTest.java similarity index 71% rename from src/test/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSumTest.java rename to src/test/java/org/fundacionjala/coding/Fernando/checkSum/CheckSumTest.java index 8b2df29..5415cb3 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/CheckSum/CheckSumTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/checkSum/CheckSumTest.java @@ -1,5 +1,6 @@ -package org.fundacionjala.coding.Fernando.CheckSum; +package org.fundacionjala.coding.Fernando.checkSum; +import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertEquals; @@ -11,17 +12,28 @@ * @version (a version number or a date) */ public class CheckSumTest { + + private CheckSum cs; + + /** + * Create check sum. + */ + @Before + public void checkSum() { + cs = new CheckSum(); + } + /** * Test when sentence is empty. */ @Test public void testWhenSentenceISEmpty() { - CheckSum cs = new CheckSum(); + // given: final String sentence = "4003301018398"; // when: - final boolean actualResult = cs.canValores(sentence); + final boolean actualResult = cs.canValues(sentence); // then final boolean expectedResult = true; @@ -33,12 +45,12 @@ public void testWhenSentenceISEmpty() { */ @Test public void testWhenSentenceHasMoreThanOneWordMajorThatFive() { - CheckSum cs = new CheckSum(); + // given: final String sentence = "1234567890200"; // when: - final boolean actualResult = cs.canValores(sentence); + final boolean actualResult = cs.canValues(sentence); // then final boolean expectedResult = false; diff --git a/src/test/java/org/fundacionjala/coding/Fernando/evaporator/EvaporatorTest.java b/src/test/java/org/fundacionjala/coding/Fernando/evaporator/EvaporatorTest.java index fed4ed6..88c2fef 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/evaporator/EvaporatorTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/evaporator/EvaporatorTest.java @@ -9,29 +9,17 @@ */ public class EvaporatorTest { - private static final int EXPECTED_RESULT_ONE = 22; - private static final int EXPECTED_RESULT_TWO = 29; - private static final int EXPECTED_RESULT_THREE = 59; - private static final int EXPECTED_RESULT_FOUR = 37; - private static final int EXPECTED_RESULT_FIVE = 31; - private static final int EXPECTED_RESULT_SIX = 459; - private static final int EXPECTED_RESULT_SEVEN = 299; - private static final double ACTUAL_RESULT_TEN = 10; - private static final double ACTUAL_RESULT_FIVE = 5; - private static final double ACTUAL_RESULT_FIFTY = 50; - private static final double ACTUAL_RESULT_TWELVE = 12; - private static final double ACTUAL_RESULT_ONE = 1; - private static final double ACTUAL_RESULT_FOUR = 47.5; - private static final double ACTUAL_RESULT_EIGHT = 8; - private static final double ACTUAL_RESULT_ONEHUNDRED = 100; - /** * Test evaporator one. */ @Test public void testEvaporatorOne() { - assertEquals(EXPECTED_RESULT_ONE, - Evaporator.evaporator(ACTUAL_RESULT_TEN, ACTUAL_RESULT_TEN, ACTUAL_RESULT_TEN)); + + final int expectedResult = 22; + final double actualResult = 10; + + assertEquals(expectedResult, + Evaporator.evaporator(actualResult, actualResult, actualResult)); } /** @@ -39,8 +27,12 @@ public void testEvaporatorOne() { */ @Test public void testEvaporatorTwo() { - assertEquals(EXPECTED_RESULT_TWO, - Evaporator.evaporator(ACTUAL_RESULT_TEN, ACTUAL_RESULT_TEN, ACTUAL_RESULT_FIVE)); + final int expectedResult = 29; + final double actualResultOne = 10; + final double actualResultTwo = 5; + + assertEquals(expectedResult, + Evaporator.evaporator(actualResultOne, actualResultOne, actualResultTwo)); } /** @@ -48,8 +40,13 @@ public void testEvaporatorTwo() { */ @Test public void testEvaporatorThree() { - assertEquals(EXPECTED_RESULT_THREE, - Evaporator.evaporator(ACTUAL_RESULT_ONEHUNDRED, ACTUAL_RESULT_FIVE, ACTUAL_RESULT_FIVE)); + + final int expectedResult = 59; + final double actualResultOne = 100; + final double actualResultTwo = 5; + + assertEquals(expectedResult, + Evaporator.evaporator(actualResultOne, actualResultTwo, actualResultTwo)); } /** @@ -57,8 +54,14 @@ public void testEvaporatorThree() { */ @Test public void testEvaporatorFour() { - assertEquals(EXPECTED_RESULT_FOUR, - Evaporator.evaporator(ACTUAL_RESULT_FIFTY, ACTUAL_RESULT_TWELVE, ACTUAL_RESULT_ONE)); + + final int expectedResult = 37; + final double actualResultOne = 50; + final double actualResultTwo = 12; + final double actualResultThre = 1; + + assertEquals(expectedResult, + Evaporator.evaporator(actualResultOne, actualResultTwo, actualResultThre)); } /** @@ -66,8 +69,14 @@ public void testEvaporatorFour() { */ @Test public void testEvaporatorFive() { - assertEquals(EXPECTED_RESULT_FIVE, - Evaporator.evaporator(ACTUAL_RESULT_FOUR, ACTUAL_RESULT_EIGHT, ACTUAL_RESULT_EIGHT)); + + final int expectedResult = 31; + final double actualResultOne = 4; + final double actualResultTwo = 8; + final double actualResultThre = 8; + + assertEquals(expectedResult, + Evaporator.evaporator(actualResultOne, actualResultTwo, actualResultThre)); } /** @@ -75,8 +84,14 @@ public void testEvaporatorFive() { */ @Test public void testEvaporatorSix() { - assertEquals(EXPECTED_RESULT_SIX, - Evaporator.evaporator(ACTUAL_RESULT_ONEHUNDRED, ACTUAL_RESULT_ONE, ACTUAL_RESULT_ONE)); + + final int expectedResult = 459; + final double actualResultOne = 100; + final double actualResultTwo = 1; + final double actualResultThre = 1; + + assertEquals(expectedResult, + Evaporator.evaporator(actualResultOne, actualResultTwo, actualResultThre)); } /** @@ -84,8 +99,14 @@ public void testEvaporatorSix() { */ @Test public void testEvaporatorSeven() { - assertEquals(EXPECTED_RESULT_SIX, - Evaporator.evaporator(ACTUAL_RESULT_TEN, ACTUAL_RESULT_ONE, ACTUAL_RESULT_ONE)); + + final int expectedResult = 459; + final double actualResultOne = 10; + final double actualResultTwo = 1; + final double actualResultThre = 1; + + assertEquals(expectedResult, + Evaporator.evaporator(actualResultOne, actualResultTwo, actualResultThre)); } /** @@ -93,8 +114,14 @@ public void testEvaporatorSeven() { */ @Test public void testEvaporatorEight() { - assertEquals(EXPECTED_RESULT_SEVEN, - Evaporator.evaporator(ACTUAL_RESULT_ONEHUNDRED, ACTUAL_RESULT_ONE, ACTUAL_RESULT_FIVE)); + + final int expectedResult = 299; + final double actualResultOne = 100; + final double actualResultTwo = 1; + final double actualResultThre = 5; + + assertEquals(expectedResult, + Evaporator.evaporator(actualResultOne, actualResultTwo, actualResultThre)); } } diff --git a/src/test/java/org/fundacionjala/coding/Fernando/movies/ChildrenTest.java b/src/test/java/org/fundacionjala/coding/Fernando/movies/ChildrenTest.java index 6fed9a9..c5f4384 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/movies/ChildrenTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/movies/ChildrenTest.java @@ -1,5 +1,6 @@ package org.fundacionjala.coding.Fernando.movies; +import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertEquals; @@ -9,16 +10,24 @@ */ public class ChildrenTest { + private Movie movie; + + /** + * Creating Children instance. + */ + @Before + public void createCustomer() { + movie = new Children("Toy Story"); + } + /** * Test to verify the amount rent less than three days. */ @Test public void testCalculateAmountWhenTheRentedDaysIsLessThanThree() { - // given: - Children childrenInstance = new Children("Toy Story"); // when: - final double actualResult = childrenInstance.calculateAmount(2); + final double actualResult = movie.calculateAmount(2); // then final double expectedResult = 1.5; @@ -30,11 +39,9 @@ public void testCalculateAmountWhenTheRentedDaysIsLessThanThree() { */ @Test public void testToCalculateRentMovieMoreThanThreeDays() { - // given: - Children children = new Children("Moana"); // when: - final double actualResult = children.calculateAmount(10); + final double actualResult = movie.calculateAmount(10); // then: final double expectedResult = 10.5; @@ -46,11 +53,9 @@ public void testToCalculateRentMovieMoreThanThreeDays() { */ @Test public void testToCalculateTheFrequentRentDifferentDays() { - // given: - Children children = new Children("Moana"); // when: - final int actualResult = children.calculateFrequentRenterPoints(1); + final int actualResult = movie.calculateFrequentRenterPoints(1); // then: final int expectedResult = 1; @@ -59,7 +64,7 @@ public void testToCalculateTheFrequentRentDifferentDays() { // given: // when: - final int actualResultTwo = children.calculateFrequentRenterPoints(3); + final int actualResultTwo = movie.calculateFrequentRenterPoints(3); // then: final int expectedResultTwo = 1; diff --git a/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java b/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java index 0431b17..9a01191 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java @@ -1,5 +1,6 @@ package org.fundacionjala.coding.Fernando.movies; +import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertEquals; @@ -12,13 +13,22 @@ public class CustomerTest { private static final int RENT_DAY = 1; private static final double PRICE_MINOR = 1.5; + private Customer customer; + + /** + * Create customer. + */ + @Before + public void createCustomer() { + customer = new Customer("Fernando"); + } + /** * testSpinWordsWhenCustomeIsTest. */ @Test public void testSpinWordsWhenCustomeIsTest() { - Customer customer = new Customer("David"); // given: customer.addRental(new Rental(new Children("The Revenant"), 2)); @@ -26,7 +36,7 @@ public void testSpinWordsWhenCustomeIsTest() { final String actualResult = customer.getName(); // then: - final String expectedResult = "David"; + final String expectedResult = "Fernando"; assertEquals(expectedResult, actualResult); } @@ -37,7 +47,6 @@ public void testSpinWordsWhenCustomeIsTest() { public void testMovieWhenDayRentedISLessForChildren() { // given: - final Customer customer = new Customer("Test"); customer.addRental(new Rental(new Children("The Revenant"), RENT_DAY)); // when: @@ -48,26 +57,4 @@ public void testMovieWhenDayRentedISLessForChildren() { assertEquals(PRICE_MINOR, actualResult, 0); } - /** - * Test customer class. - */ - @Test - public void testCustomer() { - // given - Customer customer = new Customer("David"); - customer.addRental(new Rental(new NewRelease("Moana"), 2)); - customer.addRental(new Rental(new Regular("Titanic"), 1)); - - // when - final String actualResult = customer.generateDetail(); - - // then - final String expectedResult = "Rental Record for David\n" - + "\tMoana\t6.0\n" - + "\tTitanic\t2.0\n" - + "Amount owed is 8.0\n" - + "You earned 3 frequent renter points"; - assertEquals(actualResult, expectedResult); - } - } diff --git a/src/test/java/org/fundacionjala/coding/Fernando/movies/NewReleaseTest.java b/src/test/java/org/fundacionjala/coding/Fernando/movies/NewReleaseTest.java index 700d255..bcfd469 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/movies/NewReleaseTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/movies/NewReleaseTest.java @@ -1,5 +1,6 @@ package org.fundacionjala.coding.Fernando.movies; +import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertEquals; @@ -9,16 +10,24 @@ */ public class NewReleaseTest { + private Movie movie; + + /** + * Creating new release instance. + */ + @Before + public void createNewRelease() { + movie = new NewRelease("Toy Story"); + } + /** * Test to verify the amount rent less than three days. */ @Test public void testCalculateAmountWhenTheRentedDaysIsLessThanThree() { - // given: - NewRelease release = new NewRelease("Toy Story"); // when: - final double actualResult = release.calculateAmount(2); + final double actualResult = movie.calculateAmount(2); // then final double expectedResult = 1.5; @@ -30,11 +39,9 @@ public void testCalculateAmountWhenTheRentedDaysIsLessThanThree() { */ @Test public void testToCalculateRentMovieMoreThanThreeDays() { - // given: - NewRelease release = new NewRelease("Moana"); // when: - final double actualResult = release.calculateAmount(10); + final double actualResult = movie.calculateAmount(10); // then: final double expectedResult = 10.5; @@ -46,11 +53,9 @@ public void testToCalculateRentMovieMoreThanThreeDays() { */ @Test public void testToCalculateTheFrequentRentDifferentDays() { - // given: - NewRelease release = new NewRelease("Toy Story"); // when: - final int actualResult = release.calculateFrequentRenterPoints(1); + final int actualResult = movie.calculateFrequentRenterPoints(1); // then: final int expectedResult = 1; @@ -59,7 +64,7 @@ public void testToCalculateTheFrequentRentDifferentDays() { // given: // when: - final int actualResultTwo = release.calculateFrequentRenterPoints(3); + final int actualResultTwo = movie.calculateFrequentRenterPoints(3); // then: final int expectedResultTwo = 2; diff --git a/src/test/java/org/fundacionjala/coding/Fernando/movies/RegularTest.java b/src/test/java/org/fundacionjala/coding/Fernando/movies/RegularTest.java index a6efce1..2243368 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/movies/RegularTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/movies/RegularTest.java @@ -1,5 +1,6 @@ package org.fundacionjala.coding.Fernando.movies; +import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertEquals; @@ -9,16 +10,24 @@ */ public class RegularTest { + private Movie movie; + + /** + * Creating Regular instance. + */ + @Before + public void createRegular() { + movie = new Regular("Toy Story"); + } + /** * Test to verify the amount rent less than three days. */ @Test public void testCalculateAmountWhenTheRentedDaysIsLessThanThree() { - // given: - Regular regular = new Regular("Toy Story"); // when: - final double actualResult = regular.calculateAmount(2); + final double actualResult = movie.calculateAmount(2); // then final double expectedResult = 1.5; @@ -30,11 +39,9 @@ public void testCalculateAmountWhenTheRentedDaysIsLessThanThree() { */ @Test public void testToCalculateRentMovieMoreThanThreeDays() { - // given: - Regular regular = new Regular("Moana"); // when: - final double actualResult = regular.calculateAmount(10); + final double actualResult = movie.calculateAmount(10); // then: final double expectedResult = 10.5; @@ -46,11 +53,9 @@ public void testToCalculateRentMovieMoreThanThreeDays() { */ @Test public void testToCalculateTheFrequentRentDifferentDays() { - // given: - Regular regular = new Regular("Toy Story"); // when: - final int actualResult = regular.calculateFrequentRenterPoints(1); + final int actualResult = movie.calculateFrequentRenterPoints(1); // then: final int expectedResult = 1; @@ -59,7 +64,7 @@ public void testToCalculateTheFrequentRentDifferentDays() { // given: // when: - final int actualResultTwo = regular.calculateFrequentRenterPoints(3); + final int actualResultTwo = movie.calculateFrequentRenterPoints(3); // then: final int expectedResultTwo = 1; diff --git a/src/test/java/org/fundacionjala/coding/Fernando/movies/RentalTest.java b/src/test/java/org/fundacionjala/coding/Fernando/movies/RentalTest.java index 40da7b9..3727bd0 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/movies/RentalTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/movies/RentalTest.java @@ -1,5 +1,6 @@ package org.fundacionjala.coding.Fernando.movies; +import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertEquals; @@ -10,14 +11,24 @@ public class RentalTest { private static final int DAYS_RENTED = 2; + + private Movie movie; + private Rental rental; + + /** + * Creating Regular and Rental instance. + */ + @Before + public void createRegularAndRental() { + movie = new Regular("Star Wars"); + rental = new Rental(movie, DAYS_RENTED); + } + /** * Test get title. */ @Test public void testGetTitle() { - // given: - final Regular regular = new Regular("Star Wars"); - final Rental rental = new Rental(regular, DAYS_RENTED); // when: final String actualResult = rental.getMovie().getTitle(); @@ -33,10 +44,6 @@ public void testGetTitle() { @Test public void testDaysRented() { - // given: - final Regular regular = new Regular("The Lord of the Ring"); - final int daysRentet = DAYS_RENTED; - final Rental rental = new Rental(regular, daysRentet); // when: final int actualResult = rental.getDaysRented(); From fc07e38de255d0c0c6812dfbdc524be6d900c39c Mon Sep 17 00:00:00 2001 From: NandoOU Date: Wed, 5 Jul 2017 18:59:30 +0000 Subject: [PATCH 21/26] Coding Exercises Refactored --- .../coding/Fernando/StringInv/StringInv.java | 1 + .../coding/Fernando/checkSum/CheckSum.java | 24 ++++++++++++------- .../Fernando/evaporator/Evaporator.java | 1 - .../coding/Fernando/movies/Customer.java | 10 ++++---- .../coding/Fernando/multiples/Multiples.java | 2 +- .../{PromTest.java => AverageTest.java} | 4 ++-- .../Fernando/checkSum/CheckSumTest.java | 23 +++++++++++------- .../haghestandlowest/HighAndLowTest.java | 16 +++++++++++++ .../coding/Fernando/movies/CustomerTest.java | 21 ++++++++++++++++ .../Fernando/multiples/MultiplesTest.java | 16 +++++++++++++ 10 files changed, 92 insertions(+), 26 deletions(-) rename src/test/java/org/fundacionjala/coding/Fernando/average/{PromTest.java => AverageTest.java} (98%) diff --git a/src/main/java/org/fundacionjala/coding/Fernando/StringInv/StringInv.java b/src/main/java/org/fundacionjala/coding/Fernando/StringInv/StringInv.java index 918c12f..917b642 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/StringInv/StringInv.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/StringInv/StringInv.java @@ -7,6 +7,7 @@ * @version (a version number or a date) */ public final class StringInv { + static final int CANT_MAJOR = 5; /** diff --git a/src/main/java/org/fundacionjala/coding/Fernando/checkSum/CheckSum.java b/src/main/java/org/fundacionjala/coding/Fernando/checkSum/CheckSum.java index 2d49237..50bb16c 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/checkSum/CheckSum.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/checkSum/CheckSum.java @@ -6,7 +6,7 @@ * @author (your name) * @version (a version number or a date) */ -public class CheckSum { +public final class CheckSum { static final int THREE = 3; static final int ONE = 1; static final int TEN = 10; @@ -15,26 +15,34 @@ public class CheckSum { static final int ZERO = 0; static final int SIZEVALUE = 13; + /** + * Constructor checksum. + */ + private CheckSum() { + + } + /** * @param value data. * @return boolean of cant values. */ - public boolean canValues(final String value) { + public static boolean canValues(final String value) { int sum = ZERO; if (value.length() != SIZEVALUE) { return false; } - for (int i = ONE; i < value.length(); i++) { - int num = Character.getNumericValue(value.charAt(i - 1)); - sum += i % 2 == 0 ? num * THREE : num; - } - return validNum(sum) == Character.getNumericValue(value.charAt(value.length() - 1)); + for (int i = ONE; i < value.length(); i++) { + int num = Character.getNumericValue(value.charAt(i - 1)); + sum += i % 2 == 0 ? num * THREE : num; + } + return validNum(sum) == Character.getNumericValue(value.charAt(value.length() - 1)); } + /** * @param sum of values. * @return int of number valid. */ - public int validNum(final int sum) { + public static int validNum(final int sum) { int result = sum % TEN; return result != 0 ? TEN - result : 0; diff --git a/src/main/java/org/fundacionjala/coding/Fernando/evaporator/Evaporator.java b/src/main/java/org/fundacionjala/coding/Fernando/evaporator/Evaporator.java index b6e6d71..80733b1 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/evaporator/Evaporator.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/evaporator/Evaporator.java @@ -5,7 +5,6 @@ */ public abstract class Evaporator { - private static final double PORCENTAGE = 100; /** diff --git a/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java b/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java index e3fbb56..73e4cc7 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java @@ -38,13 +38,13 @@ public String getName() { */ public String generateDetail() { StringBuffer result = new StringBuffer(); - result.append(String.format("Rental Record for %s%n", getName())); + result.append("Rental Record for " + getName() + "\n"); for (Rental rental : rentalsCustomer) { - result.append(String.format("%s\t%s%n", rental.getMovie().getTitle(), - rental.calculateAmount())); + result.append("\t" + rental.getMovie().getTitle() + "\t"); + result.append(rental.calculateAmount() + "\n"); } - result.append(String.format("Amount owed is %f", calculateTotalAmount())); - result.append(String.format("You earned %d frequent renter points", calculateTotalFrequentRenterPoints())); + result.append("Amount owed is " + calculateTotalAmount() + "\n"); + result.append("You earned " + calculateTotalFrequentRenterPoints() + " frequent renter points"); return result.toString(); } diff --git a/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java b/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java index 940d142..8928398 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java @@ -11,7 +11,7 @@ public abstract class Multiples { /** * Method Constructor. */ - Multiples() { + private Multiples() { } /** diff --git a/src/test/java/org/fundacionjala/coding/Fernando/average/PromTest.java b/src/test/java/org/fundacionjala/coding/Fernando/average/AverageTest.java similarity index 98% rename from src/test/java/org/fundacionjala/coding/Fernando/average/PromTest.java rename to src/test/java/org/fundacionjala/coding/Fernando/average/AverageTest.java index a67ab95..ae246b9 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/average/PromTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/average/AverageTest.java @@ -8,12 +8,12 @@ import static org.junit.Assert.assertEquals; /** - * The test class PromTest. + * The test class AverageTest. * * @author (your name) * @version (a version number or a date) */ -public class PromTest { +public class AverageTest { private Average p; diff --git a/src/test/java/org/fundacionjala/coding/Fernando/checkSum/CheckSumTest.java b/src/test/java/org/fundacionjala/coding/Fernando/checkSum/CheckSumTest.java index 5415cb3..b7d6d31 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/checkSum/CheckSumTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/checkSum/CheckSumTest.java @@ -1,8 +1,11 @@ package org.fundacionjala.coding.Fernando.checkSum; -import org.junit.Before; +import java.lang.reflect.Constructor; +import java.lang.reflect.Modifier; + import org.junit.Test; +import static junit.framework.TestCase.assertTrue; import static org.junit.Assert.assertEquals; /** @@ -13,14 +16,16 @@ */ public class CheckSumTest { - private CheckSum cs; - /** - * Create check sum. + * Test Constructor. + * @throws Exception if the constructor is not private. */ - @Before - public void checkSum() { - cs = new CheckSum(); + @Test + public void testCheckSumConstructorIsPrivate() throws Exception { + Constructor constructor = CheckSum.class.getDeclaredConstructor(); + assertTrue(Modifier.isPrivate(constructor.getModifiers())); + constructor.setAccessible(true); + constructor.newInstance(); } /** @@ -33,7 +38,7 @@ public void testWhenSentenceISEmpty() { final String sentence = "4003301018398"; // when: - final boolean actualResult = cs.canValues(sentence); + final boolean actualResult = CheckSum.canValues(sentence); // then final boolean expectedResult = true; @@ -50,7 +55,7 @@ public void testWhenSentenceHasMoreThanOneWordMajorThatFive() { final String sentence = "1234567890200"; // when: - final boolean actualResult = cs.canValues(sentence); + final boolean actualResult = CheckSum.canValues(sentence); // then final boolean expectedResult = false; diff --git a/src/test/java/org/fundacionjala/coding/Fernando/haghestandlowest/HighAndLowTest.java b/src/test/java/org/fundacionjala/coding/Fernando/haghestandlowest/HighAndLowTest.java index 03c63a0..92902b5 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/haghestandlowest/HighAndLowTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/haghestandlowest/HighAndLowTest.java @@ -1,7 +1,11 @@ package org.fundacionjala.coding.Fernando.haghestandlowest; +import java.lang.reflect.Constructor; +import java.lang.reflect.Modifier; + import org.junit.Test; +import static junit.framework.TestCase.assertTrue; import static org.hamcrest.core.Is.is; import static org.junit.Assert.assertThat; @@ -10,6 +14,18 @@ */ public class HighAndLowTest { + /** + * Test Constructor. + * @throws Exception if the constructor is not private. + */ + @Test + public void testHighAndLowConstructorIsPrivate() throws Exception { + Constructor constructor = HighAndLow.class.getDeclaredConstructor(); + assertTrue(Modifier.isPrivate(constructor.getModifiers())); + constructor.setAccessible(true); + constructor.newInstance(); + } + /** * Some Test. */ diff --git a/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java b/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java index 9a01191..c1a21b8 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java @@ -57,4 +57,25 @@ public void testMovieWhenDayRentedISLessForChildren() { assertEquals(PRICE_MINOR, actualResult, 0); } + /** + * Test customer class. + */ + @Test + public void testCustomer() { + // given + customer.addRental(new Rental(new NewRelease("Moana"), 2)); + customer.addRental(new Rental(new Regular("Titanic"), 1)); + + // when + final String actualResult = customer.generateDetail(); + + // then + final String expectedResult = "Rental Record for Fernando\n" + + "\tMoana\t6.0\n" + + "\tTitanic\t2.0\n" + + "Amount owed is 8.0\n" + + "You earned 3 frequent renter points"; + assertEquals(actualResult, expectedResult); + } + } diff --git a/src/test/java/org/fundacionjala/coding/Fernando/multiples/MultiplesTest.java b/src/test/java/org/fundacionjala/coding/Fernando/multiples/MultiplesTest.java index d353345..0d63c75 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/multiples/MultiplesTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/multiples/MultiplesTest.java @@ -1,7 +1,11 @@ package org.fundacionjala.coding.Fernando.multiples; +import java.lang.reflect.Constructor; +import java.lang.reflect.Modifier; + import org.junit.Test; +import static junit.framework.TestCase.assertTrue; import static org.junit.Assert.assertEquals; /** @@ -11,6 +15,18 @@ public class MultiplesTest { private static final int TWENTY_THREE = 23; private static final int TEN = 10; + + /** + * Test Constructor. + * @throws Exception if the constructor is not private. + */ + @Test + public void testMultiplesConstructorIsPrivate() throws Exception { + Constructor constructor = Multiples.class.getDeclaredConstructor(); + assertTrue(Modifier.isPrivate(constructor.getModifiers())); + constructor.setAccessible(true); + } + /** * Test multiples. */ From 5686de42c3546641955b0ad20e33193db5d23dfb Mon Sep 17 00:00:00 2001 From: NandoOU Date: Thu, 6 Jul 2017 23:23:51 -0400 Subject: [PATCH 22/26] Coding Refactored --- coding.iml | 2 +- .../coding/Fernando/StringInv/StringInv.java | 4 ++-- .../coding/Fernando/bankOCR/BankOCR.java | 3 +-- .../coding/Fernando/movies/Children.java | 3 ++- .../coding/Fernando/movies/Customer.java | 12 +++++------ .../coding/Fernando/average/AverageTest.java | 16 +++++++------- .../coding/Fernando/bankOCR/BankOCRTest.java | 12 +++++------ .../Fernando/checkSum/CheckSumTest.java | 10 +++------ .../coding/Fernando/movies/ChildrenTest.java | 6 +++--- .../coding/Fernando/movies/CustomerTest.java | 21 ++++++++++++------- 10 files changed, 46 insertions(+), 43 deletions(-) diff --git a/coding.iml b/coding.iml index 96d565b..624a7fa 100644 --- a/coding.iml +++ b/coding.iml @@ -1,4 +1,4 @@ - + diff --git a/src/main/java/org/fundacionjala/coding/Fernando/StringInv/StringInv.java b/src/main/java/org/fundacionjala/coding/Fernando/StringInv/StringInv.java index 917b642..2d10035 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/StringInv/StringInv.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/StringInv/StringInv.java @@ -8,7 +8,7 @@ */ public final class StringInv { - static final int CANT_MAJOR = 5; + static final int MAJOR_FIVE_LETTERS = 5; /** * @param text param. @@ -18,7 +18,7 @@ public String stringInv(final String text) { int pos = 0; String[] parts = text.split(" "); while (pos < parts.length) { - if (parts[pos].length() > CANT_MAJOR) { + if (parts[pos].length() > MAJOR_FIVE_LETTERS) { parts[pos] = new StringBuilder(parts[pos]).reverse().toString(); } pos++; diff --git a/src/main/java/org/fundacionjala/coding/Fernando/bankOCR/BankOCR.java b/src/main/java/org/fundacionjala/coding/Fernando/bankOCR/BankOCR.java index 67e714b..1acee84 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/bankOCR/BankOCR.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/bankOCR/BankOCR.java @@ -94,8 +94,7 @@ public static String parseDigit(final String[] cad) { String res = ""; StringBuilder value = new StringBuilder(); for (String data : cad) { - String key = getMapKey(data); - res = value.append(key).toString(); + res = value.append(getMapKey(data)).toString(); } return res; diff --git a/src/main/java/org/fundacionjala/coding/Fernando/movies/Children.java b/src/main/java/org/fundacionjala/coding/Fernando/movies/Children.java index 4fa0b4a..950fc03 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/movies/Children.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/movies/Children.java @@ -6,6 +6,7 @@ public class Children extends Movie { private static final int LIMITNEWCHILD = 3; private static final double PRICE = 1.5; + private static final int RENT_ONE_DAY = 1; /** * @param title param. @@ -33,6 +34,6 @@ public double calculateAmount(final int daysRented) { */ @Override public int calculateFrequentRenterPoints(final int daysRented) { - return 1; + return RENT_ONE_DAY; } } diff --git a/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java b/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java index 73e4cc7..be257cb 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/movies/Customer.java @@ -37,14 +37,14 @@ public String getName() { * @return the string. */ public String generateDetail() { - StringBuffer result = new StringBuffer(); - result.append("Rental Record for " + getName() + "\n"); + StringBuilder result = new StringBuilder(); + result.append(String.format("Rental Record for %s %n", getName())); for (Rental rental : rentalsCustomer) { - result.append("\t" + rental.getMovie().getTitle() + "\t"); - result.append(rental.calculateAmount() + "\n"); + result.append(String.format("\t %s \t", rental.getMovie().getTitle())); + result.append(String.format("%f %n", rental.calculateAmount())); } - result.append("Amount owed is " + calculateTotalAmount() + "\n"); - result.append("You earned " + calculateTotalFrequentRenterPoints() + " frequent renter points"); + result.append(String.format("Amount owed is %f %n", calculateTotalAmount())); + result.append(String.format("You earned %d frequent renter points", calculateTotalFrequentRenterPoints())); return result.toString(); } diff --git a/src/test/java/org/fundacionjala/coding/Fernando/average/AverageTest.java b/src/test/java/org/fundacionjala/coding/Fernando/average/AverageTest.java index ae246b9..592720a 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/average/AverageTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/average/AverageTest.java @@ -15,14 +15,14 @@ */ public class AverageTest { - private Average p; + private Average average; /** * Create average. */ @Before public void average() { - p = new Average(); + average = new Average(); } /** * Test to get the prom when we have 5 elements. @@ -34,7 +34,7 @@ public void testPromWhenHave5Elements() { final int[] num = {2, 2, 2, 2, 2}; // when: - final double[] actualResult = p.average(num); + final double[] actualResult = average.average(num); // then: final double[] expectedResult = {2.0, 2.0, 2.0, 2.0}; @@ -52,7 +52,7 @@ public void testPromWhenHaveDifferentData() { final int[] num = {1, 3, 5, 1, -10}; // when: - final double[] actualResult = p.average(num); + final double[] actualResult = average.average(num); // then: final double[] expectedResult = {2.0, 4.0, 3.0, -4.5}; @@ -69,7 +69,7 @@ public void testPromWhenHaveTheSameData() { final int[] num = {2, -2, 2, -2, 2}; // when: - final double[] actualResult = p.average(num); + final double[] actualResult = average.average(num); // then: final double[] expectedResult = {0.0, 0.0, 0.0, 0.0}; @@ -86,7 +86,7 @@ public void testPromWhenTheArrayIsNull() { final int[] num = null; // when: - final double[] actualResult = p.average(num); + final double[] actualResult = average.average(num); // then: final double[] expectedResult = {}; @@ -103,7 +103,7 @@ public void testPromWhenTheArrayIsEmpty() { final int[] num = {}; // when: - final double[] actualResult = p.average(num); + final double[] actualResult = average.average(num); // then: final double[] expectedResult = {}; @@ -121,7 +121,7 @@ public void testPromWhenTheArrayHasOneElement() { final int[] num = {2}; // when: - final double[] actualResult = p.average(num); + final double[] actualResult = average.average(num); // then: final double[] expectedResult = {}; diff --git a/src/test/java/org/fundacionjala/coding/Fernando/bankOCR/BankOCRTest.java b/src/test/java/org/fundacionjala/coding/Fernando/bankOCR/BankOCRTest.java index 5668547..50288fe 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/bankOCR/BankOCRTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/bankOCR/BankOCRTest.java @@ -59,10 +59,10 @@ public void testToGetNumber() { }; // when: - String actualResult = BankOCR.parseDigit(data); + final String actualResult = BankOCR.parseDigit(data); // then: - String expectedResult = "0123456789"; + final String expectedResult = "0123456789"; assertEquals(expectedResult, actualResult); } @@ -89,10 +89,10 @@ public void testWithWrongNumbers() { }; // when: - String actualResult = BankOCR.parseDigit(data); + final String actualResult = BankOCR.parseDigit(data); // then: - String expectedResult = "09??5"; + final String expectedResult = "09??5"; assertEquals(expectedResult, actualResult); } @@ -120,10 +120,10 @@ public void testWithIncorrectDatas() { + " |", }; - String value = BankOCR.parseDigit(data); + final String value = BankOCR.parseDigit(data); // when: - boolean actualResult = BankOCR.validAccountNumbers(value); + final boolean actualResult = BankOCR.validAccountNumbers(value); // then: assertFalse(actualResult); diff --git a/src/test/java/org/fundacionjala/coding/Fernando/checkSum/CheckSumTest.java b/src/test/java/org/fundacionjala/coding/Fernando/checkSum/CheckSumTest.java index b7d6d31..da81461 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/checkSum/CheckSumTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/checkSum/CheckSumTest.java @@ -6,7 +6,7 @@ import org.junit.Test; import static junit.framework.TestCase.assertTrue; -import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; /** * The test class CheckSumTest. @@ -40,9 +40,7 @@ public void testWhenSentenceISEmpty() { // when: final boolean actualResult = CheckSum.canValues(sentence); - // then - final boolean expectedResult = true; - assertEquals(actualResult, expectedResult); + assertTrue(actualResult); } /** @@ -57,8 +55,6 @@ public void testWhenSentenceHasMoreThanOneWordMajorThatFive() { // when: final boolean actualResult = CheckSum.canValues(sentence); - // then - final boolean expectedResult = false; - assertEquals(actualResult, expectedResult); + assertFalse(actualResult); } } diff --git a/src/test/java/org/fundacionjala/coding/Fernando/movies/ChildrenTest.java b/src/test/java/org/fundacionjala/coding/Fernando/movies/ChildrenTest.java index c5f4384..cea2c6f 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/movies/ChildrenTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/movies/ChildrenTest.java @@ -31,7 +31,7 @@ public void testCalculateAmountWhenTheRentedDaysIsLessThanThree() { // then final double expectedResult = 1.5; - assertEquals(0, expectedResult, actualResult); + assertEquals(expectedResult, actualResult, 0); } /** @@ -44,8 +44,8 @@ public void testToCalculateRentMovieMoreThanThreeDays() { final double actualResult = movie.calculateAmount(10); // then: - final double expectedResult = 10.5; - assertEquals(0, expectedResult, actualResult); + final double expectedResult = 12.0; + assertEquals(expectedResult, actualResult, 0); } /** diff --git a/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java b/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java index c1a21b8..8ec3d98 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/movies/CustomerTest.java @@ -62,6 +62,11 @@ public void testMovieWhenDayRentedISLessForChildren() { */ @Test public void testCustomer() { + final double rentalAmountONe = 6.0; + final double rentalAmountTwo = 2.0; + final double rentalTotalAmount = 8.0; + final int earnedFrequentRenter = 3; + // given customer.addRental(new Rental(new NewRelease("Moana"), 2)); customer.addRental(new Rental(new Regular("Titanic"), 1)); @@ -70,12 +75,14 @@ public void testCustomer() { final String actualResult = customer.generateDetail(); // then - final String expectedResult = "Rental Record for Fernando\n" - + "\tMoana\t6.0\n" - + "\tTitanic\t2.0\n" - + "Amount owed is 8.0\n" - + "You earned 3 frequent renter points"; - assertEquals(actualResult, expectedResult); - } + StringBuilder expectedResult = new StringBuilder(); + expectedResult.append(String.format("Rental Record for %s %n", "Fernando")); + expectedResult.append(String.format("\t %s \t%f %n", "Moana", rentalAmountONe)); + expectedResult.append(String.format("\t %s \t%f %n", "Titanic", rentalAmountTwo)); + expectedResult.append(String.format("Amount owed is %f %n", rentalTotalAmount)); + expectedResult.append(String.format("You earned %d frequent renter points", earnedFrequentRenter)); + + assertEquals(expectedResult.toString(), actualResult); + } } From 5675732610ffb6b3d118adf5876b0bfa9ae9284f Mon Sep 17 00:00:00 2001 From: NandoOU Date: Fri, 7 Jul 2017 21:28:00 -0400 Subject: [PATCH 23/26] Coding Exercises Completed --- .../coding/Fernando/average/Average.java | 14 ++++++--- .../Fernando/evaporator/Evaporator.java | 10 ++++-- .../coding/Fernando/average/AverageTest.java | 31 +++++++++++-------- .../coding/Fernando/bankOCR/BankOCRTest.java | 17 ++++++++++ .../Fernando/checkSum/CheckSumTest.java | 15 +++++++++ .../Fernando/evaporator/EvaporatorTest.java | 15 +++++++++ 6 files changed, 83 insertions(+), 19 deletions(-) diff --git a/src/main/java/org/fundacionjala/coding/Fernando/average/Average.java b/src/main/java/org/fundacionjala/coding/Fernando/average/Average.java index 41a4b71..3526fb8 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/average/Average.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/average/Average.java @@ -6,18 +6,24 @@ * @author (your name) * @version (a version number or a date) */ -public class Average { +public final class Average { + + /** + * Constructor Average. + */ + private Average() { + } /** * @param num the method has a int value. * @return double value. */ - public double[] average(final int[] num) { + public static double[] average(final int[] num) { double[] res = {}; if (num != null && num.length != 0) { return average(num, 0); } - return res; + return res; } /** @@ -25,7 +31,7 @@ public double[] average(final int[] num) { * @param pos1 param. * @return double value. */ - private double[] average(final int[] num, final int pos1) { + private static double[] average(final int[] num, final int pos1) { double[] res = new double[num.length - 1]; for (int pos = 0; pos < num.length - 1; pos++) { double prom = (double) (num[pos] + num[pos + 1]) / 2; diff --git a/src/main/java/org/fundacionjala/coding/Fernando/evaporator/Evaporator.java b/src/main/java/org/fundacionjala/coding/Fernando/evaporator/Evaporator.java index 80733b1..d3db591 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/evaporator/Evaporator.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/evaporator/Evaporator.java @@ -8,9 +8,15 @@ public abstract class Evaporator { private static final double PORCENTAGE = 100; /** - * @param content the cant of gas. + * Constructor Evaporator. + */ + private Evaporator() { + } + + /** + * @param content the cant of gas. * @param evapPerDay PORCENTAGE_NUMBER of gas lost every day. - * @param limit of the gas. + * @param limit of the gas. * @return int report days the evaporator will be out of use. */ public static int evaporator(final double content, final double evapPerDay, final double limit) { diff --git a/src/test/java/org/fundacionjala/coding/Fernando/average/AverageTest.java b/src/test/java/org/fundacionjala/coding/Fernando/average/AverageTest.java index 592720a..38acd3f 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/average/AverageTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/average/AverageTest.java @@ -1,10 +1,12 @@ package org.fundacionjala.coding.Fernando.average; -import org.junit.Before; import org.junit.Test; +import java.lang.reflect.Constructor; +import java.lang.reflect.Modifier; import java.util.Arrays; +import static junit.framework.TestCase.assertTrue; import static org.junit.Assert.assertEquals; /** @@ -15,15 +17,18 @@ */ public class AverageTest { - private Average average; - /** - * Create average. + * Test Constructor. + * @throws Exception if the constructor is not private. */ - @Before - public void average() { - average = new Average(); + @Test + public void testAverageConstructorIsPrivate() throws Exception { + Constructor constructor = Average.class.getDeclaredConstructor(); + assertTrue(Modifier.isPrivate(constructor.getModifiers())); + constructor.setAccessible(true); + constructor.newInstance(); } + /** * Test to get the prom when we have 5 elements. */ @@ -34,7 +39,7 @@ public void testPromWhenHave5Elements() { final int[] num = {2, 2, 2, 2, 2}; // when: - final double[] actualResult = average.average(num); + final double[] actualResult = Average.average(num); // then: final double[] expectedResult = {2.0, 2.0, 2.0, 2.0}; @@ -52,7 +57,7 @@ public void testPromWhenHaveDifferentData() { final int[] num = {1, 3, 5, 1, -10}; // when: - final double[] actualResult = average.average(num); + final double[] actualResult = Average.average(num); // then: final double[] expectedResult = {2.0, 4.0, 3.0, -4.5}; @@ -69,7 +74,7 @@ public void testPromWhenHaveTheSameData() { final int[] num = {2, -2, 2, -2, 2}; // when: - final double[] actualResult = average.average(num); + final double[] actualResult = Average.average(num); // then: final double[] expectedResult = {0.0, 0.0, 0.0, 0.0}; @@ -86,7 +91,7 @@ public void testPromWhenTheArrayIsNull() { final int[] num = null; // when: - final double[] actualResult = average.average(num); + final double[] actualResult = Average.average(num); // then: final double[] expectedResult = {}; @@ -103,7 +108,7 @@ public void testPromWhenTheArrayIsEmpty() { final int[] num = {}; // when: - final double[] actualResult = average.average(num); + final double[] actualResult = Average.average(num); // then: final double[] expectedResult = {}; @@ -121,7 +126,7 @@ public void testPromWhenTheArrayHasOneElement() { final int[] num = {2}; // when: - final double[] actualResult = average.average(num); + final double[] actualResult = Average.average(num); // then: final double[] expectedResult = {}; diff --git a/src/test/java/org/fundacionjala/coding/Fernando/bankOCR/BankOCRTest.java b/src/test/java/org/fundacionjala/coding/Fernando/bankOCR/BankOCRTest.java index 50288fe..b37181e 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/bankOCR/BankOCRTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/bankOCR/BankOCRTest.java @@ -2,6 +2,10 @@ import org.junit.Test; +import java.lang.reflect.Constructor; +import java.lang.reflect.Modifier; + +import static junit.framework.TestCase.assertTrue; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -10,6 +14,18 @@ */ public class BankOCRTest { + /** + * Test Constructor. + * @throws Exception if the constructor is not private. + */ + @Test + public void testBankOCRConstructorIsPrivate() throws Exception { + Constructor constructor = BankOCR.class.getDeclaredConstructor(); + assertTrue(Modifier.isPrivate(constructor.getModifiers())); + constructor.setAccessible(true); + constructor.newInstance(); + } + /** * Test the number. */ @@ -144,5 +160,6 @@ public void testWithWrongDatas() { String expectedResult = "ERR"; assertEquals(expectedResult, actualResult); } + } diff --git a/src/test/java/org/fundacionjala/coding/Fernando/checkSum/CheckSumTest.java b/src/test/java/org/fundacionjala/coding/Fernando/checkSum/CheckSumTest.java index da81461..7666ce2 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/checkSum/CheckSumTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/checkSum/CheckSumTest.java @@ -57,4 +57,19 @@ public void testWhenSentenceHasMoreThanOneWordMajorThatFive() { assertFalse(actualResult); } + + /** + * Test when sentence has more than one word major that five. + */ + @Test + public void testWhenSentenceHasLessThanThrerteenWords() { + + // given: + final String sentence = "123456789"; + + // when: + final boolean actualResult = CheckSum.canValues(sentence); + + assertFalse(actualResult); + } } diff --git a/src/test/java/org/fundacionjala/coding/Fernando/evaporator/EvaporatorTest.java b/src/test/java/org/fundacionjala/coding/Fernando/evaporator/EvaporatorTest.java index 88c2fef..e749c48 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/evaporator/EvaporatorTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/evaporator/EvaporatorTest.java @@ -2,6 +2,10 @@ import org.junit.Test; +import java.lang.reflect.Constructor; +import java.lang.reflect.Modifier; + +import static junit.framework.TestCase.assertTrue; import static org.junit.Assert.assertEquals; /** @@ -9,6 +13,17 @@ */ public class EvaporatorTest { + /** + * Test Constructor. + * @throws Exception if the constructor is not private. + */ + @Test + public void testEvaporatorConstructorIsPrivate() throws Exception { + Constructor constructor = Evaporator.class.getDeclaredConstructor(); + assertTrue(Modifier.isPrivate(constructor.getModifiers())); + constructor.setAccessible(true); + } + /** * Test evaporator one. */ From 4fd56f01ae0c24034d0ce211d4856b74238ef685 Mon Sep 17 00:00:00 2001 From: NandoOU Date: Fri, 7 Jul 2017 22:15:56 -0400 Subject: [PATCH 24/26] Coding Exercises Completed --- .../coding/Fernando/StringInv/StringInv.java | 8 ++- .../Fernando/evaporator/Evaporator.java | 6 -- .../coding/Fernando/multiples/Multiples.java | 6 -- .../coding/Fernando/StringInv/CadInvTest.java | 26 +++++---- .../Fernando/evaporator/EvaporatorTest.java | 16 ----- .../Fernando/multiples/MultiplesTest.java | 58 ++++++++++++++----- 6 files changed, 68 insertions(+), 52 deletions(-) diff --git a/src/main/java/org/fundacionjala/coding/Fernando/StringInv/StringInv.java b/src/main/java/org/fundacionjala/coding/Fernando/StringInv/StringInv.java index 2d10035..e857b1b 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/StringInv/StringInv.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/StringInv/StringInv.java @@ -10,11 +10,17 @@ public final class StringInv { static final int MAJOR_FIVE_LETTERS = 5; + /** + * Constructor StringInv. + */ + private StringInv() { + } + /** * @param text param. * @return String param. */ - public String stringInv(final String text) { + public static String stringInv(final String text) { int pos = 0; String[] parts = text.split(" "); while (pos < parts.length) { diff --git a/src/main/java/org/fundacionjala/coding/Fernando/evaporator/Evaporator.java b/src/main/java/org/fundacionjala/coding/Fernando/evaporator/Evaporator.java index d3db591..158d9c4 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/evaporator/Evaporator.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/evaporator/Evaporator.java @@ -7,12 +7,6 @@ public abstract class Evaporator { private static final double PORCENTAGE = 100; - /** - * Constructor Evaporator. - */ - private Evaporator() { - } - /** * @param content the cant of gas. * @param evapPerDay PORCENTAGE_NUMBER of gas lost every day. diff --git a/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java b/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java index 8928398..ce35af8 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java @@ -8,12 +8,6 @@ public abstract class Multiples { public static final int FIVE = 5; private static final int THREE = 3; - /** - * Method Constructor. - */ - private Multiples() { - } - /** * The method get the sum of multiples of 3 and 5. * diff --git a/src/test/java/org/fundacionjala/coding/Fernando/StringInv/CadInvTest.java b/src/test/java/org/fundacionjala/coding/Fernando/StringInv/CadInvTest.java index c9153ec..0cbdcb2 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/StringInv/CadInvTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/StringInv/CadInvTest.java @@ -1,8 +1,11 @@ package org.fundacionjala.coding.Fernando.StringInv; -import org.junit.Before; +import org.junit.Assert; import org.junit.Test; +import java.lang.reflect.Constructor; +import java.lang.reflect.Modifier; + import static org.junit.Assert.assertEquals; /** @@ -13,16 +16,19 @@ */ public class CadInvTest { - private StringInv cadI; - /** - * SpinWord. + * Test Constructor. + * @throws Exception if the constructor is not private. */ - @Before - public void spinWord() { - cadI = new StringInv(); + @Test + public void testStringInv() throws Exception { + Constructor evaporatorConstructor = StringInv.class.getDeclaredConstructor(); + Assert.assertTrue(Modifier.isPrivate(evaporatorConstructor.getModifiers())); + evaporatorConstructor.setAccessible(true); + evaporatorConstructor.newInstance(); } + /** * Test when sentence is empty. */ @@ -33,7 +39,7 @@ public void testWhenSentenceIsEmpty() { final String sentence = ""; // when: - final String actualResult = cadI.stringInv(sentence); + final String actualResult = StringInv.stringInv(sentence); // then: final String expectedResult = ""; @@ -50,7 +56,7 @@ public void testWhenSentenceHasNoWordsMajorToFive() { final String sentence = "Hi guys how are you"; // when: - final String actualResult = cadI.stringInv(sentence); + final String actualResult = StringInv.stringInv(sentence); // then: final String expectedResult = "Hi guys how are you"; @@ -67,7 +73,7 @@ public void testWhenSentenceHasMoreThanOneWordMajorThatFive() { final String sentence = "Hey fellow warriors"; // when: - final String actualResult = cadI.stringInv(sentence); + final String actualResult = StringInv.stringInv(sentence); // then: final String expectedResult = "Hey wollef sroirraw"; diff --git a/src/test/java/org/fundacionjala/coding/Fernando/evaporator/EvaporatorTest.java b/src/test/java/org/fundacionjala/coding/Fernando/evaporator/EvaporatorTest.java index e749c48..63ef6d0 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/evaporator/EvaporatorTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/evaporator/EvaporatorTest.java @@ -1,11 +1,6 @@ package org.fundacionjala.coding.Fernando.evaporator; import org.junit.Test; - -import java.lang.reflect.Constructor; -import java.lang.reflect.Modifier; - -import static junit.framework.TestCase.assertTrue; import static org.junit.Assert.assertEquals; /** @@ -13,17 +8,6 @@ */ public class EvaporatorTest { - /** - * Test Constructor. - * @throws Exception if the constructor is not private. - */ - @Test - public void testEvaporatorConstructorIsPrivate() throws Exception { - Constructor constructor = Evaporator.class.getDeclaredConstructor(); - assertTrue(Modifier.isPrivate(constructor.getModifiers())); - constructor.setAccessible(true); - } - /** * Test evaporator one. */ diff --git a/src/test/java/org/fundacionjala/coding/Fernando/multiples/MultiplesTest.java b/src/test/java/org/fundacionjala/coding/Fernando/multiples/MultiplesTest.java index 0d63c75..f505fc5 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/multiples/MultiplesTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/multiples/MultiplesTest.java @@ -1,11 +1,7 @@ package org.fundacionjala.coding.Fernando.multiples; -import java.lang.reflect.Constructor; -import java.lang.reflect.Modifier; - import org.junit.Test; -import static junit.framework.TestCase.assertTrue; import static org.junit.Assert.assertEquals; /** @@ -16,22 +12,58 @@ public class MultiplesTest { private static final int TWENTY_THREE = 23; private static final int TEN = 10; + + /** + * Unit Test about multiples of 3 and 5. + * + * Test one. + */ + @Test + public void testOne() { + final int expectedResult = 23; + + final int actualResult = 10; + + assertEquals(expectedResult, Multiples.solution(actualResult)); + } + + /** + * Unit Test about multiples of 3 and 5. + * + * Test two. + */ + @Test + public void testTwo() { + final int expectedResult = 78; + + final int actualResult = 20; + + assertEquals(expectedResult, Multiples.solution(actualResult)); + } + /** - * Test Constructor. - * @throws Exception if the constructor is not private. + * Unit Test about multiples of 3 and 5. + * + * Test three. */ @Test - public void testMultiplesConstructorIsPrivate() throws Exception { - Constructor constructor = Multiples.class.getDeclaredConstructor(); - assertTrue(Modifier.isPrivate(constructor.getModifiers())); - constructor.setAccessible(true); + public void testThree() { + final int expectedResult = 9168; + + final int actualResult = 200; + + assertEquals(expectedResult, Multiples.solution(actualResult)); } /** - * Test multiples. + * Unit test if is zero. */ @Test - public void test() { - assertEquals(TWENTY_THREE, Multiples.solution(TEN)); + public void testFour() { + final int expectedResult = 0; + + final int actualResult = 0; + + assertEquals(expectedResult, Multiples.solution(actualResult)); } } From 8373efc7e607f56ee274f31223858bfbc8afc251 Mon Sep 17 00:00:00 2001 From: NandoOU Date: Fri, 7 Jul 2017 22:44:18 -0400 Subject: [PATCH 25/26] Coding Exercises Completed --- .../Fernando/evaporator/Evaporator.java | 27 +++-- .../coding/Fernando/multiples/Multiples.java | 20 ++-- .../{CadInvTest.java => StringInvTest.java} | 4 +- .../Fernando/evaporator/EvaporatorTest.java | 99 ++++++------------- .../Fernando/multiples/MultiplesTest.java | 35 ++++--- 5 files changed, 89 insertions(+), 96 deletions(-) rename src/test/java/org/fundacionjala/coding/Fernando/StringInv/{CadInvTest.java => StringInvTest.java} (96%) diff --git a/src/main/java/org/fundacionjala/coding/Fernando/evaporator/Evaporator.java b/src/main/java/org/fundacionjala/coding/Fernando/evaporator/Evaporator.java index 158d9c4..da1ff8a 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/evaporator/Evaporator.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/evaporator/Evaporator.java @@ -1,27 +1,34 @@ package org.fundacionjala.coding.Fernando.evaporator; /** - * Created by PC on 28/06/2017. + * Created by Administrator on 6/28/2017. */ -public abstract class Evaporator { +public final class Evaporator { - private static final double PORCENTAGE = 100; + private static final int PERCENTAGE_TOTAL = 100; /** - * @param content the cant of gas. - * @param evapPerDay PORCENTAGE_NUMBER of gas lost every day. - * @param limit of the gas. - * @return int report days the evaporator will be out of use. + * Constructor evaporator kata. */ + private Evaporator() { + } + + /** + * @param content content containing. + * @param evapPerDay evaporation day. + * @param limit limit. + * @return life of an evaporator containing gas. + */ + public static int evaporator(final double content, final double evapPerDay, final double limit) { int res = 0; double reduceConten = content; - double limitContent = content * limit / PORCENTAGE; + double limitContent = content * limit / PERCENTAGE_TOTAL; while (reduceConten >= limitContent) { - reduceConten = reduceConten - (reduceConten * evapPerDay / PORCENTAGE); + reduceConten = reduceConten - (reduceConten * evapPerDay / PERCENTAGE_TOTAL); res++; } return res; - } } + diff --git a/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java b/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java index ce35af8..bc120f5 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java @@ -9,14 +9,22 @@ public abstract class Multiples { private static final int THREE = 3; /** - * The method get the sum of multiples of 3 and 5. - * - * @param number to calculate the sum. - * @return int of the sum multiples of 3 and 5. + * Constructor. */ - public static int solution(final int number) { + + private Multiples() { + + } + + /** + * Found multiples of 3 and 5. + * @param num Quantity + * @return aux value multiples of 3 and 5. + */ + + public static int solution(final int num) { int res = 0; - for (int i = 0; i < number; i++) { + for (int i = 0; i < num; i++) { if (i % THREE == 0 || i % FIVE == 0) { res += i; } diff --git a/src/test/java/org/fundacionjala/coding/Fernando/StringInv/CadInvTest.java b/src/test/java/org/fundacionjala/coding/Fernando/StringInv/StringInvTest.java similarity index 96% rename from src/test/java/org/fundacionjala/coding/Fernando/StringInv/CadInvTest.java rename to src/test/java/org/fundacionjala/coding/Fernando/StringInv/StringInvTest.java index 0cbdcb2..bc01c51 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/StringInv/CadInvTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/StringInv/StringInvTest.java @@ -9,12 +9,12 @@ import static org.junit.Assert.assertEquals; /** - * The test class CadInvTest. + * The test class StringInvTest. * * @author (your name) * @version (a version number or a date) */ -public class CadInvTest { +public class StringInvTest { /** * Test Constructor. diff --git a/src/test/java/org/fundacionjala/coding/Fernando/evaporator/EvaporatorTest.java b/src/test/java/org/fundacionjala/coding/Fernando/evaporator/EvaporatorTest.java index 63ef6d0..e36b816 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/evaporator/EvaporatorTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/evaporator/EvaporatorTest.java @@ -1,7 +1,12 @@ package org.fundacionjala.coding.Fernando.evaporator; import org.junit.Test; + +import java.lang.reflect.Constructor; +import java.lang.reflect.Modifier; + import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; /** * Created by PC on 28/06/2017. @@ -9,120 +14,80 @@ public class EvaporatorTest { /** - * Test evaporator one. + * Test one. */ @Test public void testEvaporatorOne() { - - final int expectedResult = 22; - final double actualResult = 10; - - assertEquals(expectedResult, - Evaporator.evaporator(actualResult, actualResult, actualResult)); + assertEquals(22, Evaporator.evaporator(10, 10, 10)); } /** - * Test evaporator two. + * Test two. */ @Test public void testEvaporatorTwo() { - final int expectedResult = 29; - final double actualResultOne = 10; - final double actualResultTwo = 5; - - assertEquals(expectedResult, - Evaporator.evaporator(actualResultOne, actualResultOne, actualResultTwo)); + assertEquals(29, Evaporator.evaporator(10, 10, 5)); } /** - * Test evaporator three. + * Test three. */ @Test public void testEvaporatorThree() { - - final int expectedResult = 59; - final double actualResultOne = 100; - final double actualResultTwo = 5; - - assertEquals(expectedResult, - Evaporator.evaporator(actualResultOne, actualResultTwo, actualResultTwo)); + assertEquals(59, Evaporator.evaporator(100, 5, 5)); } /** - * Test evaporator four. + * Test four. */ @Test public void testEvaporatorFour() { - - final int expectedResult = 37; - final double actualResultOne = 50; - final double actualResultTwo = 12; - final double actualResultThre = 1; - - assertEquals(expectedResult, - Evaporator.evaporator(actualResultOne, actualResultTwo, actualResultThre)); + assertEquals(37, Evaporator.evaporator(50, 12, 1)); } /** - * Test evaporator five. + * Test five. */ @Test public void testEvaporatorFive() { - - final int expectedResult = 31; - final double actualResultOne = 4; - final double actualResultTwo = 8; - final double actualResultThre = 8; - - assertEquals(expectedResult, - Evaporator.evaporator(actualResultOne, actualResultTwo, actualResultThre)); + assertEquals(31, Evaporator.evaporator(47.5, 8, 8)); } /** - * Test evaporator six. + * Test six. */ @Test public void testEvaporatorSix() { - - final int expectedResult = 459; - final double actualResultOne = 100; - final double actualResultTwo = 1; - final double actualResultThre = 1; - - assertEquals(expectedResult, - Evaporator.evaporator(actualResultOne, actualResultTwo, actualResultThre)); + assertEquals(459, Evaporator.evaporator(100, 1, 1)); } /** - * Test evaporator seven. + * Test seven. */ @Test public void testEvaporatorSeven() { - - final int expectedResult = 459; - final double actualResultOne = 10; - final double actualResultTwo = 1; - final double actualResultThre = 1; - - assertEquals(expectedResult, - Evaporator.evaporator(actualResultOne, actualResultTwo, actualResultThre)); + assertEquals(459, Evaporator.evaporator(10, 1, 1)); } /** - * Test evaporator eight. + * Test eight. */ @Test public void testEvaporatorEight() { - - final int expectedResult = 299; - final double actualResultOne = 100; - final double actualResultTwo = 1; - final double actualResultThre = 5; - - assertEquals(expectedResult, - Evaporator.evaporator(actualResultOne, actualResultTwo, actualResultThre)); + assertEquals(299, Evaporator.evaporator(100, 1, 5)); } + /** + * Test constructor. + * @throws Exception exception. + */ + @Test + public void testConstructorIsPrivate() throws Exception { + Constructor constructor = Evaporator.class.getDeclaredConstructor(); + assertTrue(Modifier.isPrivate(constructor.getModifiers())); + constructor.setAccessible(true); + constructor.newInstance(); + } } diff --git a/src/test/java/org/fundacionjala/coding/Fernando/multiples/MultiplesTest.java b/src/test/java/org/fundacionjala/coding/Fernando/multiples/MultiplesTest.java index f505fc5..0d8f9e0 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/multiples/MultiplesTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/multiples/MultiplesTest.java @@ -1,17 +1,30 @@ package org.fundacionjala.coding.Fernando.multiples; +import org.fundacionjala.coding.pablo.MultiplesThreeAndFive.Multiples; import org.junit.Test; +import java.lang.reflect.Constructor; +import java.lang.reflect.Modifier; + import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; /** * Created by PC on 03/07/2017. */ public class MultiplesTest { - private static final int TWENTY_THREE = 23; - private static final int TEN = 10; - + /** + * Test constructor. + * @throws Exception exception. + */ + @Test + public void testConstructorIsPrivate() throws Exception { + Constructor constructor = Multiples.class.getDeclaredConstructor(); + assertTrue(Modifier.isPrivate(constructor.getModifiers())); + constructor.setAccessible(true); + constructor.newInstance(); + } /** * Unit Test about multiples of 3 and 5. @@ -22,9 +35,9 @@ public class MultiplesTest { public void testOne() { final int expectedResult = 23; - final int actualResult = 10; + final int expectedVariable = 10; - assertEquals(expectedResult, Multiples.solution(actualResult)); + assertEquals(expectedResult, Multiples.solution(expectedVariable)); } /** @@ -36,9 +49,9 @@ public void testOne() { public void testTwo() { final int expectedResult = 78; - final int actualResult = 20; + final int expectedVariable = 20; - assertEquals(expectedResult, Multiples.solution(actualResult)); + assertEquals(expectedResult, Multiples.solution(expectedVariable)); } /** @@ -50,9 +63,9 @@ public void testTwo() { public void testThree() { final int expectedResult = 9168; - final int actualResult = 200; + final int expectedVariable = 200; - assertEquals(expectedResult, Multiples.solution(actualResult)); + assertEquals(expectedResult, Multiples.solution(expectedVariable)); } /** @@ -62,8 +75,8 @@ public void testThree() { public void testFour() { final int expectedResult = 0; - final int actualResult = 0; + final int expectedVariable = 0; - assertEquals(expectedResult, Multiples.solution(actualResult)); + assertEquals(expectedResult, Multiples.solution(expectedVariable)); } } From 846170224a5a297c605e0fadeaa95cd47f9e6c10 Mon Sep 17 00:00:00 2001 From: NandoOU Date: Fri, 7 Jul 2017 23:01:19 -0400 Subject: [PATCH 26/26] Coding Exercises Completed --- .../coding/Fernando/multiples/Multiples.java | 9 +++---- .../Fernando/multiples/MultiplesTest.java | 25 +++++++++---------- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java b/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java index bc120f5..ebe2b9e 100644 --- a/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java +++ b/src/main/java/org/fundacionjala/coding/Fernando/multiples/Multiples.java @@ -3,7 +3,7 @@ /** * Created by PC on 24/06/2017. */ -public abstract class Multiples { +public final class Multiples { public static final int FIVE = 5; private static final int THREE = 3; @@ -11,15 +11,12 @@ public abstract class Multiples { /** * Constructor. */ - private Multiples() { - } /** - * Found multiples of 3 and 5. - * @param num Quantity - * @return aux value multiples of 3 and 5. + * @param num parameter. + * @return int value multiples of 3 and 5. */ public static int solution(final int num) { diff --git a/src/test/java/org/fundacionjala/coding/Fernando/multiples/MultiplesTest.java b/src/test/java/org/fundacionjala/coding/Fernando/multiples/MultiplesTest.java index 0d8f9e0..4ec7a96 100644 --- a/src/test/java/org/fundacionjala/coding/Fernando/multiples/MultiplesTest.java +++ b/src/test/java/org/fundacionjala/coding/Fernando/multiples/MultiplesTest.java @@ -1,6 +1,5 @@ package org.fundacionjala.coding.Fernando.multiples; -import org.fundacionjala.coding.pablo.MultiplesThreeAndFive.Multiples; import org.junit.Test; import java.lang.reflect.Constructor; @@ -14,18 +13,6 @@ */ public class MultiplesTest { - /** - * Test constructor. - * @throws Exception exception. - */ - @Test - public void testConstructorIsPrivate() throws Exception { - Constructor constructor = Multiples.class.getDeclaredConstructor(); - assertTrue(Modifier.isPrivate(constructor.getModifiers())); - constructor.setAccessible(true); - constructor.newInstance(); - } - /** * Unit Test about multiples of 3 and 5. * @@ -79,4 +66,16 @@ public void testFour() { assertEquals(expectedResult, Multiples.solution(expectedVariable)); } + + /** + * Test constructor. + * @throws Exception exception. + */ + @Test + public void testConstructorIsPrivate() throws Exception { + Constructor constructor = Multiples.class.getDeclaredConstructor(); + assertTrue(Modifier.isPrivate(constructor.getModifiers())); + constructor.setAccessible(true); + constructor.newInstance(); + } }