Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Commit

Permalink
Merge pull request #66 from zanata/globalid-equals
Browse files Browse the repository at this point in the history
Add equals and hashcode to GlobalDocumentId
  • Loading branch information
Patrick Huang committed Jul 23, 2013
2 parents f3c20c9 + bae4977 commit 902e80b
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 13 deletions.
20 changes: 8 additions & 12 deletions zanata-war/src/main/java/org/zanata/file/GlobalDocumentId.java
@@ -1,20 +1,16 @@
package org.zanata.file;

import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NonNull;

@Getter
@AllArgsConstructor
@EqualsAndHashCode
public class GlobalDocumentId
{

private final String projectSlug;
private final String versionSlug;
private final String docId;

public GlobalDocumentId(String projectSlug, String versionSlug, String docId)
{
this.projectSlug = projectSlug;
this.versionSlug = versionSlug;
this.docId = docId;
}

@NonNull private final String projectSlug;
@NonNull private final String versionSlug;
@NonNull private final String docId;
}
Expand Up @@ -18,7 +18,12 @@ public class GlobalDocumentIdTest
@BeforeMethod
public void setup()
{
id = new GlobalDocumentId(PROJECT_SLUG, VERSION_SLUG, DOCUMENT_ID);
id = newBasicInstance();
}

private GlobalDocumentId newBasicInstance()
{
return new GlobalDocumentId(PROJECT_SLUG, VERSION_SLUG, DOCUMENT_ID);
}

public void getDocId()
Expand All @@ -35,4 +40,22 @@ public void getProjectSlug()
{
assertThat(id.getProjectSlug(), is(PROJECT_SLUG));
}

public void equalsIsReflexive()
{
assertThat(id, equalTo(id));
}

public void equalsIsSymmetric()
{
GlobalDocumentId sameId = newBasicInstance();
assertThat(sameId, equalTo(id));
assertThat(id, equalTo(sameId));
}

public void sameHashForEqualObjects()
{
GlobalDocumentId sameId = newBasicInstance();
assertThat(sameId.hashCode(), is(id.hashCode()));
}
}

0 comments on commit 902e80b

Please sign in to comment.