From c6a97517cbce776a124ea6f881aef2e905e73568 Mon Sep 17 00:00:00 2001 From: Alessandro Renzi Date: Mon, 28 Nov 2016 17:59:36 +0100 Subject: [PATCH 1/5] refactored DbMongo Test class added addStudent method to extract replicate code. --- .../java/com/examples/exercise/DbMongoTest.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java b/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java index 8ddbd12..c03df84 100644 --- a/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java +++ b/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java @@ -37,13 +37,22 @@ public void testGetAllStudentsEmpty() { @Test public void testGetAllStudentsNotEmpty(){ - BasicDBObject document = new BasicDBObject(); - document.put("id", "1"); - document.put("name", "first"); - students.insert(document); + this.addStudent("1", "first"); assertEquals(1, database.getAllStudentsList().size()); assertEquals("1", database.getAllStudentsList().get(0).getId()); assertEquals("first", database.getAllStudentsList().get(0).getName()); } + private void addStudent(String id, String name) { + BasicDBObject document = new BasicDBObject(); + document.put("id", id); + document.put("name", name); + students.insert(document); + } + +// @Test +// public void testGetStudentByIdWhichIsNotTher(){ +// +// } + } From 26d2a7d1d4435358b38feb658284a456da50e5f8 Mon Sep 17 00:00:00 2001 From: Alessandro Renzi Date: Mon, 28 Nov 2016 18:08:25 +0100 Subject: [PATCH 2/5] added method testGetStudentByIdNotFound in DbMongoTest class --- .../test/java/com/examples/exercise/DbMongoTest.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java b/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java index c03df84..ab12a9f 100644 --- a/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java +++ b/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java @@ -50,9 +50,10 @@ private void addStudent(String id, String name) { students.insert(document); } -// @Test -// public void testGetStudentByIdWhichIsNotTher(){ -// -// } - + @Test + public void testGetStudentByIdNotFound(){ + this.addStudent("1", "first"); + assertNull(database.takeStudentsById("2")); + } + } From 5e79a1c28afd4f4bd7928a87fd1f06ede098efa0 Mon Sep 17 00:00:00 2001 From: Alessandro Renzi Date: Mon, 28 Nov 2016 18:23:44 +0100 Subject: [PATCH 3/5] added takeStudentById in DbMongo class test not working well, because it should be implemented exists method --- .../src/main/java/com/examples/exercise/DbMongo.java | 7 +++++++ .../src/test/java/com/examples/exercise/DbMongoTest.java | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/com.examples.exercise/src/main/java/com/examples/exercise/DbMongo.java b/com.examples.exercise/src/main/java/com/examples/exercise/DbMongo.java index 07ed1db..0a6de9b 100644 --- a/com.examples.exercise/src/main/java/com/examples/exercise/DbMongo.java +++ b/com.examples.exercise/src/main/java/com/examples/exercise/DbMongo.java @@ -3,6 +3,7 @@ import java.util.ArrayList; import java.util.List; +import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; @@ -37,6 +38,12 @@ public boolean exists(String id) { } public Student takeStudentsById(String id) { + if (this.exists(id)) { + BasicDBObject searchQuery = new BasicDBObject(); + searchQuery.put("id", id); + DBObject toFind = students.findOne(searchQuery); + return new Student((String) toFind.get("id"), (String) toFind.get("name")); + } return null; } diff --git a/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java b/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java index ab12a9f..19c549b 100644 --- a/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java +++ b/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java @@ -56,4 +56,12 @@ public void testGetStudentByIdNotFound(){ assertNull(database.takeStudentsById("2")); } + @Test + public void testGetStudentByIdFound(){ + this.addStudent("1", "first"); + Student found = database.takeStudentsById("1"); + assertNotNull(found); + assertEquals("1", found.getId()); + assertEquals("first", found.getName()); + } } From 6a53b4940f0f9f794ccd434c6706940e5a439b36 Mon Sep 17 00:00:00 2001 From: Alessandro Renzi Date: Mon, 28 Nov 2016 19:11:29 +0100 Subject: [PATCH 4/5] modified exists method in DbMongo class. this method is used implicitly in takeStudentsById --- .../src/main/java/com/examples/exercise/DbMongo.java | 5 +++++ .../src/test/java/com/examples/exercise/DbMongoTest.java | 3 +++ 2 files changed, 8 insertions(+) diff --git a/com.examples.exercise/src/main/java/com/examples/exercise/DbMongo.java b/com.examples.exercise/src/main/java/com/examples/exercise/DbMongo.java index 0a6de9b..510202f 100644 --- a/com.examples.exercise/src/main/java/com/examples/exercise/DbMongo.java +++ b/com.examples.exercise/src/main/java/com/examples/exercise/DbMongo.java @@ -34,6 +34,11 @@ public void updateDB(String id, String name) { } public boolean exists(String id) { + BasicDBObject query = new BasicDBObject(); + query.put("id", id); + if (students.find(query).length()>0) { + return true; + } return false; } diff --git a/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java b/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java index 19c549b..245ec07 100644 --- a/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java +++ b/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java @@ -64,4 +64,7 @@ public void testGetStudentByIdFound(){ assertEquals("1", found.getId()); assertEquals("first", found.getName()); } + + } + From 65a100c5ada7e3ca19224d474c839d01389c590c Mon Sep 17 00:00:00 2001 From: Alessandro Renzi Date: Mon, 28 Nov 2016 20:53:13 +0100 Subject: [PATCH 5/5] modified exists method and takeStudentById deleted .this statements --- .../java/com/examples/exercise/DbMongo.java | 17 +++++++---------- .../java/com/examples/exercise/DbMongoTest.java | 6 +++--- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/com.examples.exercise/src/main/java/com/examples/exercise/DbMongo.java b/com.examples.exercise/src/main/java/com/examples/exercise/DbMongo.java index 510202f..dc69652 100644 --- a/com.examples.exercise/src/main/java/com/examples/exercise/DbMongo.java +++ b/com.examples.exercise/src/main/java/com/examples/exercise/DbMongo.java @@ -34,22 +34,19 @@ public void updateDB(String id, String name) { } public boolean exists(String id) { - BasicDBObject query = new BasicDBObject(); - query.put("id", id); - if (students.find(query).length()>0) { + if (takeStudentsById(id) != null) { return true; } return false; } public Student takeStudentsById(String id) { - if (this.exists(id)) { - BasicDBObject searchQuery = new BasicDBObject(); - searchQuery.put("id", id); - DBObject toFind = students.findOne(searchQuery); - return new Student((String) toFind.get("id"), (String) toFind.get("name")); - } - return null; + BasicDBObject searchQuery = new BasicDBObject(); + searchQuery.put("id", id); + DBObject toFind = students.findOne(searchQuery); + return toFind != null ? + new Student((String) toFind.get("id"), (String) toFind.get("name")) : + null; } } diff --git a/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java b/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java index 245ec07..03e56b0 100644 --- a/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java +++ b/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java @@ -37,7 +37,7 @@ public void testGetAllStudentsEmpty() { @Test public void testGetAllStudentsNotEmpty(){ - this.addStudent("1", "first"); + addStudent("1", "first"); assertEquals(1, database.getAllStudentsList().size()); assertEquals("1", database.getAllStudentsList().get(0).getId()); assertEquals("first", database.getAllStudentsList().get(0).getName()); @@ -52,13 +52,13 @@ private void addStudent(String id, String name) { @Test public void testGetStudentByIdNotFound(){ - this.addStudent("1", "first"); + addStudent("1", "first"); assertNull(database.takeStudentsById("2")); } @Test public void testGetStudentByIdFound(){ - this.addStudent("1", "first"); + addStudent("1", "first"); Student found = database.takeStudentsById("1"); assertNotNull(found); assertEquals("1", found.getId());