From ccc850e05cdeb2bb07644a88c7ff4d7938f33605 Mon Sep 17 00:00:00 2001
From: buczekp <buczekp>
Date: Fri, 3 Dec 2010 13:45:03 +0000
Subject: [PATCH] [LMS-1894] fixed tests (implemented missing equals and
 hashCodes)

SVN: 18993
---
 .../generic/shared/basic/dto/Project.java     | 38 ++++++++++++++
 .../generic/shared/basic/dto/Vocabulary.java  | 50 ++++++++++++++++++-
 .../web/server/CommonClientServiceTest.java   | 12 ++++-
 3 files changed, 97 insertions(+), 3 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Project.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Project.java
index e233694ce26..f4ffc58c6ed 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Project.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Project.java
@@ -140,4 +140,42 @@ public class Project extends CodeWithRegistration<Project> implements IAttachmen
         return identifier;
     }
 
+    @Override
+    public int hashCode()
+    {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((identifier == null) ? 0 : identifier.hashCode());
+        return result;
+    }
+
+    @Override
+    public boolean equals(Object obj)
+    {
+        if (this == obj)
+        {
+            return true;
+        }
+        if (obj == null)
+        {
+            return false;
+        }
+        if (!(obj instanceof Project))
+        {
+            return false;
+        }
+        Project other = (Project) obj;
+        if (identifier == null)
+        {
+            if (other.identifier != null)
+            {
+                return false;
+            }
+        } else if (!identifier.equals(other.identifier))
+        {
+            return false;
+        }
+        return true;
+    }
+
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Vocabulary.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Vocabulary.java
index f6fe288ca1b..991a2d17069 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Vocabulary.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/Vocabulary.java
@@ -16,7 +16,6 @@
 
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
-
 /**
  * Controlled vocabulary.
  * 
@@ -102,4 +101,53 @@ public class Vocabulary extends CodeWithRegistration<Vocabulary> implements IVoc
         this.urlTemplate = urlTemplate;
     }
 
+    @Override
+    public int hashCode()
+    {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((getCode() == null) ? 0 : getCode().hashCode());
+        result = prime * result + ((id == null) ? 0 : id.hashCode());
+        return result;
+    }
+
+    @Override
+    public boolean equals(Object obj)
+    {
+        if (this == obj)
+        {
+            return true;
+        }
+        if (obj == null)
+        {
+            return false;
+        }
+        if (!(obj instanceof Vocabulary))
+        {
+            return false;
+        }
+        Vocabulary other = (Vocabulary) obj;
+        if (getCode() == null)
+        {
+            if (other.getCode() != null)
+            {
+                return false;
+            }
+        } else if (!getCode().equals(other.getCode()))
+        {
+            return false;
+        }
+        if (id == null)
+        {
+            if (other.id != null)
+            {
+                return false;
+            }
+        } else if (!id.equals(other.id))
+        {
+            return false;
+        }
+        return true;
+    }
+
 }
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientServiceTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientServiceTest.java
index 524fe80f15a..9b4f8fb8a2c 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientServiceTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/client/web/server/CommonClientServiceTest.java
@@ -252,7 +252,11 @@ public final class CommonClientServiceTest extends AbstractClientServiceTest
     @Test
     public final void testListProjects()
     {
-        List<Project> entities = Arrays.asList(new Project());
+        final Project project1 = new Project();
+        project1.setIdentifier("p1");
+        final Project project2 = new Project();
+        project1.setIdentifier("p2");
+        List<Project> entities = Arrays.asList(project1, project2);
         final DefaultResultSetConfig<String, Project> criteria =
                 DefaultResultSetConfig.createFetchAll();
         prepareListEntities(entities, criteria);
@@ -313,7 +317,11 @@ public final class CommonClientServiceTest extends AbstractClientServiceTest
     private <T> void assertEqualEntities(List<T> entities, final ResultSet<T> resultSet)
     {
         assertEquals(entities.size(), resultSet.getList().size());
-        assertEquals(entities.get(0), resultSet.getList().get(0).getOriginalObject());
+        GridRowModels<T> resultSetList = resultSet.getList();
+        for (int i = 0; i < entities.size(); i++)
+        {
+            assertEquals(entities.get(i), resultSetList.get(i).getOriginalObject());
+        }
         assertEquals(entities.size(), resultSet.getTotalLength());
     }
 
-- 
GitLab