blob: 63bb2eab68b6bf11f4f8c29542fd402948a7584b [file] [log] [blame]
#!/usr/bin/env bash
TESTDIR=$(dirname $0)
ASSERTSH=${TESTDIR}/assert.sh
# set -e
. ${ASSERTSH}
ERRORS=0
TEXTS=6
I5_FILE=target/dnb18.i5.xml
if [ ! -f "$I5_FILE" ]; then
log_failure "File $I5_FILE does not exist"
exit 1
fi
observed=$(xmlstarlet sel --net -t -v "count(//idsText)" $I5_FILE)
if $(assert_eq "$observed" "$TEXTS"); then
log_success "$I5_FILE contains $TEXTS idsText elements"
else
log_failure "$I5_FILE does not contain $TEXTS idsText elements, but: $observed"
((ERRORS++))
fi
observed=$(xmlstarlet sel --net -t -v "count(/idsCorpus/idsDoc/idsText/idsHeader/fileDesc/sourceDesc/biblStruct/monogr/h.author[normalize-space(.)])" $I5_FILE)
if $(assert_eq "$observed" "$TEXTS"); then
log_success "$I5_FILE contains $TEXTS non-empty h.author elements"
else
log_failure "$I5_FILE does not contain $TEXTS non-empty h.author elements: $observed"
((ERRORS++))
fi
observed=$(xmlstarlet sel --net -t -v "/idsCorpus/idsHeader/fileDesc/titleStmt/c.title" target/dnb13.i5.xml)
if $(assert_eq "$observed" "Deutsche Nationalbibliothek: Belletristik 2013"); then
log_success "c.title contains yeaar"
else
log_failure "c.title does not contain year: $observed"
((ERRORS++))
fi
observed=$(xmlstarlet sel --net -t -v "count(/idsCorpus/idsDoc/idsText/idsHeader/fileDesc/sourceDesc/biblStruct/monogr/h.author[contains(., '[')])" target/dnb13.i5.xml)
if $(assert_eq "$observed" "0"); then
log_success "authors do not contain []"
else
log_failure "authors contain []: $observed"
((ERRORS++))
fi
observed=$(xmlstarlet sel --net -t -v "/idsCorpus/idsDoc/idsText/idsHeader/fileDesc/sourceDesc/biblStruct/monogr/editor[@role='translator'][1]" target/dnb13.i5.xml)
if $(assert_eq "$observed" "Zwack, Heinz"); then
log_success "translator is correctly identified"
else
log_failure "translator is not correctly identified: $observed"
((ERRORS++))
fi
observed=$(grep -Ec '^Copyright' target/dnb13.i5.xml)
if $(assert_eq "$observed" "2"); then
log_success "spaces at <br> elements are inserted correctly"
else
log_failure "spaces at <br> elements are not inserted correctly"
((ERRORS++))
fi
if [ $ERRORS -gt 0 ]; then
log_failure "There were $ERRORS errors"
exit 1
else
log_success "All tests passed"
fi