bug 6281: introduce LC::CallNumber::LC for sorting LC call numbers
authorGalen Charlton <gmc@esilibrary.com>
Fri, 17 Aug 2012 15:23:47 +0000 (11:23 -0400)
committerGalen Charlton <gmc@esilibrary.com>
Mon, 10 Jun 2013 14:56:53 +0000 (07:56 -0700)
commitbc87274c66a50712dccb15656001d97f2a36fba5
tree1960b391cc766283dec64c51b7c365487116a38a
parent87ab820a20e1ef935d4d29c6fed313e9723fcb64
bug 6281: introduce LC::CallNumber::LC for sorting LC call numbers

This replaces the previous hand-coded normalizer.  Because
LC::CallNumber::LC appears to reject strings that aren't valid
LC call numbers, significant changes to the test cases were
made as well -- however, the one that really counts is the
last one which verifies the sorting.

To recalculate the call number sort key for each item, it is necessary
to run misc/maintenance/touch_all_items.pl

To test, create item records with the following call numbers, setting
the classification sort to 'lcc':

QC100 .U57 NO. 555 1986
QC145 .A57 V.12 1980
QC145.45 .H4 D65 1998
QC995 .E29 1997

Next, make a report of them in the inventory tool.  The items should be sorted
in the above order.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
C4/ClassSortRoutine/LCC.pm
t/ClassSortRoutine_LCC.t