From fef09b723c85b7aac8acf9c5351f7c30f0648f8a Mon Sep 17 00:00:00 2001 From: Herman Wika Horn Date: Tue, 9 Jan 2024 14:11:16 +0100 Subject: [PATCH] Introduce method to compare only organisation part of Organisasjonsnummer The changes introduced in the two previous commits change the behaviour of the Organisasjonsnummer equals method. Previously, this method could be used to compare only the organisation number string itself between two instances of Organisasjonsnummer. The method introduced in this commit, erSammeOrganisasjonsnummerUavhengigAvLandkode, is intended to replace the described use of the equals method for uses where ignoring country code is desirable. --- .../representations/Organisasjonsnummer.java | 4 ++++ .../OrganisasjonsnummerTest.java | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/api-commons/src/main/java/no/digipost/api/representations/Organisasjonsnummer.java b/api-commons/src/main/java/no/digipost/api/representations/Organisasjonsnummer.java index 93845be..5098b95 100644 --- a/api-commons/src/main/java/no/digipost/api/representations/Organisasjonsnummer.java +++ b/api-commons/src/main/java/no/digipost/api/representations/Organisasjonsnummer.java @@ -66,6 +66,10 @@ public boolean er(String organisasjonsnummerString) { .isPresent(); } + public boolean erSammeOrganisasjonsnummerUavhengigAvLandkode(Organisasjonsnummer organisasjonsnummer) { + return this.organisasjonsnummer.equals(organisasjonsnummer.organisasjonsnummer); + } + public boolean erEnAv(Organisasjonsnummer... kandidater) { return erEnAv(asList(kandidater)); } diff --git a/api-commons/src/test/java/no/digipost/api/representations/OrganisasjonsnummerTest.java b/api-commons/src/test/java/no/digipost/api/representations/OrganisasjonsnummerTest.java index 7d7281a..5fba074 100644 --- a/api-commons/src/test/java/no/digipost/api/representations/OrganisasjonsnummerTest.java +++ b/api-commons/src/test/java/no/digipost/api/representations/OrganisasjonsnummerTest.java @@ -120,6 +120,23 @@ public void evaluates_other_strings_as_not_same() { assertFalse(organisasjonsnummer.er("991825827")); } + @Test + public void evaluates_other_organisasjonsnummer_as_same() { + Organisasjonsnummer withoutCountryCode = Organisasjonsnummer.of("984661185"); + Organisasjonsnummer withNewCountryCode = Organisasjonsnummer.of(COUNTRY_CODE_ORGANIZATION_NUMBER_NORWAY_NEW + ":984661185"); + Organisasjonsnummer withOldCountryCode = Organisasjonsnummer.of(COUNTRY_CODE_ORGANIZATION_NUMBER_NORWAY_OLD + ":984661185"); + Organisasjonsnummer notEqual = Organisasjonsnummer.of("123456789"); + assertTrue(withoutCountryCode.erSammeOrganisasjonsnummerUavhengigAvLandkode(withNewCountryCode)); + assertTrue(withoutCountryCode.erSammeOrganisasjonsnummerUavhengigAvLandkode(withOldCountryCode)); + assertTrue(withNewCountryCode.erSammeOrganisasjonsnummerUavhengigAvLandkode(withoutCountryCode)); + assertTrue(withNewCountryCode.erSammeOrganisasjonsnummerUavhengigAvLandkode(withOldCountryCode)); + assertTrue(withOldCountryCode.erSammeOrganisasjonsnummerUavhengigAvLandkode(withoutCountryCode)); + assertTrue(withOldCountryCode.erSammeOrganisasjonsnummerUavhengigAvLandkode(withNewCountryCode)); + assertFalse(notEqual.erSammeOrganisasjonsnummerUavhengigAvLandkode(withoutCountryCode)); + assertFalse(notEqual.erSammeOrganisasjonsnummerUavhengigAvLandkode(withNewCountryCode)); + assertFalse(notEqual.erSammeOrganisasjonsnummerUavhengigAvLandkode(withOldCountryCode)); + } + @Test public void correct_equals_and_hashcode() { EqualsVerifier.forClass(Organisasjonsnummer.class).verify();