From 787d806855d5bbd8335de6c826dbe5fd7af7acbe Mon Sep 17 00:00:00 2001 From: Brian Patterson Date: Fri, 29 Nov 2019 20:23:32 -0500 Subject: [PATCH 1/4] Started Lab --- pom.xml | 6 +++ src/main/java/models/Car.java | 73 +++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 src/main/java/models/Car.java diff --git a/pom.xml b/pom.xml index d97c43d..a4476fd 100644 --- a/pom.xml +++ b/pom.xml @@ -14,5 +14,11 @@ junit 4.10 + + mysql + mysql-connector-java + 5.1.6 + + \ No newline at end of file diff --git a/src/main/java/models/Car.java b/src/main/java/models/Car.java new file mode 100644 index 0000000..1442c1a --- /dev/null +++ b/src/main/java/models/Car.java @@ -0,0 +1,73 @@ +package models; + +public class Car { + private int id; + private String make; + private String model; + private int Year; + private String color; + private String vin; + + + public Car() { + this.id = 0; + this.make = + } + + public Car(int id, String make, String model, int year, String color, String vin) { + this.id = id; + this.make = make; + this.model = model; + Year = year; + this.color = color; + this.vin = vin; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getMake() { + return make; + } + + public void setMake(String make) { + this.make = make; + } + + public String getModel() { + return model; + } + + public void setModel(String model) { + this.model = model; + } + + public int getYear() { + return Year; + } + + public void setYear(int year) { + Year = year; + } + + public String getColor() { + return color; + } + + public void setColor(String color) { + this.color = color; + } + + public String getVin() { + return vin; + } + + public void setVin(String vin) { + this.vin = vin; + } +} From 505762d8ef265f96cfc7714c52b5da7674bd51ea Mon Sep 17 00:00:00 2001 From: Brian Patterson Date: Sat, 30 Nov 2019 12:40:09 -0500 Subject: [PATCH 2/4] initial commit --- .idea/compiler.xml | 1 + .idea/vcs.xml | 6 ++++++ src/main/java/daos/CarDao.java | 4 ++++ src/main/java/daos/Dao.java | 6 ++++++ 4 files changed, 17 insertions(+) create mode 100644 .idea/vcs.xml create mode 100644 src/main/java/daos/CarDao.java create mode 100644 src/main/java/daos/Dao.java diff --git a/.idea/compiler.xml b/.idea/compiler.xml index f006a55..9067f44 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -7,6 +7,7 @@ + diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/java/daos/CarDao.java b/src/main/java/daos/CarDao.java new file mode 100644 index 0000000..43c9d04 --- /dev/null +++ b/src/main/java/daos/CarDao.java @@ -0,0 +1,4 @@ +package daos; + +public class CarDao implements { +} diff --git a/src/main/java/daos/Dao.java b/src/main/java/daos/Dao.java new file mode 100644 index 0000000..aa2e953 --- /dev/null +++ b/src/main/java/daos/Dao.java @@ -0,0 +1,6 @@ +package daos; + +public interface Dao { + + +} From 3339ed34cb6652fea985d3544a79d4680a639b24 Mon Sep 17 00:00:00 2001 From: Brian Patterson Date: Tue, 3 Dec 2019 20:03:34 -0500 Subject: [PATCH 3/4] Completed Lab --- pom.xml | 2 +- src/main/java/daos/CarDTO.java | 7 ++ src/main/java/daos/CarDao.java | 100 +++++++++++++++++- src/main/java/daos/ConnectionFactory.java | 30 ++++++ src/main/java/daos/DTO.java | 5 + src/main/java/daos/Dao.java | 10 +- src/main/java/daos/Main.java | 0 src/main/java/models/Car.java | 3 +- target/classes/META-INF/jdbcdao.kotlin_module | Bin 0 -> 16 bytes target/classes/daos/CarDTO.class | Bin 0 -> 341 bytes target/classes/daos/CarDao.class | Bin 0 -> 2778 bytes target/classes/daos/ConnectionFactory.class | Bin 0 -> 1205 bytes target/classes/daos/DTO.class | Bin 0 -> 114 bytes target/classes/daos/Dao.class | Bin 0 -> 418 bytes target/classes/models/Car.class | Bin 0 -> 1695 bytes 15 files changed, 152 insertions(+), 5 deletions(-) create mode 100644 src/main/java/daos/CarDTO.java create mode 100644 src/main/java/daos/ConnectionFactory.java create mode 100644 src/main/java/daos/DTO.java create mode 100644 src/main/java/daos/Main.java create mode 100644 target/classes/META-INF/jdbcdao.kotlin_module create mode 100644 target/classes/daos/CarDTO.class create mode 100644 target/classes/daos/CarDao.class create mode 100644 target/classes/daos/ConnectionFactory.class create mode 100644 target/classes/daos/DTO.class create mode 100644 target/classes/daos/Dao.class create mode 100644 target/classes/models/Car.class diff --git a/pom.xml b/pom.xml index a4476fd..5f575f6 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,7 @@ mysql mysql-connector-java - 5.1.6 + 8.0.18 diff --git a/src/main/java/daos/CarDTO.java b/src/main/java/daos/CarDTO.java new file mode 100644 index 0000000..45c6f25 --- /dev/null +++ b/src/main/java/daos/CarDTO.java @@ -0,0 +1,7 @@ +package daos; + +public class CarDTO implements DTO { + public int getid() { + return 0; + } +} diff --git a/src/main/java/daos/CarDao.java b/src/main/java/daos/CarDao.java index 43c9d04..1efb516 100644 --- a/src/main/java/daos/CarDao.java +++ b/src/main/java/daos/CarDao.java @@ -1,4 +1,102 @@ package daos; -public class CarDao implements { +import com.sun.jdi.connect.Connector; +import models.Car; + +import java.sql.*; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class CarDao implements Dao { + public Car findCarByid(int id) { + Connection connection = ConnectionFactory.getConnection(); + try { + Statement stmt = connection.createStatement(); + ResultSet rs = stmt.executeQuery("SELECT * FROM Car2 WHERE id=" + id); + if (rs.next()) { + extractCarFromResultSet(rs); + } + } catch (SQLException ex) { + ex.printStackTrace(); + } + return null; + } + + + public List findAll() { + Connection connection = ConnectionFactory.getConnection(); + try { + Statement stmt = connection.createStatement(); + ResultSet rs = stmt.executeQuery("SELECT * FROM Car2"); + List cars = new ArrayList(); + while (rs.next()) { + Car car = extractCarFromResultSet(rs); + cars.add(car); + } + return cars; + } catch (SQLException ex) { + ex.printStackTrace(); + } + return null; + } + + public Boolean create(Car car) { + Connection connection = ConnectionFactory.getConnection(); + try { + PreparedStatement ps = connection.prepareStatement("INSERT INTO Car2 VALUES ( ?, ?, ?, ?, ?, ?)"); + ps.setInt(1, car.getId()); + ps.setString(2, car.getMake()); + ps.setString(3, car.getModel()); + ps.setInt(4, car.getYear()); + ps.setString(5,car.getVin()); + ps.setString(6,car.getColor()); + int i = ps.executeUpdate(); + if(i == 1) { + return true; + } + } catch (SQLException ex) { + ex.printStackTrace(); + } + return false; + } + + + public Boolean update(Car car) { + Connection connection = ConnectionFactory.getConnection(); + try { + PreparedStatement ps = connection.prepareStatement("UPDATE Car2 SET make=?, model=?, Year=?, vin=?, color=?, WHERE id=?)"); + + ps.setString(1, car.getMake()); + ps.setString(2, car.getModel()); + ps.setInt(3, car.getYear()); + ps.setString(4,car.getVin()); + ps.setString(5,car.getColor()); + ps.setInt(6, car.getId()); + int i = ps.executeUpdate(); + if(i == 1) { + return true; + } + } catch (SQLException ex) { + ex.printStackTrace(); + } + return false; + } + + + public Boolean delete(int id) { + return null; + } + + private Car extractCarFromResultSet(ResultSet rs) throws SQLException { + Car car = new Car(); + car.setId(rs.getInt("id")); + car.setMake(rs.getString("make")); + car.setModel(rs.getString("model")); + car.setColor(rs.getString("color")); + car.setYear(rs.getInt("Year")); + car.setVin(rs.getString("vin")); + return car; + } } diff --git a/src/main/java/daos/ConnectionFactory.java b/src/main/java/daos/ConnectionFactory.java new file mode 100644 index 0000000..47edd23 --- /dev/null +++ b/src/main/java/daos/ConnectionFactory.java @@ -0,0 +1,30 @@ +package daos; + + + +import com.mysql.cj.jdbc.Driver; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; + +public class ConnectionFactory { + public static final String URL = "jdbc:mysql://localhost:3306/cars"; + public static final String USER = "root"; + public static final String PASS = "zipcoder78"; + /** + * Get a connection to database + * @return Connection object + */ + public static Connection getConnection() { + try { + DriverManager.registerDriver(new Driver()); + return DriverManager.getConnection(URL, USER, PASS); + } catch (SQLException ex) { + throw new RuntimeException("Error connecting to the database", ex); + } + } + public static void main(String[] args) { + Connection connection = ConnectionFactory.getConnection(); + } +} diff --git a/src/main/java/daos/DTO.java b/src/main/java/daos/DTO.java new file mode 100644 index 0000000..dc55796 --- /dev/null +++ b/src/main/java/daos/DTO.java @@ -0,0 +1,5 @@ +package daos; + +public interface DTO { + int getid(); +} diff --git a/src/main/java/daos/Dao.java b/src/main/java/daos/Dao.java index aa2e953..cafe2e8 100644 --- a/src/main/java/daos/Dao.java +++ b/src/main/java/daos/Dao.java @@ -1,6 +1,14 @@ package daos; -public interface Dao { +import com.sun.org.apache.xpath.internal.operations.Bool; +import models.Car; +import java.util.List; +public interface Dao { + public T findCarByid(int id); + public List findAll(); + public T update(Car dto); + public T create(Car dto); + public T delete (int id); } diff --git a/src/main/java/daos/Main.java b/src/main/java/daos/Main.java new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/models/Car.java b/src/main/java/models/Car.java index 1442c1a..d9b5350 100644 --- a/src/main/java/models/Car.java +++ b/src/main/java/models/Car.java @@ -10,8 +10,7 @@ public class Car { public Car() { - this.id = 0; - this.make = + } public Car(int id, String make, String model, int year, String color, String vin) { diff --git a/target/classes/META-INF/jdbcdao.kotlin_module b/target/classes/META-INF/jdbcdao.kotlin_module new file mode 100644 index 0000000000000000000000000000000000000000..2983af70661ad375cc499ebc4da5a68ca46c532e GIT binary patch literal 16 RcmZQzU|?ooU|@t|egFVe02KfL literal 0 HcmV?d00001 diff --git a/target/classes/daos/CarDTO.class b/target/classes/daos/CarDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..3d65c61e24d6fc811bd5c9e089770b12473ae0fb GIT binary patch literal 341 zcmYk1K~KU!6oluslwtuv^bdGbW9-Enh6~2Tq>+P!`?lTSlG-Mv@T<6RBJto4;71u} z3sEjJnfK;<+1>wqeFJ#JRR9-#9~V9bJ}w2#CzG3MByewTXM)DKNVT9BnOwiEK4V=@ zRh)4$h>ApIGgTU!kHbdwVU~h!l&WGGj#c?QoeTxuTvsNoPreF*_hMBh`o-8Y?L+Bd zq1LJc4^56vU_sw*!c67!a1t+cQVCjhfv0f|htKCL`4@*yp6WA&bfJ59JIJ$`t5PhR-g|v>1!8Qg1;)s!rj0sl=XRxq?6Ul&W>_E=-YB6i1T_dfC$we-5 zA5?`(CHVvSk`LsIi9=O>Kz>syl{d4?O5!L}D$PvKboX?>em(ooe}DZA-~eu?umi;u zCU7>5b2zVIGKCn5NleLkS`HWFFq6hCUQOd7E@^lz1zqYKlJe_Pcq557rSO&%-cG`h z^IQ_9oJ&bqa=x6zyqvFSuv6&6LJHe)RSso2ROH}ja5XGyxF(P|W;?cbLLizQm=TEO z-I68HUa%c&qF$M^s?)|?nLC{Y*EGsAM%9*buo?5N*foK+LdkGz!+E26+Hj8wq%Ye} ziPFdoyF_2v@qt2xZp%uA=TXzB3h1qyv6@%$1lAW8jO)g5?OJ(w$}>ExVmTg7B30hg zbT(<#>Sb@rQfJnZKu?q1`NHUuX)SuT>qt`>gcuh{nXcnlrrZ|jYUt;~ZECmiR`Y7n zSX3!$s1ip3O=fheTqX|L0pGIj+2!GaU6TWd}DDzGc-AC?Vge)#O%0&hDS=&P*} z*DYIyj4E34T#2g6wppFt%&MilC5V|N-F8a|8=4I-J=T&}HB66Sk5%1Dh>F1WAQA~= zxXoBv3XuwNBD!6zmjuxZ^skarsF<2^>s8Ylvn5~BJ{$JPsC7JxehoDp9_oZt$925J zk~K1#@~XBoKT@~LC5zPPn;I>Q=BG1*nX$>U#SC5T%gmk`ogB^BrQUa(6V|zrqmEDUnT}idoYbxuS1lc1;7c7};cJ1o($n#c5=^)3GO}-_ z5W8p@Tz@CcqStLl$M2O-6ZK0u<7A0OBjob zmcw=#YOc9ooE9Fp)QflYwQ}d-MTkPQncPq{ZuGt7-_Dyl>){+ur0Z~@&g(SvK)fSc%LUvI>1Y*8NWU^9NkR)xwLXtbHd9zqzW zr(5*$9PjAI0`_4){ompL01k4G2nFcL)ge5uqWTGk>4Ctgc%uK}wuYl48ji(yd>kiy zkO{Y6p$L;{Ezi!T@FT~pIQ6g^u?Q$i6ev><-P?^2bZAYl2JaS&cCeo$bB@oAgxq^WI!n=OLBN}ph4 zM&JEWj(5{SIs^KU?A&wr-gEBRO@9CR@e{xtR!t0}XyCDl1d1k};HiP>H0(5H(s-tU z=LTjC%%$e=vq*tJ;PT;_-!}yujb!jtbxP^eA?vu5jELBT3g)n8S;gX7srlf;nF2_qnD%^Oy^uJLoTL`#S*Dm3EI*T8=iI` zAE&zWO>4I^$RST2I6=#99qF;0hTW)D9s9NP4umxDGJ_JRTmEvF7%aWL6cv|jyQz(? z2cas>&d$u+4wp1UQU-w{L0`RnhfYW?EM{;6%OpKIaZTH67{g?I6SmsE@>=5DO(I;E zGLY7p1-@&kz*2Q#)wtqS9tu6wie|XUFcNoqS8dP%(+Y}{` zqIk3?HYgtJiPKa;ej`usajLLsWwiDekHNl2EhgxlioiiC1~Q!un8bC82DG1q=;8*F zQO-I=V(%DzCrD;fStFZ1!N9jSrx@JJW~lGbuV~jO2{DOY_s>!#NQOy5#;8}0&@-+a z{Swy*h literal 0 HcmV?d00001 diff --git a/target/classes/daos/Dao.class b/target/classes/daos/Dao.class new file mode 100644 index 0000000000000000000000000000000000000000..9717cb291a6547d647db46c8e2a4c812a31d3c73 GIT binary patch literal 418 zcmZvY&1%9x6ot?AXA*zfs%_~T$aK?ex@tveD}{p4g?WK#W|Wa3DKRPdYA$>LA4fKi literal 0 HcmV?d00001 diff --git a/target/classes/models/Car.class b/target/classes/models/Car.class new file mode 100644 index 0000000000000000000000000000000000000000..debee5a481807b8dc81bab9c601b252828a46a7d GIT binary patch literal 1695 zcma)*UvCmY6vfZL?(#?a$5K>Ut+rZ9w=HN}YoZ1dn^Z|!eW+>TB_@xc$^hccc!yAiSsi4V-ZGaSzS-8;kYKRcMn#sYEDvRQB+Ire zJ1Oj@@K_-coGGZff_342^cCg~&%GT$mtw42Wq?2FEs-=gNd?{&FtbXpz8 zKD7!nhe6wab9r&~NwAv%^b$dwT9S`dH>8$ndo|NQe=$gm~#lJ00n$ zBTaRrFXJ@$N|5I|&)p8AVzk{KP~Wtyz%@%d(9oj%hR(DIH*t$QF(^g`pQ%jotRx2R z;s6PEbAY6~HGt(7tO1>i_5hAsbOuNbE3B{quwRSqX6QFfq&$&|DBvz@uCkU?ejU0; zm03r(D>NnDuyB@Sf=KFYflXUFleTT0N#hQA7jZkHt}=#ge@EgAMG2ObY0BY(vE@5h zihf+9TFN@Q-C;}N(3V(K8UR09^$*>N&=tSG7kQ0>B){@UqaZ6rkY%ilfoyQ(agY*0 z)+T_+Q;`YWH-cDk5Z4Iuzzkx=K`I2PP5_aM6OdKo)!6Z?**1cd%vWQ_LG}ppWCDo1 z8v$7}PQ-~% Date: Fri, 6 Dec 2019 17:47:10 -0500 Subject: [PATCH 4/4] Completed Lab --- .idea/dataSources.xml | 33 ++++++++++ .idea/sqldialects.xml | 6 ++ src/main/java/daos/CarDao.java | 40 +++++++----- src/main/java/daos/Dao.java | 10 +-- src/main/java/models/Car.java | 8 +-- src/test/java/daos/CarDaoTest.java | 73 ++++++++++++++++++++++ target/classes/daos/CarDao.class | Bin 2778 -> 4130 bytes target/classes/daos/Dao.class | Bin 418 -> 420 bytes target/classes/models/Car.class | Bin 1695 -> 1688 bytes target/test-classes/daos/CarDaoTest.class | Bin 0 -> 2531 bytes 10 files changed, 147 insertions(+), 23 deletions(-) create mode 100644 .idea/dataSources.xml create mode 100644 .idea/sqldialects.xml create mode 100644 src/test/java/daos/CarDaoTest.java create mode 100644 target/test-classes/daos/CarDaoTest.class diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml new file mode 100644 index 0000000..118e7a0 --- /dev/null +++ b/.idea/dataSources.xml @@ -0,0 +1,33 @@ + + + + + mysql.8 + true + com.mysql.cj.jdbc.Driver + jdbc:mysql://localhost:3306 + + + + + + + + + + + mysql.8 + true + com.mysql.cj.jdbc.Driver + jdbc:mysql://localhost:3306 + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/sqldialects.xml b/.idea/sqldialects.xml new file mode 100644 index 0000000..63f176e --- /dev/null +++ b/.idea/sqldialects.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/java/daos/CarDao.java b/src/main/java/daos/CarDao.java index 1efb516..c2f2be5 100644 --- a/src/main/java/daos/CarDao.java +++ b/src/main/java/daos/CarDao.java @@ -9,14 +9,16 @@ import java.util.List; import java.util.Set; -public class CarDao implements Dao { - public Car findCarByid(int id) { +public class CarDao implements Dao { + + + public Car findCarById(int id) { Connection connection = ConnectionFactory.getConnection(); try { Statement stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM Car2 WHERE id=" + id); if (rs.next()) { - extractCarFromResultSet(rs); + return extractCarFromResultSet(rs); } } catch (SQLException ex) { ex.printStackTrace(); @@ -42,7 +44,7 @@ public List findAll() { return null; } - public Boolean create(Car car) { + public Car create(Car car) { Connection connection = ConnectionFactory.getConnection(); try { PreparedStatement ps = connection.prepareStatement("INSERT INTO Car2 VALUES ( ?, ?, ?, ?, ?, ?)"); @@ -54,19 +56,19 @@ public Boolean create(Car car) { ps.setString(6,car.getColor()); int i = ps.executeUpdate(); if(i == 1) { - return true; + return car; } } catch (SQLException ex) { ex.printStackTrace(); } - return false; + return null; } - public Boolean update(Car car) { + public Car update(Car car) { Connection connection = ConnectionFactory.getConnection(); try { - PreparedStatement ps = connection.prepareStatement("UPDATE Car2 SET make=?, model=?, Year=?, vin=?, color=?, WHERE id=?)"); + PreparedStatement ps = connection.prepareStatement("UPDATE Car2 SET make=?, model=?, year=?, vin=?, color=? WHERE id=?"); ps.setString(1, car.getMake()); ps.setString(2, car.getModel()); @@ -76,18 +78,28 @@ public Boolean update(Car car) { ps.setInt(6, car.getId()); int i = ps.executeUpdate(); if(i == 1) { - return true; + return car; } } catch (SQLException ex) { ex.printStackTrace(); } - return false; + return null; } - public Boolean delete(int id) { - return null; - } + public void delete(int id) { + Connection connection = ConnectionFactory.getConnection(); + try { + Statement stmt = connection.createStatement(); + int i = stmt.executeUpdate("DELETE FROM Car2 WHERE id=" + id); + + + } catch (SQLException ex) { + ex.printStackTrace(); + } + + } + private Car extractCarFromResultSet(ResultSet rs) throws SQLException { Car car = new Car(); @@ -95,7 +107,7 @@ private Car extractCarFromResultSet(ResultSet rs) throws SQLException { car.setMake(rs.getString("make")); car.setModel(rs.getString("model")); car.setColor(rs.getString("color")); - car.setYear(rs.getInt("Year")); + car.setYear(rs.getInt("year")); car.setVin(rs.getString("vin")); return car; } diff --git a/src/main/java/daos/Dao.java b/src/main/java/daos/Dao.java index cafe2e8..e0b7d7d 100644 --- a/src/main/java/daos/Dao.java +++ b/src/main/java/daos/Dao.java @@ -6,9 +6,9 @@ import java.util.List; public interface Dao { - public T findCarByid(int id); - public List findAll(); - public T update(Car dto); - public T create(Car dto); - public T delete (int id); + T findCarById(int id); + List findAll(); + T update(Car dto); + T create(Car dto); + void delete (int id); } diff --git a/src/main/java/models/Car.java b/src/main/java/models/Car.java index d9b5350..4f43aaf 100644 --- a/src/main/java/models/Car.java +++ b/src/main/java/models/Car.java @@ -4,7 +4,7 @@ public class Car { private int id; private String make; private String model; - private int Year; + private int year; private String color; private String vin; @@ -17,7 +17,7 @@ public Car(int id, String make, String model, int year, String color, String vin this.id = id; this.make = make; this.model = model; - Year = year; + this.year = year; this.color = color; this.vin = vin; } @@ -47,11 +47,11 @@ public void setModel(String model) { } public int getYear() { - return Year; + return year; } public void setYear(int year) { - Year = year; + this.year = year; } public String getColor() { diff --git a/src/test/java/daos/CarDaoTest.java b/src/test/java/daos/CarDaoTest.java new file mode 100644 index 0000000..231cfc2 --- /dev/null +++ b/src/test/java/daos/CarDaoTest.java @@ -0,0 +1,73 @@ +package daos; + +import models.Car; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.List; + +import static org.junit.Assert.*; + +public class CarDaoTest { + private CarDao carDao; + + @Before + public void setUp() throws Exception { + this.carDao = new CarDao(); + } + + @After + public void tearDown() throws Exception { + } + + @Test + public void findCarByIdTest() { + String expectedVin ="WAUVT68E33A130589"; + String actualVin = carDao.findCarById(1).getVin(); + Assert.assertEquals(expectedVin,actualVin); + } + + @Test + public void findAllTest() { + List cars = carDao.findAll(); + Integer actual = cars.size(); + Integer expected = 10; + Assert.assertEquals(expected,actual); + } + + @Test + public void createTest() { + + Car car = new Car (11, "Chevy", "Cobalt", 2017, "Silver", "1LMN70HJI55677Y15"); + Car car2 = carDao.create(car); + int actual = car2.getId(); + int expected = 11; + carDao.delete(11); + Assert.assertEquals(expected,actual); + } + + @Test + public void updateTest() { + Car car = carDao.findCarById(2); + car.setColor("Brown"); + Car car2 = carDao.update(car); + String actual = car2.getColor(); + String expected = "Brown"; + Assert.assertEquals(expected,actual); + } + + @Test + public void deleteTest() { + Car car = new Car (12, "Chevy", "Cobalt", 2017, "Silver", "1LMN70HJI55677Y15"); + Car car2 = carDao.create(car); + Listcars=carDao.findAll(); + int actual = cars.size(); + carDao.delete(12); + int expected = carDao.findAll().size(); + Assert.assertEquals(expected, actual-1); + + } +} \ No newline at end of file diff --git a/target/classes/daos/CarDao.class b/target/classes/daos/CarDao.class index 570b1792529e66830a40161f3e1e59182ab88753..e66981cb491b6a2e9666af1fa04a41110399d94c 100644 GIT binary patch literal 4130 zcmcIm`F9)D75+vVc@$|(j1$K=F`xu6l9$Lep@BFt^&%4!d5L8^32j5h(j*y2mV_*& zcJ~Fk?>k*7UDAb8r;CGdOE>5O-G1y}(7&Rm>383ZC3)c-`a{pL-@EhPyZ7DiyUWun z|9Rm>07vkT5blQ)!UC>@k;S5cTnIXxAo4O7WO!VLVi-#(g;B=U5cS?>U^#?FtOW6P z1Mdi-2~HUA#Jhrcw-|a)2nX@rFy4pvi}V4Jo)GCt89pe(hh+G$YJMXXN9vL3~c;&j;}ZnZFpsmt_8O5Kqbc6>;yYGJH*juN(M= zfo~dkT0_HeC+Cy~H29;jISu-7K4WXxopf^cM0s)EF3wo@cSF4AmP9pS#dR9Y-)*qdCiu3GV> z$FuQN$tu~4cCN%-Uy&y3_NMKna<-JR)tpJn*Njq6Tvd zATHABrme>n&(9e6wt??x*p+fF<*ZVF`VraUsfusb%3X?2&Mz<=MAahMu)})i_C+_Vm{QxQ38nJoV%i>cBs0VGoQDpJ zQ4>e;fPwFt_#Un?q9(qN9}r{h!c?i~$4^aIm?t7-TxD@xHk$Yu9$*e_x36K3 z(ok77SS(sAl3L6V6FfZbpGqHvnCZ0#d zzzZhU@kxzAX)>WB` zuwq+9nXfuInbP@ep5HZU9%5RKkUARKk+_%eGOMsw^(Ov+mreW;7npc*n~6W+&n8~M zs~Q68oQc1v4|SJ`zsiR$ewg^1sQKxOiNE7j6X)=#iSsfHfS!cw+7GL+7Hl``Gz8TF zCdmf(60KS$tWt6p)FRrk?T(V2`ceHMl{N~G9 z6T96?ua+#0)}O7eOH;541v|$s*W(qZsxCLFS(-KIoAR8B?VIav>vph|cbC|DH}0-C z&6Z~`+v#%2K3%p2UG%l@7kpL5c(tBmi%}2Eqr_TZ{gqVbonhNy{ras8@wC+2^SVWh z=bH*{L#vXYp|}3%X6SPDP8~47Sjbz%M~<(<{%W+hoh8FdJes4wf#{fOkOp9-*^dW8TET1}u6jx~@aw z8A0sg!iF0iug%5g@EKHgQS5k+I4&n#$3^tK6g>|EC1T*ui6i`dq~VSHu@vIWj?3{u ze#JR!oCBRVpk1fn!!eExYSBbLWz#)?<2b=DP3o7UDE||F1UL^q58rrq1%3?^J?qfV z-9VtZVGYKCH3ZkNtAY^C>TP-jVGU0q)Y+!rfVp}N!HJ$V+@h`0pib|O@u!$yInaS! zG~C41W`wZ^9oUOrw9xZ5?zhsh+vvuA<=_C_4Wk=x!XULfa4Uu|OwE4&k08M{y6Cwt z(kLEQ_np8=j1ll7+~>Xj#!&;Oh72TiZjWPvTSTcfa&F*}5u!|XDU{>g&ASz-iFGs) z?XAc39uHeVR8d#ANd9Dq^k!B;t*lph1+pA zVcdfrjz@7X0Y|A3BlDev)~!IFgu(p~CNaergwdzq`=}pN@cpzB!D&p>@_{N`&S; z73}pf74)t(v{bOqkDdU<)(UQ;*g&z(6%C5}-2*|22i(;rInnOQ72M9W)mwD^X#~2q zX3S$qSBV_JZhF>BsC`_!kNI(gRNjxn%&P}U;|Ozpiqcuqd7czrVE&{@Ylie(CK;0I zl1Yt7;mvpp5uHU4Z)L9NJX6c0g=!`(DDow9FK*4G3w4>qM{j4E?x>^5<3?!mxDgUO zZiFU}8==XgM$zQa`@hnZpwkZ%>KJKygfyKZO-Yh7PMRi2(H@tNzMC}XXK}DFPO0k9SsMI>$x-^_vjif| zXL=n6*(DB*cXu`4Rl(gp{sg>-az_RCiX5dJ^W;v-Y%*%Sn=<=~I)9jQ+*|MMUZqvH zQy*fI0uILo*8UaNe3l(zk;$H8Ec1+FLE((Jo>VbSt1iJOgz=Xi;v+X8dOmVZgDmZg z7mQx+NZ)AaWaho0cJKBVqQSLI?ejZp_q{&t0Y=76gxcMFNbY+b+Vs?IPZx1XF?9LA D&hc-{ literal 2778 zcma)7X>$`t5PhR-g|v>1!8Qg1;)s!rj0sl=XRxq?6Ul&W>_E=-YB6i1T_dfC$we-5 zA5?`(CHVvSk`LsIi9=O>Kz>syl{d4?O5!L}D$PvKboX?>em(ooe}DZA-~eu?umi;u zCU7>5b2zVIGKCn5NleLkS`HWFFq6hCUQOd7E@^lz1zqYKlJe_Pcq557rSO&%-cG`h z^IQ_9oJ&bqa=x6zyqvFSuv6&6LJHe)RSso2ROH}ja5XGyxF(P|W;?cbLLizQm=TEO z-I68HUa%c&qF$M^s?)|?nLC{Y*EGsAM%9*buo?5N*foK+LdkGz!+E26+Hj8wq%Ye} ziPFdoyF_2v@qt2xZp%uA=TXzB3h1qyv6@%$1lAW8jO)g5?OJ(w$}>ExVmTg7B30hg zbT(<#>Sb@rQfJnZKu?q1`NHUuX)SuT>qt`>gcuh{nXcnlrrZ|jYUt;~ZECmiR`Y7n zSX3!$s1ip3O=fheTqX|L0pGIj+2!GaU6TWd}DDzGc-AC?Vge)#O%0&hDS=&P*} z*DYIyj4E34T#2g6wppFt%&MilC5V|N-F8a|8=4I-J=T&}HB66Sk5%1Dh>F1WAQA~= zxXoBv3XuwNBD!6zmjuxZ^skarsF<2^>s8Ylvn5~BJ{$JPsC7JxehoDp9_oZt$925J zk~K1#@~XBoKT@~LC5zPPn;I>Q=BG1*nX$>U#SC5T%gmk`ogB^BrQUa(6V|zrqmEDUnT}idoYbxuS1lc1;7c7};cJ1o($n#c5=^)3GO}-_ z5W8p@Tz@CcqStLl$M2O-6ZK0u<7A0OBjob zmcw=#YOc9ooE9Fp)QflYwQ}d-MTkPQncPq{ZuGt7-_Dyl>){+ur0Z~@&g(SvK)fSc%LUvI>1Y*8NWU^9NkR)xwLXtbHd9zqzW zr(5*$9PjAI0`_4){ompL01k4G2nFcL)ge5uqWTGk>4Ctgc%uK}wuYl48ji(yd>kiy zkO{Y6p$L;{Ezi!T@FY&Q()In5vQm>vtQi>uk(Er`Bgx95;i(xm@$x27exT7z46I;MfI$#U G3jqKnvL2=Y delta 119 zcmZ3&yog!$)W2Q(7#J8#7)00^gxDE`85y|KGV@ZL6N{WGGbhRx>8fe?WF?j*>gOcp xrR)1AWu+#USZiVmF*0yygoI4oFFEo423ZycMg~@(sZ0!PKn!8=GYEi11Oe@;9Gn0E diff --git a/target/classes/models/Car.class b/target/classes/models/Car.class index debee5a481807b8dc81bab9c601b252828a46a7d..7f8126ca793936f4f575b6cf73feed0a8bc87298 100644 GIT binary patch delta 185 zcmbQwJA+r~)W2Q(7#J8#7)-esI2m*}88{~LO0%&u7_&2&Of)uNtelv#ZL=byDw8}v z12+Q;P^lV&00S=rE0`q+WU(Lk5C$U;Fs{)nVvO02ujAjHvHK4Liptw3v*)dj6W(^=;h|P*w R6Ug^x^JLcoTFS(r4FI%79)kb? delta 193 zcmbQiJD=D1)W2Q(7#J8#7|ggBI2m*~88{g9K!iSsFaQyTAi@Yl7_&2&urruWG&W$2 zoS3qWm8CK@v1qddqdF6#)MN){X=Z5#naOd?R?M;ta+7B>dos&2C`^71B}Erzf!r7;d^ObuBeq;yM#Er^J*h%J+l|C#CU zzCxd%Gp$3LnLa>Yp}+bfot{sUWdW0!j%TcIx%b?2&pj6W_3s~l0+_&?I4)yJK|YQU zmO5|=cVk!z$n>9dDCQ$R@~DM^=w72?q=8RnpxdtQioo$8|+2| zqynHG_k_UARVpr?OzGHU$^~lJW+huRogSkujD!n;B894L>^jt9Eg}-SPpWrx&{DAX z6zW28p982k1DanX)p)69=(gcf36qKhH5kK@@$j|;sledILD>(E6US&}#@DSztz_IY z#VnK5i)Ij*w}d(>dhrQ`3phi?$GAeppXQ!yZcNQAkB{fZ#z!Y-W>x$ECTydmpsd2c zj*4A8S755x!wUr!75kvB@pdD0L;ksOctp45t!=%+Aw}2C%Avt#I>(BuYty6mR|=Dp zQ`6I1W0Qi7rQ!fDRn+i8MIE*%)F8}KjYd#$h*v6Ji-04P*iV4CD^#jI^atB}bOUG9 zKJqQeo&)wFP^K_&QrzgSVLLYI$_xaC>^mtHaAdu1)L2N>oyGD?I*h*Q&jj*ZGV^Co z#BWdWY)8|!iUr+v-f6%;;o$4$8%~oyT#ml8-Ja(_0v_s>hVfvB{u7OziJ-k!Gljsp z*VfsS{}m*9h`M%_a48cM@|3C(s#+*B+O;TKAwOnEGAk?M8RN?%Z&fV%BOR2_fn2Xw%#H98{{^Ic;NyUkU&=eNA+;}cqcQv9~rJhy#YQY4EpFp z&Yov&NS9Vm08aWKoSQyOxR68k8J}T7rnN|M@K?xk6VWD=)uG{I#M&h^vI3-L~ z>LP$p;i{YLl?y||2yT&YlH9Xgh5SB79o}Pp;U9S?FndMSCOV2kzauW;7>U(XoZo9B zEe2sn`)))SeVv24!74Y=gFbTUcUTO%NFIwAx^WxhWTA0N6PRSB9`c#uDvW8Oh}pSO zGhDTlb{Wq441Z>fs5$!{>Q*YDozu>DD*tFnE%lCnUj*%;CbZSzCN3v7`NhO-- zO3QDrygf#`EnhDb0u3Wgd3q_!b&AuEQGUiSL$X533AdQnM4D~RVV?AQ>C^?TLcHl_ z)Msp>pRG-CC7&X{=#&46@q&Ctu!?Y~#UZV`iH|(mJ%aYdHLZJ2z9^5J7`4lF3LTUx zNp?M$rOYsIpX=WgI!dmO9HG?@ z2`#A8C~G5*Q9Qj>>g`>)$B}g8ZCaMgtpT|1xyBN}9S$HzL6_*AJSp8}i_84n!$ba0 vB!;l)67h$y;16NkYpf4Lj=RFn7{xebBB;(dBEGxas2R3@(p`60BZS<4Xz1Nt literal 0 HcmV?d00001