From 1b0a5446ab988840aafa6a11c8938a7a87bdb516 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. --- .../api/representations/Organisasjonsnummer.java | 4 ++++ .../representations/OrganisasjonsnummerTest.java | 13 +++++++++++++ 2 files changed, 17 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..be164da 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,19 @@ 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"); + assertTrue(withoutCountryCode.erSammeOrganisasjonsnummerUavhengigAvLandkode(withNewCountryCode)); + assertTrue(withoutCountryCode.erSammeOrganisasjonsnummerUavhengigAvLandkode(withOldCountryCode)); + assertTrue(withNewCountryCode.erSammeOrganisasjonsnummerUavhengigAvLandkode(withoutCountryCode)); + assertTrue(withNewCountryCode.erSammeOrganisasjonsnummerUavhengigAvLandkode(withOldCountryCode)); + assertTrue(withOldCountryCode.erSammeOrganisasjonsnummerUavhengigAvLandkode(withoutCountryCode)); + assertTrue(withOldCountryCode.erSammeOrganisasjonsnummerUavhengigAvLandkode(withNewCountryCode)); + } + @Test public void correct_equals_and_hashcode() { EqualsVerifier.forClass(Organisasjonsnummer.class).verify();