diff --git a/.circleci/config.yml.txt b/.circleci/config.yml.txt new file mode 100644 index 0000000..d095d5b --- /dev/null +++ b/.circleci/config.yml.txt @@ -0,0 +1,41 @@ +# Java Maven CircleCI 2.0 configuration file +# +# Check https://circleci.com/docs/2.0/language-java/ for more details +# +version: 2 +jobs: + build: + docker: + # specify the version you desire here + - image: circleci/openjdk:8-jdk + + # Specify service dependencies here if necessary + # CircleCI maintains a library of pre-built images + # documented at https://circleci.com/docs/2.0/circleci-images/ + # - image: circleci/postgres:9.4 + + working_directory: ~/repo + + environment: + # Customize the JVM maximum heap limit + MAVEN_OPTS: -Xmx3200m + + steps: + - checkout + + # Download and cache dependencies + - restore_cache: + keys: + - v1-dependencies-{{ checksum "pom.xml" }} + # fallback to using the latest cache if no exact match is found + - v1-dependencies- + + - run: mvn dependency:go-offline + + - save_cache: + paths: + - ~/.m2 + key: v1-dependencies-{{ checksum "pom.xml" }} + + # run tests! + - run: mvn integration-test diff --git a/pom.xml b/pom.xml index a6da30f..cf88bb6 100644 --- a/pom.xml +++ b/pom.xml @@ -1,18 +1,39 @@ - - 4.0.0 - edu.isaacVazquez.advancedjava - isaacVazquez-app - jar - 1.0-SNAPSHOT - isaacVazquez-app - http://maven.apache.org - - - junit - junit - 3.8.1 - test - - - + +4.0.0 +uml.edu.isaacVazquez +java_class +jar +1.0 +1 +http://maven.apache.org + +UTF-8 + + + + +org.apache.maven.plugins +maven-compiler-plugin +3.1 + +-Xlint +${project.build.sourceEncoding} +1.9 +1.9 + + + + + + + +junit +junit +4.12 +test + + + \ No newline at end of file diff --git a/src/main/java/edu/isaacVazquez/advancedjava/App.java b/src/main/java/edu/isaacVazquez/advancedjava/App.java deleted file mode 100644 index ae9a2ff..0000000 --- a/src/main/java/edu/isaacVazquez/advancedjava/App.java +++ /dev/null @@ -1,13 +0,0 @@ -package edu.isaacVazquez.advancedjava; - -/** - * Hello world! - * - */ -public class App -{ - public static void main( String[] args ) - { - System.out.println( "Hello World!" ); - } -} diff --git a/src/main/java/edu/isaacVazquez/advancedjava/Subscription.java b/src/main/java/edu/isaacVazquez/advancedjava/Subscription.java new file mode 100644 index 0000000..1280a6a --- /dev/null +++ b/src/main/java/edu/isaacVazquez/advancedjava/Subscription.java @@ -0,0 +1,25 @@ +package com.company; + + public class Subscription { + private int price ; // subscription total price in euro + private int length ; // length of subscription in months + // constructor : + public Subscription(int price, int length) { + this.price = price ; + this.length = length ; + } + /** + * Calculate the monthly subscription price in euro, + * rounded up to the nearest cent. + */ + public double pricePerMonth() { + return (double) price / (double) length; + } + /** + * Call this to cancel/nulify this subscription. + */ + public void cancel() { length = 0 ; } + public static void main(String[] args) { + + } + } diff --git a/src/main/java/edu/isaacVazquez/advancedjava/WK2 b/src/main/java/edu/isaacVazquez/advancedjava/WK2 new file mode 160000 index 0000000..3de5628 --- /dev/null +++ b/src/main/java/edu/isaacVazquez/advancedjava/WK2 @@ -0,0 +1 @@ +Subproject commit 3de562854e5a6f99069b8e188a3b95f6b3b655c0 diff --git a/src/main/java/edu/isaacVazquez/advancedjava/WK3/StockService/.idea/libraries/Arquillian_JUnit_Latest.xml b/src/main/java/edu/isaacVazquez/advancedjava/WK3/StockService/.idea/libraries/Arquillian_JUnit_Latest.xml new file mode 100644 index 0000000..7eeebc5 --- /dev/null +++ b/src/main/java/edu/isaacVazquez/advancedjava/WK3/StockService/.idea/libraries/Arquillian_JUnit_Latest.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/edu/isaacVazquez/advancedjava/WK3/StockService/.idea/misc.xml b/src/main/java/edu/isaacVazquez/advancedjava/WK3/StockService/.idea/misc.xml new file mode 100644 index 0000000..bfbb0ff --- /dev/null +++ b/src/main/java/edu/isaacVazquez/advancedjava/WK3/StockService/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/java/edu/isaacVazquez/advancedjava/WK3/StockService/.idea/modules.xml b/src/main/java/edu/isaacVazquez/advancedjava/WK3/StockService/.idea/modules.xml new file mode 100644 index 0000000..dc25175 --- /dev/null +++ b/src/main/java/edu/isaacVazquez/advancedjava/WK3/StockService/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/main/java/edu/isaacVazquez/advancedjava/WK3/StockService/.idea/uiDesigner.xml b/src/main/java/edu/isaacVazquez/advancedjava/WK3/StockService/.idea/uiDesigner.xml new file mode 100644 index 0000000..e96534f --- /dev/null +++ b/src/main/java/edu/isaacVazquez/advancedjava/WK3/StockService/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/edu/isaacVazquez/advancedjava/WK3/StockService/.idea/workspace.xml b/src/main/java/edu/isaacVazquez/advancedjava/WK3/StockService/.idea/workspace.xml new file mode 100644 index 0000000..f66ff34 --- /dev/null +++ b/src/main/java/edu/isaacVazquez/advancedjava/WK3/StockService/.idea/workspace.xml @@ -0,0 +1,611 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + DEFINITION_ORDER + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1537135588902 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No facets are configured + + + + + + + + + + + + + + + 10 + + + + + + + + StockService + + + + + + + + 10 + + + + + + + + Arquillian JUnit:Latest + + + + + + + + \ No newline at end of file diff --git a/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/StockService.iml b/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/StockService.iml new file mode 100644 index 0000000..929a295 --- /dev/null +++ b/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/StockService.iml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/BasicStockService.java b/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/BasicStockService.java new file mode 100644 index 0000000..e9dd04e --- /dev/null +++ b/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/BasicStockService.java @@ -0,0 +1,30 @@ +package StockServices; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Calendar; +import java.util.List; + +public class BasicStockService implements StockService { + @Override + public StockQuote getQuote(String symbol) { + StockQuote Symbol = new StockQuote(); + Symbol.getQuote(symbol); + return Symbol; + } + + @Override + public List getQuote(String symbol, Calendar from, Calendar until) { + StockQuote Quote = new StockQuote(); + Quote.getQuote(symbol, from, until); + return new ArrayList<>(Arrays.asList(Quote)); + } + + @Override + public List getQuote(String symbol, Calendar from, Calendar until, Interval interval) { + StockQuote Quote = new StockQuote(); + Quote.getQuote(symbol, from, until, interval); + return new ArrayList<>(Arrays.asList(Quote)); + } +} + diff --git a/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/Interval.java b/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/Interval.java new file mode 100644 index 0000000..d85b50c --- /dev/null +++ b/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/Interval.java @@ -0,0 +1,26 @@ +package StockServices; + +public class Interval { + Week week; + public enum Week { + WK1, WK2, WK3, WK4 + } + + public Week selectWeek(String WEEK) { + switch (week) { + case WK1: + if (WEEK == "WK1"); + week = Week.WK1; + case WK2: + if (WEEK == "WK2"); + week = Week.WK2; + case WK3: + if (WEEK == "WK3"); + week = Week.WK3; + case WK4: + if (WEEK == "WK4"); + week = Week.WK4; + } + return week; + } +} diff --git a/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/StockQuote.java b/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/StockQuote.java new file mode 100644 index 0000000..a904d58 --- /dev/null +++ b/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/StockQuote.java @@ -0,0 +1,13 @@ +package StockServices; + +import java.util.Calendar; +import java.util.List; + +public class StockQuote extends StockServiceFactory implements StockService { + @Override + public StockQuote getQuote(String symbol) {return null;} + @Override + public List getQuote(String symbol, Calendar from, Calendar until) {return null;} + @Override + public List getQuote(String symbol, Calendar from, Calendar until, Interval interval) {return null;} +} diff --git a/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/StockQuoteApplication.java b/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/StockQuoteApplication.java new file mode 100644 index 0000000..893fdf1 --- /dev/null +++ b/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/StockQuoteApplication.java @@ -0,0 +1,37 @@ +package StockServices; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.Scanner; + +public class StockQuoteApplication { + public static void main(String[] args) throws ParseException { + StockServiceFactory SSF = new StockServiceFactory(); + Interval interval = new Interval(); + String symbol, startDate, endDate; + + Scanner input = new Scanner(System.in); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy MM dd HH:mm:ss"); + + symbol = "ABC"; + + startDate = "2018 01 01"; + Date fromDate = sdf.parse(startDate); + Calendar from = Calendar.getInstance(); + from.setTime(fromDate); + + endDate = "2018 01 07"; + Date toDate = sdf.parse(endDate); + Calendar until = Calendar.getInstance(); + until.setTime(toDate); + + String week = "WK1"; + + interval.selectWeek(week); + + SSF.getStockService(symbol, from, until, interval); + System.out.println(SSF); + } +} diff --git a/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/StockService.java b/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/StockService.java new file mode 100644 index 0000000..269ca2d --- /dev/null +++ b/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/StockService.java @@ -0,0 +1,39 @@ +package StockServices; + +import java.util.Calendar; +import java.util.List; + +public interface StockService { + /** + * Return the current price for a share of stock for the + * given symbol + * @param symbol the stock symbol of the company you want a + * quote for e.g. APPL for APPLE + * @return a BigDecimal instance + */ + StockQuote getQuote(String symbol); + /** + * Get a historical list of stock quotes for the provided + * symbol + * @param symbol the stock symbol to search for + * @param from the date of the first stock quote + * @param until the date of the last stock quote + * @return a list of StockQuote instan + ces. + * One for each day in the range specified. + */ + List getQuote(String symbol, Calendar from, Calendar until); + /** + * Get a historical list of stock quotes for the provide symbol + * This method will return one StockQuote per interval specified. + * + *@param symbol the stock symbol to search for + *@param from the date of the first stock quote + *@param until the date of the last stock quote + *@param interval ­ the number of StockQuotes to get. E.g. if Interval.DAILY was specified + *one StockQuote per day will be returned. + * + ​@return a list of StockQuote instances. One for each day in the range specified. + */ + List getQuote(String symbol, Calendar from, Calendar until, Interval interval); +} diff --git a/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/StockServiceFactory.java b/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/StockServiceFactory.java new file mode 100644 index 0000000..e37700a --- /dev/null +++ b/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/StockServiceFactory.java @@ -0,0 +1,15 @@ +package StockServices; + +import java.util.Calendar; +import java.util.List; + +public class StockServiceFactory extends BasicStockService{ + private StockQuote SQ; + public StockServiceFactory getStockService(String symbol, Calendar from, Calendar until, Interval interval){ + BasicStockService BSS = new BasicStockService(); + + SQ = (StockQuote) BSS.getQuote(symbol, from, until, interval); + return SQ; + /*returs stock service*/ + } +} diff --git a/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/StockServices.zip b/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/StockServices.zip new file mode 100644 index 0000000..13b02fc Binary files /dev/null and b/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/StockServices.zip differ diff --git a/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/StockTest.java b/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/StockTest.java new file mode 100644 index 0000000..bc12b8c --- /dev/null +++ b/src/main/java/edu/isaacVazquez/advancedjava/WK4/StockService/src/StockServices/StockTest.java @@ -0,0 +1,38 @@ +package StockServices; + +import org.junit.jupiter.api.Test; + +public class StockTest { + + @org.junit.jupiter.api.Test + void getQuote() { + } + + @org.junit.jupiter.api.Test + void getQuote1() { + } + + @org.junit.jupiter.api.Test + void getStockService() { + } + + @org.junit.jupiter.api.Test + void getQuote2() { + } + + @org.junit.jupiter.api.Test + void getQuote3() { + } + + @org.junit.jupiter.api.Test + void main() { + } + + @Test + void getQuote4() { + } + + @Test + void getQuote5() { + } +} diff --git a/src/test/java/edu/isaacVazquez/advancedjava/SubscriptionTest.java b/src/test/java/edu/isaacVazquez/advancedjava/SubscriptionTest.java new file mode 100644 index 0000000..add5b79 --- /dev/null +++ b/src/test/java/edu/isaacVazquez/advancedjava/SubscriptionTest.java @@ -0,0 +1,29 @@ +package com.company; + +import org.junit.*; +import static org.junit.Assert.*; + +public class SubscriptionTest { + /* @Test + public void testReturnEuro() { + Subscription S = new Subscription(200,2) ; + assertTrue(S.pricePerMonth() == 1.0) ; + }*/ + @Test + public void testReturnCents() { + Subscription S = new Subscription(200,2) ; + assertTrue(S.pricePerMonth() == 100) ; + } + /* @Test + public void testRoundUp() { + Subscription subscription = + new Subscription(200,3) ; + assertTrue(subscription.pricePerMonth() == 0.67) ; + }*/ + @Test + public void testNoRoundUp() { + Subscription subscription = + new Subscription(200,3) ; + assertTrue(subscription.pricePerMonth() != 0.67) ; + } +} \ No newline at end of file diff --git a/target/classes/com/company/Subscription.class b/target/classes/com/company/Subscription.class new file mode 100644 index 0000000..68f12b1 Binary files /dev/null and b/target/classes/com/company/Subscription.class differ diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..51f6529 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1 @@ +com\company\Subscription.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..9fdfbaf --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1 @@ +C:\java_class\src\main\java\edu\isaacVazquez\advancedjava\App.java diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..294949d --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst @@ -0,0 +1,2 @@ +edu\isaacVazquez\advancedjava\AppTest.class +com\company\SubscriptionTest.class diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..00e8e14 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst @@ -0,0 +1 @@ +C:\java_class\src\test\java\edu\isaacVazquez\advancedjava\AppTest.java diff --git a/target/surefire-reports/TEST-com.company.SubscriptionTest.xml b/target/surefire-reports/TEST-com.company.SubscriptionTest.xml new file mode 100644 index 0000000..4d823e2 --- /dev/null +++ b/target/surefire-reports/TEST-com.company.SubscriptionTest.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/surefire-reports/TEST-edu.isaacVazquez.advancedjava.AppTest.xml b/target/surefire-reports/TEST-edu.isaacVazquez.advancedjava.AppTest.xml new file mode 100644 index 0000000..d1d2741 --- /dev/null +++ b/target/surefire-reports/TEST-edu.isaacVazquez.advancedjava.AppTest.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/surefire-reports/com.company.SubscriptionTest.txt b/target/surefire-reports/com.company.SubscriptionTest.txt new file mode 100644 index 0000000..6a82cd9 --- /dev/null +++ b/target/surefire-reports/com.company.SubscriptionTest.txt @@ -0,0 +1,4 @@ +------------------------------------------------------------------------------- +Test set: com.company.SubscriptionTest +------------------------------------------------------------------------------- +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.103 sec diff --git a/target/surefire-reports/edu.isaacVazquez.advancedjava.AppTest.txt b/target/surefire-reports/edu.isaacVazquez.advancedjava.AppTest.txt new file mode 100644 index 0000000..bca10c7 --- /dev/null +++ b/target/surefire-reports/edu.isaacVazquez.advancedjava.AppTest.txt @@ -0,0 +1,4 @@ +------------------------------------------------------------------------------- +Test set: edu.isaacVazquez.advancedjava.AppTest +------------------------------------------------------------------------------- +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec diff --git a/target/test-classes/com/company/SubscriptionTest.class b/target/test-classes/com/company/SubscriptionTest.class new file mode 100644 index 0000000..9344f0a Binary files /dev/null and b/target/test-classes/com/company/SubscriptionTest.class differ diff --git a/target/test-classes/edu/isaacVazquez/advancedjava/AppTest.class b/target/test-classes/edu/isaacVazquez/advancedjava/AppTest.class new file mode 100644 index 0000000..68bda76 Binary files /dev/null and b/target/test-classes/edu/isaacVazquez/advancedjava/AppTest.class differ