diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..d806284
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,32 @@
+
+
+ * Created by vidyachandasekhar on 5/21/17.
+ */
+
+
+public class DriversLicense {
+
+ private String lastName;
+ private String firstName;
+ private String address;
+ private String state;
+ private String licenseNumber;
+ private String dateOfBirth;
+ private String dateOfIssue;
+ private String dateOfExpiry;
+ private String gender;
+ private String eyeColor;
+ private String height;
+ private String organDonor;
+ private String licenseClass;
+
+ private static DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
+
+ public String getLastName() {
+ return lastName;
+ }
+
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+
+ public String getFirstName() {
+ return firstName;
+ }
+
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public String getState() {
+ return state;
+ }
+
+ public void setState(String state) {
+ this.state = state;
+ }
+
+ public String getLicenseNumber() {
+ return licenseNumber;
+ }
+
+ public void setLicenseNumber(String licenseNumber) {
+ this.licenseNumber = licenseNumber;
+ }
+
+ public String getDateOfBirth() {
+ return dateOfBirth;
+ }
+
+ public void setDateOfBirth(String dateOfBirth) {
+ this.dateOfBirth = dateOfBirth;
+ }
+
+ public String getDateOfIssue() {
+ return dateOfIssue;
+ }
+
+ public void setDateOfIssue(String dateOfIssue) {
+ this.dateOfIssue = dateOfIssue;
+ }
+
+ public String getDateOfExpiry() {
+ return dateOfExpiry;
+ }
+
+ public void setDateOfExpiry(String dateOfExpiry) {
+ this.dateOfExpiry = dateOfExpiry;
+ }
+
+ public String getGender() {
+ return gender;
+ }
+
+ public void setGender(String gender) {
+ this.gender = gender;
+ }
+
+ public String getEyeColor() {
+ return eyeColor;
+ }
+
+ public void setEyeColor(String eyeColor) {
+ this.eyeColor = eyeColor;
+ }
+
+ public String getHeight() {
+ return height;
+ }
+
+ public void setHeight(String height) {
+ this.height = height;
+ }
+
+ public String getOrganDonor() {
+ return organDonor;
+ }
+
+ public void setOrganDonor(String organDonor) {
+ this.organDonor = organDonor;
+ }
+
+ public String getLicenseClass() {
+ return licenseClass;
+ }
+
+ public void setLicenseClass(String licenseClass) {
+ this.licenseClass = licenseClass;
+ }
+
+ // a string of comma separated values for the fields in the Driver's License
+ public String serializeToCSV() {
+
+ StringBuilder stringBuilder = new StringBuilder();
+
+ stringBuilder.append(lastName);
+ stringBuilder.append(',');
+ stringBuilder.append(firstName);
+ stringBuilder.append(',');
+ stringBuilder.append(address);
+ stringBuilder.append(',');
+ stringBuilder.append(state);
+ stringBuilder.append(',');
+ stringBuilder.append(licenseNumber);
+ stringBuilder.append(',');
+ stringBuilder.append(dateOfBirth);
+ stringBuilder.append(',');
+ stringBuilder.append(dateOfIssue);
+ stringBuilder.append(',');
+ stringBuilder.append(dateOfExpiry);
+ stringBuilder.append(',');
+ stringBuilder.append(gender);
+ stringBuilder.append(',');
+ stringBuilder.append(eyeColor);
+ stringBuilder.append(',');
+ stringBuilder.append(height);
+ stringBuilder.append(',');
+ stringBuilder.append(organDonor);
+ stringBuilder.append(',');
+ stringBuilder.append(licenseClass);
+
+ return stringBuilder.toString();
+ }
+
+ //produces the comma separated header for the CSV fields
+ public static String getCSVHeader() {
+ return "LAST_NAME,FIRST_NAME,ADDRESS,STATE,LICENSE_NUMBER,DATE_OF_BIRTH,DATE_OF_ISSUE,DATE_OF_EXPIRY," +
+ "GENDER,EYES_COLOR,HEIGHT,ORGAN_DONOR,LICENSE_CLASS";
+ }
+
+ // takes a string representing the contents of a CSV file produced using getCSVHeader and serializeToCSV
+ // and reproduces a List of Driver's License objects that match the contents of the file.
+ public static List>() {
+ });
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ return listCar;
+
+ }
+
+}
diff --git a/src/test/java/com/zipcode/stringslab/DriversLicenseTest.java b/src/test/java/com/zipcode/stringslab/DriversLicenseTest.java
new file mode 100644
index 0000000..443bb69
--- /dev/null
+++ b/src/test/java/com/zipcode/stringslab/DriversLicenseTest.java
@@ -0,0 +1,153 @@
+package com.zipcode.stringslab;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Created by vidyachandasekhar on 5/21/17.
+ */
+public class DriversLicenseTest {
+
+
+ private static DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
+ @Test
+ public void serializeToCSVTest() throws Exception {
+ //given (we create an instance of the DriversLicense class with all the fields,and this method is supposed
+ //to return all the fields in VSV format.
+
+ DriversLicense dl = new DriversLicense();
+
+ dl.setLastName("Reeves");
+ dl.setFirstName("Keanu");
+ dl.setAddress("876 Zion Dr");
+ dl.setState("NY");
+ dl.setLicenseNumber("L234252352391");
+ dl.setDateOfBirth("6/6/1955");
+ dl.setDateOfIssue("6/9/2005");
+ dl.setDateOfExpiry("6/9/2010");
+ dl.setGender("M");
+ dl.setEyeColor("GRN");
+ dl.setHeight("5'11");
+ dl.setOrganDonor("YES");
+ dl.setLicenseClass("D");
+
+ //when
+ String expected= "Reeves,Keanu,876 Zion Dr,NY,L234252352391,6/6/1955,6/9/2005,6/9/2010,M,GRN,5'11,YES,D";
+
+ //then
+ Assert.assertEquals("Both strings are matching ",expected,dl.serializeToCSV());
+ }
+
+ @Test
+ public void getCSVHeaderTest() throws Exception {
+ //given(as this is a Static method, we are creating a new instance of the main class)
+
+ //when
+ String actual ="LAST_NAME,FIRST_NAME,ADDRESS,STATE,LICENSE_NUMBER,DATE_OF_BIRTH,DATE_OF_ISSUE,DATE_OF_EXPIRY," +
+ "GENDER,EYES_COLOR,HEIGHT,ORGAN_DONOR,LICENSE_CLASS";
+ //then
+ Assert.assertEquals("Both strings are matching ",DriversLicense.getCSVHeader(), actual);
+ }
+
+ @Test
+ public void deserializeFromCSVTest() throws Exception {
+ //given
+ DriversLicense driversLicense = new DriversLicense();
+ //when
+ String csvString = "LAST_NAME,FIRST_NAME,ADDRESS,STATE,LICENSE_NUMBER,DATE_OF_BIRTH,DATE_OF_ISSUE,DATE_OF_EXPIRY," +
+ "GENDER,EYES_COLOR,HEIGHT,ORGAN_DONOR,LICENSE_CLASS\n"
+ + "Cage,Nick,362 Fancy St,CA,L809239899490,02/02/1970,02/02/2000,02/02/2006,M,BRO,6'0\",YES,D\n"
+ +"Zach,Leon,1234 BadAtSmash Ln,DE,L101234107890,1/2/3456,3/3/2000,5/19/2107,M,BRO,4'3,NO,D\n"
+ +"Utah,Johnny,932 PointBreak Rd,CA,L223523438497,2/5/1988,4/4/2000,4/4/2010,M,BRO,5'11,NO,D\n";
+ List