Skip to content

Commit

Permalink
FEAT : Réforme unimarc 2021 :
Browse files Browse the repository at this point in the history
Ajout zones 325, E321, 338, 029, 371
Correction 034
  • Loading branch information
pierre-maraval committed Dec 3, 2021
1 parent c6dec28 commit ecfde4f
Show file tree
Hide file tree
Showing 3 changed files with 220 additions and 4 deletions.
9 changes: 6 additions & 3 deletions src/main/java/fr/abes/cbs/zones/ZonesSpecifications.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ public static ZoneSpecification getZoneSpecification(String label, TYPE_NOTICE t
new ZoneSpecification("022", "abz"),
new ZoneSpecification("023", "a"),
new ZoneSpecification("024", "abx3"),
new ZoneSpecification("029", "ab"),
new ZoneSpecification("029", "abemoz"),
new ZoneSpecification("032", "a0"),
new ZoneSpecification("033", "az2d"),
new ZoneSpecification("034", "a0"),
new ZoneSpecification("034", "a0b"),
new ZoneSpecification("035", "az2d"),
new ZoneSpecification("040", "az"),
new ZoneSpecification("071", "bacdz"),
Expand Down Expand Up @@ -114,7 +114,7 @@ public static ZoneSpecification getZoneSpecification(String label, TYPE_NOTICE t
new ZoneSpecification("322", "au2"),
new ZoneSpecification("323", "au2"),
new ZoneSpecification("324", "au2"),
new ZoneSpecification("325", "au2"),
new ZoneSpecification("325", "ab[cde]fghijnuvxyz"),
new ZoneSpecification("326", "abu2"),
new ZoneSpecification("327", "67au2"),
new ZoneSpecification("328", "zbcedtau2"),
Expand All @@ -124,9 +124,11 @@ public static ZoneSpecification getZoneSpecification(String label, TYPE_NOTICE t
new ZoneSpecification("334", "abcdu2"),
new ZoneSpecification("336", "au2"),
new ZoneSpecification("337", "au2"),
new ZoneSpecification("338", "[be]cdfg"),
new ZoneSpecification("339", "ad"),
new ZoneSpecification("345", "abcdu2"),
new ZoneSpecification("359", "vabcdefghipa"),
new ZoneSpecification("371", "8acd"),
new ZoneSpecification("410", "a[tohilbfghi]ecndpsuxy0v9"),
new ZoneSpecification("411", "a[tohilbfghi]ecndpsuxy0v9"),
new ZoneSpecification("412", "a[tohilbfghi]ecndpsuxy0v9"),
Expand Down Expand Up @@ -346,6 +348,7 @@ public static ZoneSpecification getZoneSpecification(String label, TYPE_NOTICE t
new ZoneSpecification("E317", "a", false, TYPE_NOTICE.EXEMPLAIRE),
new ZoneSpecification("E318", "abcdefhijklnopru28", false, TYPE_NOTICE.EXEMPLAIRE),
new ZoneSpecification("E319", "abcdx8", false, TYPE_NOTICE.EXEMPLAIRE),
new ZoneSpecification("E325", "ab[cde]fghijnuvxyz", false, TYPE_NOTICE.EXEMPLAIRE),
new ZoneSpecification("E702", "abgdDcf34", false, TYPE_NOTICE.EXEMPLAIRE),
new ZoneSpecification("E712", "ab[ghdfpec]34", false, TYPE_NOTICE.EXEMPLAIRE),
new ZoneSpecification("E722", "acdf34", false, TYPE_NOTICE.EXEMPLAIRE),
Expand Down
187 changes: 186 additions & 1 deletion src/test/java/fr/abes/cbs/notices/BiblioTest.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package fr.abes.cbs.notices;

import fr.abes.cbs.utilitaire.Constants;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;

import fr.abes.cbs.utilitaire.Constants;

import java.nio.charset.StandardCharsets;
import java.util.Scanner;

Expand Down Expand Up @@ -451,4 +452,188 @@ void biblioFromString214Test7() throws Exception {
"676 ##$a071\r" +
"712 02$a@University of Maryland at College Park$bCollege of Journalism$4340\r" + Constants.STR_1E);
}

@Test
void testModifZone029() throws Exception {
String biblioStr = Constants.STR_1F +
"006 593502101:19-12-06\r" +
"008 $aAax3\r" +
"029 ##$aFR$b2006LIL2E104$eTH-PH-0086$mMEM-2006-0056$o459 (numéro d'ordre)$z2006LLL2E104\r" +
"034 $aOCoLC$0493718812\r" +
"100 0#$a2006\r" +
"101 0#$afre$dfre$deng\r" +
"102 ##$aFR\r" +
"104 ##$ak$by$cy$dba$ffre\r" +
"105 ##$aa$bm$ba$c0$d0$e0$fi$gy\r" +
"106 ##$ar\r" +
"200 1#$a@Régulation de la captation sélective des esters de cholestérol dans différents types cellulaires TEST$eimplication d'un réseau complexe de protéines (SR-BI, apolipoprotéine E, lipoprotéine lipase...)$fStéphanie Bultel$gsous la direction de Véronique Clavey\r" +
"214 #1$d2006\r" +
"215 ##$a1 vol. (239 f.)$cill. en noir et en coul.$d30 cm\r" +
"310 ##$aPublication autorisée par le jury\r" +
"328 #0$bThèse d'exercice$cPharmacie$eLille 2$d2006\r" +
"328 #0$bMémoire du diplôme d'études spécialisées$cPharmacie spécialisée$eLille 2$d2006\r" +
"328 #0$bThèse de doctorat$cSciences pharmaceutiques$eLille 2$d2006\r" +
"700 #1$3111475384$4070\r" +
"701 #1$3075890127$4727\r" +
"711 01$3026404389$4295\r" + Constants.STR_1E;

Biblio biblio = new Biblio(biblioStr);

assertThat(biblio.toString()).isEqualTo(Constants.STR_1F +
"006 593502101:19-12-06\r" +
"008 $aAax3\r" +
"029 ##$aFR$b2006LIL2E104$eTH-PH-0086$mMEM-2006-0056$o459 (numéro d'ordre)$z2006LLL2E104\r" +
"034 $aOCoLC$0493718812\r" +
"100 0#$a2006\r" +
"101 0#$afre$dfre$deng\r" +
"102 ##$aFR\r" +
"104 ##$ak$by$cy$dba$ffre\r" +
"105 ##$aa$bm$ba$c0$d0$e0$fi$gy\r" +
"106 ##$ar\r" +
"200 1#$a@Régulation de la captation sélective des esters de cholestérol dans différents types cellulaires TEST$eimplication d'un réseau complexe de protéines (SR-BI, apolipoprotéine E, lipoprotéine lipase...)$fStéphanie Bultel$gsous la direction de Véronique Clavey\r" +
"214 #1$d2006\r" +
"215 ##$a1 vol. (239 f.)$cill. en noir et en coul.$d30 cm\r" +
"310 ##$aPublication autorisée par le jury\r" +
"328 #0$bThèse d'exercice$cPharmacie$eLille 2$d2006\r" +
"328 #0$bMémoire du diplôme d'études spécialisées$cPharmacie spécialisée$eLille 2$d2006\r" +
"328 #0$bThèse de doctorat$cSciences pharmaceutiques$eLille 2$d2006\r" +
"700 #1$3111475384$4070\r" +
"701 #1$3075890127$4727\r" +
"711 01$3026404389$4295\r" + Constants.STR_1E);
}

@Test
void testAjoutZone325() throws Exception {
String biblioStr = Constants.STR_1F +
"003 201925001\r" +
"004 4018:19-06-17\r" +
"005 341720001:08-10-21 17:53:25.000\r" +
"006 4018:19-06-17\r" +
"008 $aOax3\r" +
"010 ##$A978-0-674-73442-5\r" +
"017 70$a10.4159/harvard.9780674734425$2doi\r" +
"100 1#$a1974\r" +
"101 0#$aeng\r" +
"102 ##$aDE$aUS\r" +
"104 ##$a|$b|$cy$ffre\r" +
"135 ##$ad$br\r" +
"181 ##$P01$ctxt\r" +
"182 ##$P01$cc\r" +
"183 ##$P01$aceb\r" +
"200 1#$aThe @Lyon Uprising of 1834 TEST AVEC 325$eSocial and Political Conflict in the Early July Monarchy$fRobert J. Bezucha\r" +
"214 #0$aCambridge, Mass.$cHarvard University Press$d[1974]\r" +
"325 ##$aNumérisation sur archive.org$uhttps://openlibrary.org/works/OL957949W/\r" +
"325 ##$bReproduction numérique$cLieu inconnu$dArchive.org$e2020$faccès en ligne$gCollection Lyon Social$h0$iNote pour info sur le caractère complet de la repro$j3pd06$nNote sur la reproduction$uhttps://openlibrary.org/works/OL957949W/Renoir$x1292-8399$z20210913\r" +
"801 #0$aDE$bIN-ChSCO$c20170329$grda\r" + Constants.STR_1E;
Biblio biblio = new Biblio(biblioStr);

assertThat(biblio.toString()).isEqualTo(Constants.STR_1F +
"003 201925001\r" +
"004 4018:19-06-17\r" +
"005 341720001:08-10-21 17:53:25.000\r" +
"006 4018:19-06-17\r" +
"008 $aOax3\r" +
"010 ##$A978-0-674-73442-5\r" +
"017 70$a10.4159/harvard.9780674734425$2doi\r" +
"100 1#$a1974\r" +
"101 0#$aeng\r" +
"102 ##$aDE$aUS\r" +
"104 ##$a|$b|$cy$ffre\r" +
"135 ##$ad$br\r" +
"181 ##$P01$ctxt\r" +
"182 ##$P01$cc\r" +
"183 ##$P01$aceb\r" +
"200 1#$aThe @Lyon Uprising of 1834 TEST AVEC 325$eSocial and Political Conflict in the Early July Monarchy$fRobert J. Bezucha\r" +
"214 #0$aCambridge, Mass.$cHarvard University Press$d[1974]\r" +
"325 ##$aNumérisation sur archive.org$uhttps://openlibrary.org/works/OL957949W/\r" +
"325 ##$bReproduction numérique$cLieu inconnu$dArchive.org$e2020$faccès en ligne$gCollection Lyon Social$h0$iNote pour info sur le caractère complet de la repro$j3pd06$nNote sur la reproduction$uhttps://openlibrary.org/works/OL957949W/Renoir$x1292-8399$z20210913\r" +
"801 #0$aDE$bIN-ChSCO$c20170329$grda\r" + Constants.STR_1E);
}

@Test
void testAjout371et338() throws Exception {
String biblioStr = Constants.STR_1F +
"002 $aFRBNF46624974000000X$2FRBNF\r" +
"003 http://www.sudoc.fr/232844194\r" +
"004 4994:19-11-20\r" +
"005 1837:23-11-21 16:40:10.000\r" +
"006 4994:19-11-20\r" +
"007 1837:23-11-21 16:40:10.000\r" +
"008 $aAax3\r" +
"010 ##$A978-2-35884-100-9$bbr.$d20 EUR\r" +
"020 ##$aFR$b02043044\r" +
"024 $aSIBB$bM$323306821X\r" +
"100 0#$a2021\r" +
"101 0#$afre\r" +
"102 ##$aFR\r" +
"104 ##$am$by$cy$dba$e0$ffre\r" +
"105 ##$aa$bz$c0$d0$e1$fc$gb\r" +
"106 ##$ar\r" +
"181 ##$P01$ctxt\r" +
"182 ##$P01$cn\r" +
"183 ##$P01$anga\r" +
"200 1#$a@Robert Schumann TEST$fJean Gallois\r" +
"214 #0$a[Paris]$cBleu nuit éditeur\r" +
"214 #4$dC 2021\r" +
"215 ##$a1 vol. (176 p.)$cill.$d20 cm\r" +
"320 ##$aBibliogr. p. 171. Discogr. p. 169-170. Index\r" +
"325 ##$bReproduction numérique$cParis$dBibliothèque nationale de France, Centre national de la littérature pour la jeunesse$e2005$h0$i1976-$j3py02$uhttp://www.tucliquesici$y978-2-03-598509-5$z20210109\r" +
"325 ##$bMicrofiche$cParis$dBnF$h0$i1888/11 (série 1, fasc. 2 -1936/12) (série 27, fasc. 6)$j1xx##$uhttp://gallica.bnf.fr/ark:/12148/cb343494147/1936$v20141202$x2419-6592\r" +
"325 ##$bFac-similé$cParis$dEditeur incroyable$e2008$f2 volumes (48 p.)$gCollection rigolote$j1xx##$x2419-6592\r" +
"325 ##$aReproduction numérique réalisée en 2021 par la bibliothèque$uhttp://www.labibliotheque.fr\r" +
"338 ##$bCommission européenne$eUnion européenne$bCommission ministerielle$eMESRI$eMInistère de la santé$cH2021$dH2020-SFS-2016-2017$fPromoting One Health in Europe through joint actions on foodborne zoonoses, antimicrobial resistance and emerging microbiological hazards$gOne Health EJP\r" +
"338 ##$bINCa$eMESRI$eMinistère des solidarités et de la santé$bIReSP$eINSERM$cSPADOC\r" +
"338 ##$bAID$bCEA$ccontrat de thèse CEA/AID$d2021-47\r" +
"371 0#$8PDF$aAccès réservé aux établissements ou bibliothèques abonnés\r" +
"371 1#$aReproduction interdite$dautorisée à des seules fins de recherche\r" +
"600 #1$3027128660Schumann, Robert (1810-1856 ; musicien)$2rameau\r" +
"608 ##$3027281558Biographies$2rameau\r" +
"700 #1$3026879972Gallois, Jean$4330 (Auteur prétendu)\r" +
"711 02$3027801411@Union européenne. Commission européenne$4723 (Mécène)\r" +
"801 #0$aFR$bFR-751131015$c20200929$gAFNOR$2intermrc\r" + Constants.STR_1E;

Biblio biblio = new Biblio(biblioStr);

assertThat(biblio.toString()).isEqualTo(
Constants.STR_1F +
"002 $aFRBNF46624974000000X$2FRBNF\r" +
"003 http://www.sudoc.fr/232844194\r" +
"004 4994:19-11-20\r" +
"005 1837:23-11-21 16:40:10.000\r" +
"006 4994:19-11-20\r" +
"007 1837:23-11-21 16:40:10.000\r" +
"008 $aAax3\r" +
"010 ##$A978-2-35884-100-9$bbr.$d20 EUR\r" +
"020 ##$aFR$b02043044\r" +
"024 $aSIBB$bM$323306821X\r" +
"100 0#$a2021\r" +
"101 0#$afre\r" +
"102 ##$aFR\r" +
"104 ##$am$by$cy$dba$e0$ffre\r" +
"105 ##$aa$bz$c0$d0$e1$fc$gb\r" +
"106 ##$ar\r" +
"181 ##$P01$ctxt\r" +
"182 ##$P01$cn\r" +
"183 ##$P01$anga\r" +
"200 1#$a@Robert Schumann TEST$fJean Gallois\r" +
"214 #0$a[Paris]$cBleu nuit éditeur\r" +
"214 #4$dC 2021\r" +
"215 ##$a1 vol. (176 p.)$cill.$d20 cm\r" +
"320 ##$aBibliogr. p. 171. Discogr. p. 169-170. Index\r" +
"325 ##$bReproduction numérique$cParis$dBibliothèque nationale de France, Centre national de la littérature pour la jeunesse$e2005$h0$i1976-$j3py02$uhttp://www.tucliquesici$y978-2-03-598509-5$z20210109\r" +
"325 ##$bMicrofiche$cParis$dBnF$h0$i1888/11 (série 1, fasc. 2 -1936/12) (série 27, fasc. 6)$j1xx##$uhttp://gallica.bnf.fr/ark:/12148/cb343494147/1936$v20141202$x2419-6592\r" +
"325 ##$bFac-similé$cParis$dEditeur incroyable$e2008$f2 volumes (48 p.)$gCollection rigolote$j1xx##$x2419-6592\r" +
"325 ##$aReproduction numérique réalisée en 2021 par la bibliothèque$uhttp://www.labibliotheque.fr\r" +
"338 ##$bCommission européenne$eUnion européenne$bCommission ministerielle$eMESRI$eMInistère de la santé$cH2021$dH2020-SFS-2016-2017$fPromoting One Health in Europe through joint actions on foodborne zoonoses, antimicrobial resistance and emerging microbiological hazards$gOne Health EJP\r" +
"338 ##$bINCa$eMESRI$eMinistère des solidarités et de la santé$bIReSP$eINSERM$cSPADOC\r" +
"338 ##$bAID$bCEA$ccontrat de thèse CEA/AID$d2021-47\r" +
"371 0#$8PDF$aAccès réservé aux établissements ou bibliothèques abonnés\r" +
"371 1#$aReproduction interdite$dautorisée à des seules fins de recherche\r" +
"600 #1$3027128660Schumann, Robert (1810-1856 ; musicien)$2rameau\r" +
"608 ##$3027281558Biographies$2rameau\r" +
"700 #1$3026879972Gallois, Jean$4330 (Auteur prétendu)\r" +
"711 02$3027801411@Union européenne. Commission européenne$4723 (Mécène)\r" +
"801 #0$aFR$bFR-751131015$c20200929$gAFNOR$2intermrc\r" + Constants.STR_1E
);
}
}
28 changes: 28 additions & 0 deletions src/test/java/fr/abes/cbs/notices/ExemplaireTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -339,5 +339,33 @@ void getNumEx() throws Exception {
assertThat(exemp.getNumEx()).isEqualTo("01");
}

@DisplayName("test ajout zone E325")
@Test
void testE325() throws Exception {
String exempStr = Constants.STR_1F +
"e01 $a27-11-20$bx\r" +
"930 ##$b341720001\r" +
"997 $balma$a2211189990000572\r" +
"A97 23-11-21 16:35:13.000\r" +
"A98 341720001:27-11-20\r" +
"A99 625586905\r" +
"E325 ##$aFac-similé par la maison d'édition Du pareil au même$uttp://www.dupareilaumeme$v20210916\r" +
"E325 ##$bFac-similé$cParis$dEdition du pareil au même$e2012$f1 vol. (338 p.)$gCollection L'Identique$h1$iA noter que c'est complet$j3ly04$nRien à dire sur la repro$uhttp://www.dupareilaumeme.fr$v20210404$x2419-6592\r" + Constants.STR_1E;
Exemplaire exemp = new Exemplaire(exempStr);

assertThat(exemp.toString()).isEqualTo(Constants.STR_1F +
"e01 $a27-11-20$bx\r" +
"930 ##$b341720001\r" +
"997 $balma$a2211189990000572\r" +
"A97 23-11-21 16:35:13.000\r" +
"A98 341720001:27-11-20\r" +
"A99 625586905\r" +
"E325 ##$aFac-similé par la maison d'édition Du pareil au même$uttp://www.dupareilaumeme$v20210916\r" +
"E325 ##$bFac-similé$cParis$dEdition du pareil au même$e2012$f1 vol. (338 p.)$gCollection L'Identique$h1$iA noter que c'est complet$j3ly04$nRien à dire sur la repro$uhttp://www.dupareilaumeme.fr$v20210404$x2419-6592\r" + Constants.STR_1E);



}


}

0 comments on commit ecfde4f

Please sign in to comment.