r37 - in trunk/src: main/java/org/nuiton/mapstoragemanager/plugins/bighashmap test/java/org/nuiton/mapstoragemanager/plugins/bighashmap
Author: dlanglais Date: 2010-01-29 00:51:06 +0100 (Fri, 29 Jan 2010) New Revision: 37 Modified: trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/Cell.java trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/CellImpl.java trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/Column.java trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/Table.java trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/TableImpl.java trunk/src/test/java/org/nuiton/mapstoragemanager/plugins/bighashmap/CellTest.java Log: Ajout et test des fonctions toString(), hashCode() et equals(). Modified: trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/Cell.java =================================================================== --- trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/Cell.java 2010-01-28 21:02:49 UTC (rev 36) +++ trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/Cell.java 2010-01-28 23:51:06 UTC (rev 37) @@ -28,6 +28,17 @@ T get(Long t); /** + * hashCode(). + * @return + */ + int hashCode(); + + /** + * equals(). + */ + boolean equals(Object o); + + /** * toString(). */ String toString(); Modified: trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/CellImpl.java =================================================================== --- trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/CellImpl.java 2010-01-28 21:02:49 UTC (rev 36) +++ trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/CellImpl.java 2010-01-28 23:51:06 UTC (rev 37) @@ -70,7 +70,44 @@ /** * {@inheritDoc} */ - public final String toString() { - return ((T) this.get()).toString(); + public int hashCode() { + if (this.cell.size() != 0) { + return this.get().hashCode(); + } else { + return 0; + } } + + /** + * {@inheritDoc} + * //TODO : we consider only the last item... but it will be better to + * //TODO verify all the "versions" of the cell. + */ + public boolean equals(Object o) { + if (o instanceof CellImpl) { + CellImpl another = (CellImpl) o; + if(this.cell.size() == another.cell.size()) { + if(this.cell.size() == 0) { + return true; + } else { + return this.get().equals(another.get()); + } + } else { + return false; + } + } else { + return false; + } + } + /** + * {@inheritDoc} + */ + public String toString() { + + if (this.cell.size() != 0) { + return ((T) this.get()).toString(); + } else { + return ""; + } + } } Modified: trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/Column.java =================================================================== --- trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/Column.java 2010-01-28 21:02:49 UTC (rev 36) +++ trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/Column.java 2010-01-28 23:51:06 UTC (rev 37) @@ -37,11 +37,6 @@ void delete(String key); /** - * toString(). - */ - String toString(); - - /** * hashCode(). * @return */ @@ -51,4 +46,9 @@ * equals(). */ boolean equals(Object o); + + /** + * toString(). + */ + String toString(); } Modified: trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/Table.java =================================================================== --- trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/Table.java 2010-01-28 21:02:49 UTC (rev 36) +++ trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/Table.java 2010-01-28 23:51:06 UTC (rev 37) @@ -34,5 +34,5 @@ * Remove a row by its key. * @param key the key */ - void removeRow(final String key); + void deleteRow(final String key); } Modified: trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/TableImpl.java =================================================================== --- trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/TableImpl.java 2010-01-28 21:02:49 UTC (rev 36) +++ trunk/src/main/java/org/nuiton/mapstoragemanager/plugins/bighashmap/TableImpl.java 2010-01-28 23:51:06 UTC (rev 37) @@ -64,7 +64,7 @@ /** * {@inheritDoc} */ - public void removeRow(final String key) { + public void deleteRow(final String key) { for (Column column : tableColumns.values()) { column.delete(key); } Modified: trunk/src/test/java/org/nuiton/mapstoragemanager/plugins/bighashmap/CellTest.java =================================================================== --- trunk/src/test/java/org/nuiton/mapstoragemanager/plugins/bighashmap/CellTest.java 2010-01-28 21:02:49 UTC (rev 36) +++ trunk/src/test/java/org/nuiton/mapstoragemanager/plugins/bighashmap/CellTest.java 2010-01-28 23:51:06 UTC (rev 37) @@ -19,6 +19,7 @@ private static final Log log = LogFactory.getLog(CellTest.class); private Cell<Object> cellActual; + private Cell<Object> cell2Actual; private Object objectExcepted; private Object object2Excepted; private Object object3Excepted; @@ -91,4 +92,83 @@ assertEquals(cellActual.get(), object3Excepted); } + + /** + * We make two cells with the same objects, and we verify that they are + * equals. + */ + public void testEquals() { + + /** + * We create two cells. + */ + cellActual = new CellImpl<Object>(); + cell2Actual = new CellImpl<Object>(); + assertEquals(cellActual, cell2Actual); + + objectExcepted = new Integer(10); + + /** + * We put one item in the first Cell, and not in the second. + */ + cellActual.put(objectExcepted); + assertNotSame(cellActual, cell2Actual); + + /** + * We put the same object in the second cell. + */ + cell2Actual.put(objectExcepted); + assertEquals(cellActual, cell2Actual); + } + + /** + * We make two cells with the same objects, and we verify that thay have + * the same hashCode. + */ + public void testHashCode() { + + /** + * We create two cells. + */ + cellActual = new CellImpl<Object>(); + cell2Actual = new CellImpl<Object>(); + assertEquals(cellActual.hashCode(), cell2Actual.hashCode()); + + objectExcepted = new Integer(10); + + /** + * We put one item in the first Cell, and not in the second. + */ + cellActual.put(objectExcepted); + assertNotSame(cellActual.hashCode(), cell2Actual.hashCode()); + + /** + * We put the same object in the second cell. + */ + cell2Actual.put(objectExcepted); + assertEquals(cellActual.hashCode(), cell2Actual.hashCode()); + } + + /** + * we test that toString do what we want. + */ + public void testToString() { + + /** + * We create one cell and werify that toString equals "". + */ + cellActual = new CellImpl<Object>(); + assertEquals(cellActual.toString(), ""); + + objectExcepted = new Integer(1337); + + cellActual.put(objectExcepted); + assertEquals(cellActual.toString(), objectExcepted.toString()); + assertEquals(cellActual.toString(), "1337"); + + objectExcepted = new String("String for testing"); + cellActual.put(objectExcepted); + assertEquals(cellActual.toString(), objectExcepted.toString()); + assertEquals(cellActual.toString(), "String for testing"); + } }
participants (1)
-
dlanglais@users.nuiton.org