diff --git a/.idea/dcc-js.iml b/.idea/dcc-js.iml index fd007615b99d0d916f6913914ad89397a1db43cd..0f25bd88194e76be42f29be250b16618afd0184e 100644 --- a/.idea/dcc-js.iml +++ b/.idea/dcc-js.iml @@ -6,6 +6,8 @@ <excludeFolder url="file://$MODULE_DIR$/temp" /> <excludeFolder url="file://$MODULE_DIR$/tmp" /> <excludeFolder url="file://$MODULE_DIR$/lib" /> + <excludeFolder url="file://$MODULE_DIR$/.yarn" /> + <excludeFolder url="file://$MODULE_DIR$/coverage" /> </content> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> diff --git a/package.json b/package.json index 71ce29be38c24768f841bd5f22060657121adffd..1782746a2adf6b1c347821f0734b3f7c6a591734 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "@typescript-eslint/eslint-plugin": "^5.60.1", "@typescript-eslint/parser": "^5.60.1", "@vitest/coverage-istanbul": "^0.32.2", + "@vitest/ui": "^0.32.4", "concurrently": "^8.2.0", "eslint": "^8.43.0", "eslint-config-prettier": "^8.8.0", diff --git a/src/DCCDocument.ts b/src/DCCDocument.ts index 04592c19544e1095b435b79489ea5c453fab3404..80e3fb9e4b8f9ebabf6cfe382812da5ad1004451 100644 --- a/src/DCCDocument.ts +++ b/src/DCCDocument.ts @@ -53,7 +53,7 @@ export class DCCDocument { return new DCCDocument(parsed); } - toXML(): string { + toXML(options = { spaces: 2 }): string { /* Properties order in objects is not guaranteed in JavaScript. * This is a workaround to fix this. * The keys are set in the right order by creating a new instance of DCCDocument */ @@ -61,7 +61,7 @@ export class DCCDocument { return js2xml(<Element>fixedOrderDoc, { compact: true, ignoreComment: true, - spaces: 2, + spaces: options.spaces, attributesKey: "_attr", elementNameFn: function (val, currentElementObj) { // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/tests/DCC/AdministrativeData.CalibrationLaboratory.test.ts b/tests/DCC/AdministrativeData.CalibrationLaboratory.test.ts deleted file mode 100644 index 60139b17a40357eda8f3818097bd4bd56568b4f9..0000000000000000000000000000000000000000 --- a/tests/DCC/AdministrativeData.CalibrationLaboratory.test.ts +++ /dev/null @@ -1,79 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/example.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../util"; -import { CalibrationLaboratoryType, DCCDocument } from "../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:calibrationLaboratory/dcc:contact"; -const xpath = { - name: `string(${base}/dcc:name/dcc:content)`, - eMail: `string(${base}/dcc:eMail)`, - phone: `string(${base}/dcc:phone)`, - fax: `string(${base}/dcc:fax)`, - location: { - city: `${base}/dcc:location/dcc:city`, - countryCode: `${base}/dcc:location/dcc:countryCode`, - postCode: `${base}/dcc:location/dcc:postCode`, - street: `${base}/dcc:location/dcc:street`, - streetNo: `${base}/dcc:location/dcc:streetNo`, - further: `${base}/dcc:location/dcc:further/dcc:content`, - }, -}; - -describe("CalibrationLaboratoryType", () => { - let dcc: DCCDocument, calibrationLaboratory: CalibrationLaboratoryType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - calibrationLaboratory = dcc.digitalCalibrationCertificate.administrativeData.calibrationLaboratory; - }); - - test("should get correct name from XML", () => { - expect(calibrationLaboratory.contact.name.content[0]._text).toBe(select(xpath.name, dom)); - }); - - test("should get correct eMail from XML", () => { - expect(calibrationLaboratory.contact.eMail._text).toBe(select(xpath.eMail, dom)); - }); - - test("should get correct phone from XML", () => { - expect(calibrationLaboratory.contact.phone._text).toBe(select(xpath.phone, dom)); - }); - - test("should get correct city from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.location.city, dom); - expect(toTextArr(calibrationLaboratory.contact.location.city)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct countryCode from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.location.countryCode, dom); - expect(toTextArr(calibrationLaboratory.contact.location.countryCode)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct postCode from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.location.postCode, dom); - expect(toTextArr(calibrationLaboratory.contact.location.postCode)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct street from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.location.street, dom); - expect(toTextArr(calibrationLaboratory.contact.location.street)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct streetNo from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.location.streetNo, dom); - expect(toTextArr(calibrationLaboratory.contact.location.streetNo)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct further element from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.location.further, dom); - expect(toTextArr(calibrationLaboratory.contact.location.further[0].content)).toEqual(toTextContentArr(expected)); - }); -}); diff --git a/tests/DCC/AdministrativeData.CoreDataType.test.ts b/tests/DCC/AdministrativeData.CoreDataType.test.ts deleted file mode 100644 index 5f62a27b6169f295eb96346268b7ae14c5dc20bd..0000000000000000000000000000000000000000 --- a/tests/DCC/AdministrativeData.CoreDataType.test.ts +++ /dev/null @@ -1,119 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/example.xml" } - */ - -import * as fc from "fast-check"; -import { indexOf, select, toTextArr, toTextContentArr } from "../util"; -import { CoreDataType, DCCDocument, DCCXMLElement } from "../../src"; -import { string_ISO639_1 } from "../Arbitraries"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:coreData"; -const xpath = { - coreData: { - countryCodeISO3166_1: `string(${base}/dcc:countryCodeISO3166_1)`, - usedLangCodeISO639_1: `${base}/dcc:usedLangCodeISO639_1`, - mandatoryLangCodeISO639_1: `${base}/dcc:mandatoryLangCodeISO639_1`, - uniqueIdentifier: `string(${base}/dcc:uniqueIdentifier)`, - identifications: { - identification: { - issuer: `string(${base}/dcc:identifications/dcc:identification[1]/dcc:issuer)`, - value: `string(${base}/dcc:identifications/dcc:identification[1]/dcc:value)`, - name: { - content: `${base}/dcc:identifications/dcc:identification[1]/dcc:name/dcc:content`, - }, - }, - }, - receiptDate: `string(${base}/dcc:receiptDate)`, - beginPerformanceDate: `string(${base}/dcc:beginPerformanceDate)`, - endPerformanceDate: `string(${base}/dcc:endPerformanceDate)`, - performanceLocation: `string(${base}/dcc:performanceLocation)`, - }, -}; - -describe("CoreDataType", () => { - let dcc: DCCDocument, coreData: CoreDataType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - coreData = dcc.digitalCalibrationCertificate.administrativeData.coreData; - }); - - test("should get correct countryCodeISO3166_1 from XML", () => { - expect(coreData.countryCodeISO3166_1._text).toBe(select(xpath.coreData.countryCodeISO3166_1, dom)); - }); - - test("should get correct usedLangCodeISO639_1 from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.coreData.usedLangCodeISO639_1, dom); - expect(toTextArr(coreData.usedLangCodeISO639_1)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct mandatoryLangCodeISO639_1 from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.coreData.mandatoryLangCodeISO639_1, dom); - expect(toTextArr(coreData.mandatoryLangCodeISO639_1)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct unique identifier from XML", () => { - expect(coreData.uniqueIdentifier._text).toBe(select(xpath.coreData.uniqueIdentifier, dom)); - }); - - test("should get correct identification issuer from XML", () => { - expect(coreData.identifications.identification[0].issuer._text).toBe(select(xpath.coreData.identifications.identification.issuer, dom)); - }); - - test("should get correct identification value from XML", () => { - expect(coreData.identifications.identification[0].value._text).toBe(select(xpath.coreData.identifications.identification.value, dom)); - }); - - test("should get correct identification name content from XML", () => { - const expected = <Element[]>select(xpath.coreData.identifications.identification.name.content, dom); - expect(toTextArr(coreData.identifications.identification[0].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct receipt date from XML", () => { - expect(coreData.receiptDate._text).toBe(select(xpath.coreData.receiptDate, dom)); - }); - test("should get correct begin performance date from XML", () => { - expect(coreData.beginPerformanceDate._text).toBe(select(xpath.coreData.beginPerformanceDate, dom)); - }); - test("should get correct end performance date from XML", () => { - expect(coreData.endPerformanceDate._text).toBe(select(xpath.coreData.endPerformanceDate, dom)); - }); - test("should get correct performance location from XML", () => { - expect(coreData.performanceLocation._text).toBe(select(xpath.coreData.performanceLocation, dom)); - }); - - /* test for setters */ - test("should set usedLangCodeISO639_1 correctly", () => { - fc.assert( - fc.property(string_ISO639_1(), (str) => { - // add new element to array - coreData.usedLangCodeISO639_1.push(new DCCXMLElement({ _text: str })); - - // get actual list from xml - const actual = <Element[]>select(xpath.coreData.usedLangCodeISO639_1, dcc); - - expect(toTextArr(coreData.usedLangCodeISO639_1)).toContain(str); - expect(toTextContentArr(actual)).toContain(str); - }), - ); - }); - - test("should delete usedLangCodeISO639_1 correctly", () => { - const selection = toTextContentArr(<Element[]>select(xpath.coreData.usedLangCodeISO639_1, dom)); - fc.assert( - fc.property(fc.constantFrom(...selection), (str) => { - // get index and remove element from array - const index = indexOf(coreData.usedLangCodeISO639_1, str); - coreData.usedLangCodeISO639_1.splice(index, 1); - - // get actual list from xml - const actual = <Element[]>select(xpath.coreData.usedLangCodeISO639_1, dcc); - - expect(toTextArr(coreData.usedLangCodeISO639_1)).not.toContain(str); - expect(toTextContentArr(actual)).not.toContain(str); - }), - ); - }); -}); diff --git a/tests/DCC/AdministrativeData.Customer.test.ts b/tests/DCC/AdministrativeData.Customer.test.ts deleted file mode 100644 index 911936bb540030981a4a67cb91b184ddc21cb834..0000000000000000000000000000000000000000 --- a/tests/DCC/AdministrativeData.Customer.test.ts +++ /dev/null @@ -1,76 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/example.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../util"; -import { ContactType, DCCDocument, LocationType } from "../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:customer"; -const xpath = { - customer: { - name: { - content: `${base}/dcc:name/dcc:content`, - }, - email: `string(${base}/dcc:eMail)`, - phone: `string(${base}/dcc:phone)`, - fax: `string(${base}/dcc:fax)`, - location: { - city: `${base}/dcc:location/dcc:city[1]`, - countryCode: `${base}/dcc:location/dcc:countryCode[1]`, - postCode: `${base}/dcc:location/dcc:postCode[1]`, - postBoxOffice: `${base}/dcc:location/dcc:postBoxOffice[1]`, - state: `${base}/dcc:location/dcc:state[1]`, - street: `${base}/dcc:location/dcc:street[1]`, - streetNo: `${base}/dcc:location/dcc:streetNo[1]`, - further: `${base}/dcc:location/dcc:further[1]/dcc:content`, - positionCoordinates: `${base}/dcc:location/dcc:positionCoordinates[1]`, - }, - descriptionData: `${base}/dcc:descriptionData`, - _id: `${base}/@id`, - }, -}; - -describe("ContactType", () => { - let dcc: DCCDocument, customer: ContactType, location: LocationType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - customer = dcc.digitalCalibrationCertificate.administrativeData.customer; - location = customer.location; /* TODO: check iff this variable is used anywhere */ - }); - - test("should get correct customer name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.customer.name.content, dom); - expect(toTextArr(customer.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct customer email address from XML", () => { - expect(customer.eMail._text).toBe(select(xpath.customer.email, dom)); - }); - - test("should get correct customer location city from XML", () => { - const expected = <Element[]>select(xpath.customer.location.city, dom); - expect(customer.location.city[0]._text).toEqual(toTextContentArr(expected)[0]); - }); - - test("should get correct customer location county code from XML", () => { - const expected = <Element[]>select(xpath.customer.location.countryCode, dom); - expect(customer.location.countryCode[0]._text).toEqual(toTextContentArr(expected)[0]); - }); - - test("should get correct customer location post code from XML", () => { - const expected = <Element[]>select(xpath.customer.location.postCode, dom); - expect(customer.location.postCode[0]._text).toEqual(toTextContentArr(expected)[0]); - }); - - test("should get correct customer location further from XML", () => { - const expected = <Element[]>select(xpath.customer.location.further, dom); - - for (let i = 0; i < expected.length; i++) { - expect(customer.location.further[0].content[i]._text).toBe(expected[i].textContent); - } - }); - - /* TODO: setters */ -}); diff --git a/tests/DCC/AdministrativeData.Items.test.ts b/tests/DCC/AdministrativeData.Items.test.ts deleted file mode 100644 index ce71db48e9520ddf5a0218dd3285c657392fecc1..0000000000000000000000000000000000000000 --- a/tests/DCC/AdministrativeData.Items.test.ts +++ /dev/null @@ -1,116 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/example.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../util"; -import { ItemType, DCCDocument, IdentificationType } from "../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:items"; -const xpath = { - items: { - item: { - name: { - content: `${base}/dcc:item[1]/dcc:name/dcc:content`, - }, - manufacturer: { - name: { - content: `${base}/dcc:item[1]/dcc:manufacturer/dcc:name/dcc:content`, - }, - }, - model: `string(${base}/dcc:item[1]/dcc:model)`, - - identifications: { - identification1: { - issuer: `string(${base}/dcc:item[1]/dcc:identifications/dcc:identification[1]/dcc:issuer)`, - value: `string(${base}/dcc:item[1]/dcc:identifications/dcc:identification[1]/dcc:value)`, - name: { - content: `${base}/dcc:item[1]/dcc:identifications/dcc:identification[1]/dcc:name/dcc:content`, - }, - }, - identification2: { - issuer: `string(${base}/dcc:item[1]/dcc:identifications/dcc:identification[2]/dcc:issuer)`, - value: `string(${base}/dcc:item[1]/dcc:identifications/dcc:identification[2]/dcc:value)`, - name: { - content: `${base}/dcc:item[1]/dcc:identifications/dcc:identification[2]/dcc:name/dcc:content`, - }, - }, - identification3: { - issuer: `string(${base}/dcc:item[1]/dcc:identifications/dcc:identification[3]/dcc:issuer)`, - value: `string(${base}/dcc:item[1]/dcc:identifications/dcc:identification[3]/dcc:value)`, - name: { - content: `${base}/dcc:item[1]/dcc:identifications/dcc:identification[3]/dcc:name/dcc:content`, - }, - }, - }, - }, - }, -}; - -describe("ItemType", () => { - let dcc: DCCDocument, item: ItemType, identification1, identification2, identification3: IdentificationType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - item = dcc.digitalCalibrationCertificate.administrativeData.items.item[0]; - identification1 = item.identifications.identification[0]; - identification2 = item.identifications.identification[1]; - identification3 = item.identifications.identification[2]; - }); - - test("should get correct item name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.items.item.name.content, dom); - expect(toTextArr(item.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct item manufacturer name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.items.item.manufacturer.name.content, dom); - expect(toTextArr(item.manufacturer.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct item model from XML", () => { - expect(item.model._text).toBe(select(xpath.items.item.model, dom)); - }); - - test("should get correct identification 1 issuer from XML", () => { - expect(identification1.issuer._text).toBe(select(xpath.items.item.identifications.identification1.issuer, dom)); - }); - - test("should get correct identification 1 value from XML", () => { - expect(identification1.value._text).toBe(select(xpath.items.item.identifications.identification1.value, dom)); - }); - - test("should get correct identification 1 name content from XML", () => { - const expected = <Element[]>select(xpath.items.item.identifications.identification1.name.content, dom); - expect(toTextArr(identification1.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct identification 2 issuer from XML", () => { - expect(identification2.issuer._text).toBe(select(xpath.items.item.identifications.identification2.issuer, dom)); - }); - - test("should get correct identification 2 value from XML", () => { - expect(identification2.value._text).toBe(select(xpath.items.item.identifications.identification2.value, dom)); - }); - - test("should get correct identification 2 name content from XML", () => { - const expected = <Element[]>select(xpath.items.item.identifications.identification2.name.content, dom); - expect(toTextArr(identification2.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct identification 3 issuer from XML", () => { - expect(identification3.issuer._text).toBe(select(xpath.items.item.identifications.identification3.issuer, dom)); - }); - - test("should get correct identification 3 value from XML", () => { - expect(identification3.value._text).toBe(select(xpath.items.item.identifications.identification3.value, dom)); - }); - - test("should get correct identification 3 name content from XML", () => { - const expected = <Element[]>select(xpath.items.item.identifications.identification3.name.content, dom); - expect(toTextArr(identification3.name.content)).toEqual(toTextContentArr(expected)); - }); - - /* TODO: setters */ -}); diff --git a/tests/DCC/AdministrativeData.RespPersons.test.ts b/tests/DCC/AdministrativeData.RespPersons.test.ts deleted file mode 100644 index 101c5d22c80ab057c5a4b8c2e984cf4e4c9ba9f9..0000000000000000000000000000000000000000 --- a/tests/DCC/AdministrativeData.RespPersons.test.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/example.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../util"; -import { RespPersonType, DCCDocument } from "../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:respPersons"; -const xpath = { - respPersons: { - respPerson1: { - person: { - name: { - content: `${base}/dcc:respPerson[1]/dcc:person/dcc:name/dcc:content`, - }, - }, - mainSigner: `string(${base}/dcc:respPerson[1]/dcc:mainSigner)`, - }, - respPerson2: { - person: { - name: { - content: `${base}/dcc:respPerson[2]/dcc:person/dcc:name/dcc:content`, - }, - }, - }, - }, -}; - -describe("ContactType", () => { - let dcc: DCCDocument, respPerson1, respPerson2: RespPersonType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - respPerson1 = dcc.digitalCalibrationCertificate.administrativeData.respPersons.respPerson[0]; - respPerson2 = dcc.digitalCalibrationCertificate.administrativeData.respPersons.respPerson[1]; - }); - - test("should get correct responsible person 1 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.respPersons.respPerson1.person.name.content, dom); - expect(toTextArr(respPerson1.person.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct responsible person 1 main signer flag from XML", () => { - expect(respPerson1.mainSigner._text).toBe(select(xpath.respPersons.respPerson1.mainSigner, dom)); - }); - - test("should get correct responsible person 2 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.respPersons.respPerson2.person.name.content, dom); - expect(toTextArr(respPerson2.person.name.content)).toEqual(toTextContentArr(expected)); - }); - - /* TODO: setters */ -}); diff --git a/tests/DCC/AdministrativeData.SoftwareListType.test.ts b/tests/DCC/AdministrativeData.SoftwareListType.test.ts deleted file mode 100644 index 348629014c6410af3b3cef86ddb1ccf585fd8f74..0000000000000000000000000000000000000000 --- a/tests/DCC/AdministrativeData.SoftwareListType.test.ts +++ /dev/null @@ -1,40 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/example.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../util"; -import { SoftwareListType, DCCDocument, SoftwareType } from "../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:dccSoftware/dcc:software"; -const xpath = { - software: { - name: { - content: `${base}/dcc:name/dcc:content`, - }, - release: `string(${base}/dcc:release)`, - type: `string(${base}/dcc:type)`, - description: `${base}/dcc:description`, - _id: `${base}/@id`, - _refType: `${base}/@refType`, - }, -}; - -describe("DccSoftwareType", () => { - let dcc: DCCDocument, dccSoftware: SoftwareListType, software: SoftwareType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - dccSoftware = dcc.digitalCalibrationCertificate.administrativeData.dccSoftware; - software = dccSoftware.software[0]; - }); - - test("should get correct software name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.software.name.content, dom); - expect(toTextArr(software.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct software release version of software from XML", () => { - expect(software.release._text).toBe(select(xpath.software.release, dom)); - }); -}); diff --git a/tests/DCC/AdministrativeData.Statements.test.ts b/tests/DCC/AdministrativeData.Statements.test.ts deleted file mode 100644 index f3de295a241518fa96470e400b0eb0f2d28cb83e..0000000000000000000000000000000000000000 --- a/tests/DCC/AdministrativeData.Statements.test.ts +++ /dev/null @@ -1,212 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/example.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../util"; -import { StatementMetaDataType, DCCDocument } from "../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:statements"; -const xpath = { - statements: { - statement1: { - norm: `string(${base}/dcc:statement[1]/dcc:norm)`, - reference: `string(${base}/dcc:statement[1]/dcc:reference)`, - declaration: { - content: `${base}/dcc:statement[1]/dcc:declaration/dcc:content`, - }, - refType: `string(${base}/dcc:statement[1]/@refType)`, - }, - statement2: { - declaration: { - content: `${base}/dcc:statement[2]/dcc:declaration/dcc:content`, - }, - data: { - quantity1: { - name: { - content: `${base}/dcc:statement[2]/dcc:data/dcc:quantity[1]/dcc:name/dcc:content`, - }, - si_real: { - si_value: `string(${base}/dcc:statement[2]/dcc:data/dcc:quantity[1]/si:real/si:value)`, - si_unit: `string(${base}/dcc:statement[2]/dcc:data/dcc:quantity[1]/si:real/si:unit)`, - }, - }, - quantity2: { - name: { - content: `${base}/dcc:statement[2]/dcc:data/dcc:quantity[2]/dcc:name/dcc:content`, - }, - si_real: { - si_value: `string(${base}/dcc:statement[2]/dcc:data/dcc:quantity[2]/si:real/si:value)`, - si_unit: `string(${base}/dcc:statement[2]/dcc:data/dcc:quantity[2]/si:real/si:unit)`, - }, - }, - }, - refType: `string(${base}/dcc:statement[2]/@refType)`, - }, - statement3: { - declaration: { - content: `${base}/dcc:statement[3]/dcc:declaration/dcc:content`, - }, - respAuthority: { - name: { - content: `${base}/dcc:statement[3]/dcc:respAuthority/dcc:name/dcc:content`, - }, - email: `string(${base}/dcc:statement[3]/dcc:respAuthority/dcc:email)`, - location: { - city: `string(${base}/dcc:statement[3]/dcc:respAuthority/dcc:location/dcc:city)`, - countryCode: `string(${base}/dcc:statement[3]/dcc:respAuthority/dcc:location/dcc:countryCode)`, - postCode: `string(${base}/dcc:statement[3]/dcc:respAuthority/dcc:location/dcc:postCode)`, - }, - }, - conformity: `string(${base}/dcc:statement[3]/dcc:conformity)`, - refType: `string(${base}/dcc:statement[3]/@refType)`, - }, - statement4: { - declaration: { - content: `${base}/dcc:statement[4]/dcc:declaration/dcc:content`, - }, - date: `string(${base}/dcc:statement[4]/dcc:date)`, - respAuthority: { - name: { - content: `${base}/dcc:statement[3]/dcc:respAuthority/dcc:name/dcc:content`, - }, - email: `string(${base}/dcc:statement[3]/dcc:respAuthority/dcc:email)`, - location: { - city: `string(${base}/dcc:statement[3]/dcc:respAuthority/dcc:location/dcc:city)`, - countryCode: `string(${base}/dcc:statement[3]/dcc:respAuthority/dcc:location/dcc:countryCode)`, - postCode: `string(${base}/dcc:statement[3]/dcc:respAuthority/dcc:location/dcc:postCode)`, - }, - }, - refType: `string(${base}/dcc:statement[4]/@refType)`, - }, - }, -}; - -describe("ItemType", () => { - let dcc: DCCDocument, statement1, statement2, statement3, statement4: StatementMetaDataType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - statement1 = dcc.digitalCalibrationCertificate.administrativeData.statements.statement[0]; - statement2 = dcc.digitalCalibrationCertificate.administrativeData.statements.statement[1]; - statement3 = dcc.digitalCalibrationCertificate.administrativeData.statements.statement[2]; - statement4 = dcc.digitalCalibrationCertificate.administrativeData.statements.statement[3]; - }); - - test("should get correct statement 1 declaration content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.statements.statement1.declaration.content, dom); - expect(toTextArr(statement1.declaration.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct statement 1 norm model from XML", () => { - expect(statement1.norm[0]._text).toBe(select(xpath.statements.statement1.norm, dom)); - }); - - test("should get correct statement 1 reference from XML", () => { - expect(statement1.reference[0]._text).toBe(select(xpath.statements.statement1.reference, dom)); - }); - - test("should get correct statement 2 declaration content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.statements.statement2.declaration.content, dom); - expect(toTextArr(statement2.declaration.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct statement 2 data quantity 1 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.statements.statement2.data.quantity1.name.content, dom); - expect(toTextArr(statement2.data.quantity[0].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct statement 2 data quantity 1 si:value from XML", () => { - expect(statement2.data.quantity[0].real.value._text).toBe(select(xpath.statements.statement2.data.quantity1.si_real.si_value, dom)); - }); - - test("should get correct statement 2 data quantity 2 si:unit from XML", () => { - expect(statement2.data.quantity[0].real.unit._text).toBe(select(xpath.statements.statement2.data.quantity1.si_real.si_unit, dom)); - }); - - test("should get correct statement 2 data quantity 2 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.statements.statement2.data.quantity2.name.content, dom); - expect(toTextArr(statement2.data.quantity[1].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct statement 2 data quantity 2 si:value from XML", () => { - expect(statement2.data.quantity[1].real.value._text).toBe(select(xpath.statements.statement2.data.quantity2.si_real.si_value, dom)); - }); - - test("should get correct statement 2 data quantity 2 si:unit from XML", () => { - expect(statement2.data.quantity[1].real.unit._text).toBe(select(xpath.statements.statement2.data.quantity2.si_real.si_unit, dom)); - }); - - test("should get correct statement 2 refType from XML", () => { - expect(statement2._attr.refType).toBe(select(xpath.statements.statement2.refType, dom)); - }); - - test("should get correct statement 3 declaration content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.statements.statement3.declaration.content, dom); - expect(toTextArr(statement3.declaration.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct statement 3 responsible authority name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.statements.statement3.respAuthority.name.content, dom); - expect(toTextArr(statement3.respAuthority.name.content)).toEqual(toTextContentArr(expected)); - }); - - /* responsible authority 3 */ - test("should get correct statement 3 responsible authority email from XML", () => { - expect(statement3.respAuthority.eMail._text).toBe(select(xpath.statements.statement3.respAuthority.email, dom)); - }); - - test("should get correct statement 3 responsible authority location city from XML", () => { - expect(statement3.respAuthority.location.city[0]._text).toBe(select(xpath.statements.statement3.respAuthority.location.city, dom)); - }); - test("should get correct statement 3 responsible authority location country code from XML", () => { - expect(statement3.respAuthority.location.countryCode[0]._text).toBe(select(xpath.statements.statement3.respAuthority.location.countryCode, dom)); - }); - test("should get correct statement 3 responsible authority location post code from XML", () => { - expect(statement3.respAuthority.location.postCode[0]._text).toBe(select(xpath.statements.statement3.respAuthority.location.postCode, dom)); - }); - - test("should get correct statement 3 conformity from XML", () => { - expect(statement3.conformity._text).toBe(select(xpath.statements.statement3.conformity, dom)); - }); - - test("should get correct statement 3 refType from XML", () => { - expect(statement3._attr.refType).toBe(select(xpath.statements.statement3.refType, dom)); - }); - - test("should get correct statement 4 declaration content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.statements.statement4.declaration.content, dom); - expect(toTextArr(statement4.declaration.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct statement 4 date from XML", () => { - expect(statement4.date._text).toBe(select(xpath.statements.statement4.date, dom)); - }); - - /* responsible authority 4 */ - test("should get correct statement 4 responsible authority email from XML", () => { - expect(statement4.respAuthority.eMail._text).toBe(select(xpath.statements.statement4.respAuthority.email, dom)); - }); - - test("should get correct statement 4 responsible authority location city from XML", () => { - expect(statement4.respAuthority.location.city[0]._text).toBe(select(xpath.statements.statement4.respAuthority.location.city, dom)); - }); - test("should get correct statement 4 responsible authority location country code from XML", () => { - expect(statement4.respAuthority.location.countryCode[0]._text).toBe(select(xpath.statements.statement4.respAuthority.location.countryCode, dom)); - }); - test("should get correct statement 4 responsible authority location post code from XML", () => { - expect(statement4.respAuthority.location.postCode[0]._text).toBe(select(xpath.statements.statement4.respAuthority.location.postCode, dom)); - }); - - test("should get correct statement 4 refType from XML", () => { - expect(statement4._attr.refType).toBe(select(xpath.statements.statement4.refType, dom)); - }); - - /* TODO: setters */ -}); diff --git a/tests/DCC/AdministrativeData.test.ts b/tests/DCC/AdministrativeData.test.ts deleted file mode 100644 index 920cf986f6e10572c7a9540da958539e948de164..0000000000000000000000000000000000000000 --- a/tests/DCC/AdministrativeData.test.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/example.xml" } - */ - -import { testCalibrationLaboratory } from "./common/AdministrativeData/CalibrationLaboratory"; -import { testCoreData } from "./common/AdministrativeData/CoreDataType"; -import { testContactType } from "./common/Types/ContactType"; -import { testRespPersonListType } from "./common/AdministrativeData/RespPersons"; -import { testStatementListType } from "./common/Types/StatementListType"; - -describe(`[example.xml] AdministrativeData`, () => { - const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData"; - testCalibrationLaboratory(); - testCoreData(); - testContactType(`${base}/dcc:customer`, (dcc) => dcc.digitalCalibrationCertificate.administrativeData.customer); - testRespPersonListType(); - testStatementListType(`${base}/dcc:statements`, (dcc) => dcc.digitalCalibrationCertificate.administrativeData.statements); -}); diff --git a/tests/DCC/DigitalCalibrationCertificateType.test.ts b/tests/DCC/DigitalCalibrationCertificateType.test.ts deleted file mode 100644 index 917b0b98b53bacd0c5695f0f13500cb07fc6db23..0000000000000000000000000000000000000000 --- a/tests/DCC/DigitalCalibrationCertificateType.test.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/example.xml" } - */ - -import { select } from "../util"; - -const VERSION_XPATH = "string(/dcc:digitalCalibrationCertificate/@schemaVersion)"; - -describe("DigitalCalibrationCertificateType", () => { - let xml, dcc, dom; - - beforeEach(() => { - ({ xml, dcc, dom } = recreateEnv()); - }); - - test("should get correct schemaVersion from XML", () => { - const expectedVersion = select(VERSION_XPATH, dom); - expect(dcc.digitalCalibrationCertificate._attr.schemaVersion).toBe(expectedVersion); - }); -}); diff --git a/tests/DCC/Features_DCC_v3.2.0/AdministrativeData.CalibrationLaboratory.test.ts b/tests/DCC/Features_DCC_v3.2.0/AdministrativeData.CalibrationLaboratory.test.ts new file mode 100644 index 0000000000000000000000000000000000000000..b7ef4db1630d9a12e2033691c3bfe66380aa15c1 --- /dev/null +++ b/tests/DCC/Features_DCC_v3.2.0/AdministrativeData.CalibrationLaboratory.test.ts @@ -0,0 +1,42 @@ +/** + * @vitest-environment-options { "xmlPath": "./tests/resources/Features_DCC_v3.2.0.xml" } + */ + +import { select } from "../../util"; +import { CalibrationLaboratoryType, ContactType, DCCDocument } from "../../../src"; + +const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:calibrationLaboratory"; +const xpath = { + contact: { + eMail: `string(${base}/dcc:eMail)`, + }, + cryptElectronicSeal: `string(${base}/dcc:cryptElectronicSeal)`, + cryptElectronicSignature: `string(${base}/dcc:cryptElectronicSignature)`, + cryptElectronicTimeStamp: `string(${base}/dcc:cryptElectronicTimeStamp)`, +}; + +describe("Features_DCC_v3.2.0: CalibrationLaboratory", () => { + let dcc: DCCDocument, dom, calibrationLaboratory: CalibrationLaboratoryType, contact: ContactType; + + beforeEach(() => { + ({ dcc, dom } = recreateEnv()); + calibrationLaboratory = dcc.digitalCalibrationCertificate.administrativeData.calibrationLaboratory; + contact = calibrationLaboratory.contact; + }); + + test("eMail should not be defined", () => { + expect(contact.eMail).toBeUndefined(); + }); + + test("should get correct cryptElectronicSeal from XML", () => { + expect(calibrationLaboratory.cryptElectronicSeal._text).toBe(select(xpath.cryptElectronicSeal, dom)); + }); + + test("should get correct cryptElectronicSignature from XML", () => { + expect(calibrationLaboratory.cryptElectronicSignature._text).toBe(select(xpath.cryptElectronicSignature, dom)); + }); + + test("should get correct cryptElectronicTimeStamp from XML", () => { + expect(calibrationLaboratory.cryptElectronicTimeStamp._text).toBe(select(xpath.cryptElectronicTimeStamp, dom)); + }); +}); diff --git a/tests/DCC/Features_DCC_v3.2.0/AdministrativeData.CoreDataType.test.ts b/tests/DCC/Features_DCC_v3.2.0/AdministrativeData.CoreDataType.test.ts new file mode 100644 index 0000000000000000000000000000000000000000..e098212dadb0fec49a7ca1a4d1543dfacb61b4ea --- /dev/null +++ b/tests/DCC/Features_DCC_v3.2.0/AdministrativeData.CoreDataType.test.ts @@ -0,0 +1,52 @@ +/** + * @vitest-environment-options { "xmlPath": "./tests/resources/Features_DCC_v3.2.0.xml" } + */ + +import { select, toTextArr, toTextContentArr } from "../../util"; +import { CoreDataType, DCCDocument, HashType } from "../../../src"; +import { expect } from "vitest"; + +const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:coreData"; +const previousReport_base = `${base}/dcc:previousReport`; +const xpath = { + issueDate: `string(${base}/dcc:issueDate)`, + previousReport: { + description: { + content: `${previousReport_base}/dcc:description/dcc:content` + }, + inValidityRange: `string(${previousReport_base}/dcc:inValidityRange)`, + traceable: `string(${previousReport_base}/dcc:traceable)`, + refType: `string(${previousReport_base}/@refType)`, + } +}; + +describe("Features_DCC_v3.2.0: CoreDataType", () => { + let dcc: DCCDocument, coreData: CoreDataType, previousReport: HashType, dom; + + beforeEach(() => { + ({ dcc, dom } = recreateEnv()); + coreData = dcc.digitalCalibrationCertificate.administrativeData.coreData; + previousReport = coreData.previousReport; + }); + + test("should get correct issue date from XML", () => { + expect(coreData.issueDate._text).toBe(select(xpath.issueDate, dom)); + }); + + // region previousReport + test("should get correct previous report description from XML", () => { + const expected = <Element[]>select(xpath.previousReport.description.content, dom); + expect(toTextArr(previousReport.description.content)).toEqual(toTextContentArr(expected)); + }); + + test("should get correct previous report inValidityRange from XML", () => { + expect(previousReport.inValidityRange._text).toBe(select(xpath.previousReport.inValidityRange, dom)); + }); + + test("should get correct previous report traceable from XML", () => { + expect(previousReport.traceable._text).toBe(select(xpath.previousReport.traceable, dom)); + }); + // endregion + + /* test for setters */ +}); diff --git a/tests/DCC/Features_DCC_v3.2.0/AdministrativeData.Items.test.ts b/tests/DCC/Features_DCC_v3.2.0/AdministrativeData.Items.test.ts new file mode 100644 index 0000000000000000000000000000000000000000..cd30cc867697318867fdd77d9145a41c2fdaeaa3 --- /dev/null +++ b/tests/DCC/Features_DCC_v3.2.0/AdministrativeData.Items.test.ts @@ -0,0 +1,54 @@ +/** + * @vitest-environment-options { "xmlPath": "./tests/resources/Features_DCC_v3.2.0.xml" } + */ + +import { select, toTextArr, toTextContentArr } from "../../util"; +import { ItemType, DCCDocument } from "../../../src"; + +const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:items"; +const xpath = { + items: { + item: { + itemQuantities: { + itemQuantity: { + name: { + content: `${base}/dcc:item[1]/dcc:itemQuantities/dcc:itemQuantity[1]/dcc:name/dcc:content`, + }, + si_real: { + si_value: `string(${base}/dcc:item[1]/dcc:itemQuantities/dcc:itemQuantity[1]/si:real/si:value)`, + si_unit: `string(${base}/dcc:item[1]/dcc:itemQuantities/dcc:itemQuantity[1]/si:real/si:unit)`, + }, + }, + }, + refType: `string(${base}/dcc:item[1]//@refType)`, + }, + }, +}; + +describe("Features_DCC_v3.2.0: ItemType", () => { + let dcc: DCCDocument, item: ItemType, dom; + + beforeEach(() => { + ({ dcc, dom } = recreateEnv()); + item = dcc.digitalCalibrationCertificate.administrativeData.items.item[0]; + }); + + test("should get correct item quantity name content from XML", () => { + const expected = <Element[]>select(xpath.items.item.itemQuantities.itemQuantity.name.content, dom); + expect(toTextArr(item.itemQuantities.itemQuantity[0].name.content)).toEqual(toTextContentArr(expected)); + }); + + test("should get correct item quantity real value from XML", () => { + expect(item.itemQuantities.itemQuantity[0].real.value._text).toBe(select(xpath.items.item.itemQuantities.itemQuantity.si_real.si_value, dom)); + }); + + test("should get correct item quantity real unit from XML", () => { + expect(item.itemQuantities.itemQuantity[0].real.unit._text).toBe(select(xpath.items.item.itemQuantities.itemQuantity.si_real.si_unit, dom)); + }); + + test("should get correct item refType from XML", () => { + expect(item._attr.refType).toBe(select(xpath.items.item.refType, dom)); + }); + + /* TODO: setters */ +}); diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.RefTypeDefinitons.test.ts b/tests/DCC/Features_DCC_v3.2.0/AdministrativeData.RefTypeDefinitons.test.ts similarity index 93% rename from tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.RefTypeDefinitons.test.ts rename to tests/DCC/Features_DCC_v3.2.0/AdministrativeData.RefTypeDefinitons.test.ts index 25f3e6580843fb6b5929d5eda024ca94b62fbd40..a1645e3e6a88aadca450747b90f5339ea7a2bfe9 100644 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.RefTypeDefinitons.test.ts +++ b/tests/DCC/Features_DCC_v3.2.0/AdministrativeData.RefTypeDefinitons.test.ts @@ -1,5 +1,5 @@ /** - * @vitest-environment-options { "xmlPath": "./tests/resources/GP_Temperature_v3.2.0_DCC.xml" } + * @vitest-environment-options { "xmlPath": "./tests/resources/Features_DCC_v3.2.0.xml" } */ import { select, toTextArr, toTextContentArr } from "../../util"; @@ -23,7 +23,7 @@ const xpath = { procedure: `string(${base}/dcc:procedure)`, }; -describe("GP_Temperature_v3.2.0_DCC: RefTypeDefinitionType", () => { +describe("Features_DCC_v3.2.0: RefTypeDefinitionType", () => { let dcc: DCCDocument, refTypeDefinition: RefTypeDefinitionType, dom; beforeEach(() => { diff --git a/tests/DCC/Features_DCC_v3.2.0/AdministrativeData.RespPersons.test.ts b/tests/DCC/Features_DCC_v3.2.0/AdministrativeData.RespPersons.test.ts new file mode 100644 index 0000000000000000000000000000000000000000..f236dcdfc2b1a0d1fb89a4dd9b0e01dce9b0c532 --- /dev/null +++ b/tests/DCC/Features_DCC_v3.2.0/AdministrativeData.RespPersons.test.ts @@ -0,0 +1,25 @@ +/** + * @vitest-environment-options { "xmlPath": "./tests/resources/Features_DCC_v3.2.0.xml" } + */ +import { DCCDocument, RespPersonType } from "../../../src"; +import { select } from "../../util"; + +const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:respPersons"; +const xpath = { + respPerson: { + refType: `string(${base}/dcc:respPerson/@refType)`, + }, +}; + +describe("Features_DCC_v3.2.0: CalibrationLaboratory", () => { + let dcc: DCCDocument, dom, respPerson: RespPersonType; + + beforeEach(() => { + ({ dcc, dom } = recreateEnv()); + respPerson = dcc.digitalCalibrationCertificate.administrativeData.respPersons.respPerson[0]; + }); + + test("should get respPerson refType from XML", () => { + expect(respPerson._attr.refType).toBe(select(xpath.respPerson.refType, dom)); + }); +}); diff --git a/tests/DCC/Features_DCC_v3.2.0/AdministrativeData.Statements.test.ts b/tests/DCC/Features_DCC_v3.2.0/AdministrativeData.Statements.test.ts new file mode 100644 index 0000000000000000000000000000000000000000..1b8beda9f7afd2c9866c369e42b45fd96cfc4efc --- /dev/null +++ b/tests/DCC/Features_DCC_v3.2.0/AdministrativeData.Statements.test.ts @@ -0,0 +1,82 @@ +/** + * @vitest-environment-options { "xmlPath": "./tests/resources/Features_DCC_v3.2.0.xml" } + */ + +import { select, toTextArr, toTextContentArr } from "../../util"; +import { DCCDocument } from "../../../src"; +import { expect } from "vitest"; + +const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:statements"; +const statement_validXmlList_base = `${base}/dcc:statement[1]`; +const statement_validXmlList_statement_validXmlList_base = `${statement_validXmlList_base}/dcc:data/dcc:quantity/dcc:measurementMetaData`; +const xpath = { + statement_validXmlList: { + name: { + content: `${statement_validXmlList_base}/dcc:name/dcc:content`, + }, + description: { + content: `${statement_validXmlList_base}/dcc:description/dcc:content`, + }, + data: { + quantity: { + measurementMetaData: { + metaData1: { + declaration: { + content: `${statement_validXmlList_statement_validXmlList_base}/dcc:metaData[1]/dcc:declaration/dcc:content`, + }, + validXMLList: `string(${statement_validXmlList_statement_validXmlList_base}/dcc:metaData[1]/dcc:validXMLList)`, + }, + metaData2: { + declaration: { + content: `${statement_validXmlList_statement_validXmlList_base}/dcc:metaData[2]/dcc:declaration/dcc:content`, + }, + validXMLList: `string(${statement_validXmlList_statement_validXmlList_base}/dcc:metaData[2]/dcc:validXMLList)`, + }, + }, + }, + }, + }, +}; + +describe("Features_DCC_v3.2.0: StatementMetaDataType", () => { + let dcc: DCCDocument, statement_validXmlList, dom; + + beforeEach(() => { + ({ dcc, dom } = recreateEnv()); + statement_validXmlList = dcc.digitalCalibrationCertificate.administrativeData.statements.statement[0]; + }); + + test("should get correct statement 1 name content from XML", () => { + const expected = <Element[]>select(xpath.statement_validXmlList.name.content, dom); + expect(toTextArr(statement_validXmlList.name.content)).toEqual(toTextContentArr(expected)); + }); + + test("should get correct statement 1 description content from XML", () => { + const expected = <Element[]>select(xpath.statement_validXmlList.description.content, dom); + expect(toTextArr(statement_validXmlList.description.content)).toEqual(toTextContentArr(expected)); + }); + + test("should get correct statement 1 metaData 1 declaration content from XML", () => { + const expected = <Element[]>select(xpath.statement_validXmlList.data.quantity.measurementMetaData.metaData1.declaration.content, dom); + expect(toTextArr(statement_validXmlList.data.quantity[0].measurementMetaData.metaData[0].declaration.content)).toEqual(toTextContentArr(expected)); + }); + + test("should get correct statement 1 metaData 1 validXMLList from XML", () => { + expect(statement_validXmlList.data.quantity[0].measurementMetaData.metaData[0].validXMLList._text).toBe( + select(xpath.statement_validXmlList.data.quantity.measurementMetaData.metaData1.validXMLList, dom), + ); + }); + + test("should get correct statement 1 metaData 2 declaration content from XML", () => { + const expected = <Element[]>select(xpath.statement_validXmlList.data.quantity.measurementMetaData.metaData2.declaration.content, dom); + expect(toTextArr(statement_validXmlList.data.quantity[0].measurementMetaData.metaData[1].declaration.content)).toEqual(toTextContentArr(expected)); + }); + + test("should get correct statement 1 metaData 2 validXMLList from XML", () => { + expect(statement_validXmlList.data.quantity[0].measurementMetaData.metaData[1].validXMLList._text).toBe( + select(xpath.statement_validXmlList.data.quantity.measurementMetaData.metaData2.validXMLList, dom), + ); + }); + + /* TODO: setters */ +}); diff --git a/tests/DCC/Features_DCC_v3.2.0/EquipmentClass.test.ts b/tests/DCC/Features_DCC_v3.2.0/EquipmentClass.test.ts new file mode 100644 index 0000000000000000000000000000000000000000..f6403f5dc5eca89cfffa4a9d9eb9f0bd8e943807 --- /dev/null +++ b/tests/DCC/Features_DCC_v3.2.0/EquipmentClass.test.ts @@ -0,0 +1,63 @@ +/** + * @vitest-environment-options { "xmlPath": "./tests/resources/Features_DCC_v3.2.0.xml" } + */ + +import { DCCDocument, EquipmentClassType } from "../../../src"; +import { JSDOM } from "jsdom"; +import { select } from "../../util"; +import { expect } from "vitest"; + +const items_base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:items"; +const item_base = `${items_base}/dcc:item[1]`; +const measurementEquipments_base = "/dcc:digitalCalibrationCertificate/dcc:measurementResults/dcc:measurementResult[1]/dcc:measuringEquipments"; +const measurementEquipment_base = `${measurementEquipments_base}/dcc:measuringEquipment[1]`; +describe("Features_DCC_v3.2.0: EquipmentClass", () => { + let dcc: DCCDocument, dom: JSDOM, items_eq: EquipmentClassType[], item_eq: EquipmentClassType[], measurementEquipments_eq: EquipmentClassType[], measurementEquipment_eq: EquipmentClassType[]; + + beforeEach(() => { + ({ dcc, dom } = recreateEnv()); + items_eq = dcc.digitalCalibrationCertificate.administrativeData.items.equipmentClass; + item_eq = dcc.digitalCalibrationCertificate.administrativeData.items.item[0].equipmentClass; + measurementEquipments_eq = dcc.digitalCalibrationCertificate.measurementResults.measurementResult[0].measuringEquipments.equipmentClass; + measurementEquipment_eq = dcc.digitalCalibrationCertificate.measurementResults.measurementResult[0].measuringEquipments.measuringEquipment[0].equipmentClass; + }); + + // every element contains two equipmentClass elements + for (let i = 0; i < 2; i++) { + // dcc:items + test(`should get correct items equipmentClass[${i + 1}] reference from XML`, () => { + expect(items_eq[i].reference._text).toBe(select(`string(${items_base}/dcc:equipmentClass[${i + 1}]/dcc:reference)`, dom)); + }); + + test(`should get correct items equipmentClass[${i + 1}] classID from XML`, () => { + expect(items_eq[i].classID._text).toBe(select(`string(${items_base}/dcc:equipmentClass[${i + 1}]/dcc:classID)`, dom)); + }); + + // dcc:item + test(`should get correct item equipmentClass[${i + 1}] reference from XML`, () => { + expect(item_eq[i].reference._text).toBe(select(`string(${item_base}/dcc:equipmentClass[${i + 1}]/dcc:reference)`, dom)); + }); + + test(`should get correct item equipmentClass[${i + 1}] classID from XML`, () => { + expect(item_eq[i].classID._text).toBe(select(`string(${item_base}/dcc:equipmentClass[${i + 1}]/dcc:classID)`, dom)); + }); + + // dcc:measuringEquipments + test(`should get correct measuringEquipments equipmentClass[${i + 1}] reference from XML`, () => { + expect(measurementEquipments_eq[i].reference._text).toBe(select(`string(${measurementEquipments_base}/dcc:equipmentClass[${i + 1}]/dcc:reference)`, dom)); + }); + + test(`should get correct measuringEquipments equipmentClass[${i + 1}] classID from XML`, () => { + expect(measurementEquipments_eq[i].classID._text).toBe(select(`string(${measurementEquipments_base}/dcc:equipmentClass[${i + 1}]/dcc:classID)`, dom)); + }); + + // dcc:measuringEquipment + test(`should get correct measuringEquipment equipmentClass[${i + 1}] reference from XML`, () => { + expect(measurementEquipment_eq[i].reference._text).toBe(select(`string(${measurementEquipment_base}/dcc:equipmentClass[${i + 1}]/dcc:reference)`, dom)); + }); + + test(`should get correct measuringEquipment equipmentClass[${i + 1}] classID from XML`, () => { + expect(measurementEquipment_eq[i].classID._text).toBe(select(`string(${measurementEquipment_base}/dcc:equipmentClass[${i + 1}]/dcc:classID)`, dom)); + }); + } +}); diff --git a/tests/DCC/Features_DCC_v3.2.0/MeasurementResults.MeasurementResult.test.ts b/tests/DCC/Features_DCC_v3.2.0/MeasurementResults.MeasurementResult.test.ts new file mode 100644 index 0000000000000000000000000000000000000000..a5a9327d35d6cf0200796bd297bd6357de787727 --- /dev/null +++ b/tests/DCC/Features_DCC_v3.2.0/MeasurementResults.MeasurementResult.test.ts @@ -0,0 +1,44 @@ +/** + * @vitest-environment-options { "xmlPath": "./tests/resources/Features_DCC_v3.2.0.xml" } + */ + +import { ByteDataType, DCCDocument, QuantityType } from "../../../src"; +import { select } from "../../util"; + +const base = "/dcc:digitalCalibrationCertificate/dcc:measurementResults/dcc:measurementResult[1]"; +const file_base = `${base}/dcc:description/dcc:file`; +const xpath = { + description: { + file: { + refId: `string(${file_base}//@refId)`, + refType: `string(${file_base}//@refType)`, + }, + }, + charsXMLList: `string(${base}/dcc:results/dcc:result[1]/dcc:data/dcc:quantity[1]/dcc:charsXMLList)`, +}; + +describe("Features_DCC_v3.2.0: MeasurementResult", () => { + let dcc: DCCDocument, dom, file: ByteDataType, quantity: QuantityType; + + beforeEach(() => { + ({ dcc, dom } = recreateEnv()); + file = dcc.digitalCalibrationCertificate.measurementResults.measurementResult[0].description.file[0]; + quantity = dcc.digitalCalibrationCertificate.measurementResults.measurementResult[0].results.result[0].data.quantity[0]; + }); + + // region dcc:file / ByteDataType + test("should get correct file refId from XML", () => { + expect(file._attr.refId).toBe(select(xpath.description.file.refId, dom)); + }); + + test("should get correct file refType from XML", () => { + expect(file._attr.refType).toBe(select(xpath.description.file.refType, dom)); + }); + // endregion + + // region dcc:charsXMLList + test("should get correct charsXMLList from XML", () => { + expect(quantity.charsXMLList._text).toBe(select(xpath.charsXMLList, dom)); + }); + // endregion +}); diff --git a/tests/DCC/GP_Temperatur_v3.2.1_DCC/AdministrativeData.CoreDataType.test.ts b/tests/DCC/Features_DCC_v3.2.1/AdministrativeData.CoreDataType.test.ts similarity index 90% rename from tests/DCC/GP_Temperatur_v3.2.1_DCC/AdministrativeData.CoreDataType.test.ts rename to tests/DCC/Features_DCC_v3.2.1/AdministrativeData.CoreDataType.test.ts index 8df1fe85e03f0e97f09a0163c0f46a7d88e21166..cb52693798286069c9981066b04a50f2dfdbb2ab 100644 --- a/tests/DCC/GP_Temperatur_v3.2.1_DCC/AdministrativeData.CoreDataType.test.ts +++ b/tests/DCC/Features_DCC_v3.2.1/AdministrativeData.CoreDataType.test.ts @@ -1,5 +1,5 @@ /** - * @vitest-environment-options { "xmlPath": "./tests/resources/GP_Temperature_v3.2.1_DCC.xml" } + * @vitest-environment-options { "xmlPath": "./tests/resources/Features_DCC_v3.2.1.xml" } */ import { select } from "../../util"; @@ -15,7 +15,7 @@ const xpath = { }, }; -describe("GP_Temperature_v3.2.1_DCC: CoreDataType", () => { +describe("Features_DCC_v3.2.1: CoreDataType", () => { let dcc: DCCDocument, coreData: CoreDataType, dom; beforeEach(() => { diff --git a/tests/DCC/GP_Temperatur_v3.2.1_DCC/AdministrativeData.Items.Item.test.ts b/tests/DCC/Features_DCC_v3.2.1/AdministrativeData.Items.Item.test.ts similarity index 72% rename from tests/DCC/GP_Temperatur_v3.2.1_DCC/AdministrativeData.Items.Item.test.ts rename to tests/DCC/Features_DCC_v3.2.1/AdministrativeData.Items.Item.test.ts index 12eb493dc56a2cf77ae5b8861ee5ccef8f70e5b1..6a715ff434bfd0fef703ee5b384231acf03608a0 100644 --- a/tests/DCC/GP_Temperatur_v3.2.1_DCC/AdministrativeData.Items.Item.test.ts +++ b/tests/DCC/Features_DCC_v3.2.1/AdministrativeData.Items.Item.test.ts @@ -1,10 +1,10 @@ /** - * @vitest-environment-options { "xmlPath": "./tests/resources/GP_Temperature_v3.2.1_DCC.xml" } + * @vitest-environment-options { "xmlPath": "./tests/resources/Features_DCC_v3.2.1.xml" } */ import { DCCDocument, ItemType } from "../../../src"; -describe("GP_Temperature_v3.2.1_DCC: ItemType", () => { +describe("Features_DCC_v3.2.1: ItemType", () => { let dcc: DCCDocument, item: ItemType, dom; beforeEach(() => { diff --git a/tests/DCC/GP_Temperatur_v3.2.1_DCC/AdministrativeData.Items.test.ts b/tests/DCC/Features_DCC_v3.2.1/AdministrativeData.Items.test.ts similarity index 84% rename from tests/DCC/GP_Temperatur_v3.2.1_DCC/AdministrativeData.Items.test.ts rename to tests/DCC/Features_DCC_v3.2.1/AdministrativeData.Items.test.ts index ac03d0992b4136d55c2b4010ffdc7499e05c5215..4a99c8fa3abbb105363c760626e2a564edb7f413 100644 --- a/tests/DCC/GP_Temperatur_v3.2.1_DCC/AdministrativeData.Items.test.ts +++ b/tests/DCC/Features_DCC_v3.2.1/AdministrativeData.Items.test.ts @@ -1,5 +1,5 @@ /** - * @vitest-environment-options { "xmlPath": "./tests/resources/GP_Temperature_v3.2.1_DCC.xml" } + * @vitest-environment-options { "xmlPath": "./tests/resources/Features_DCC_v3.2.1.xml" } */ import { select, toTextArr, toTextContentArr } from "../../util"; @@ -16,7 +16,7 @@ const xpath = { }, }; -describe("GP_Temperature_v3.2.1_DCC: ItemListType", () => { +describe("Features_DCC_v3.2.1: ItemListType", () => { let dcc: DCCDocument, items: ItemListType, dom; beforeEach(() => { diff --git a/tests/DCC/GP_DCC_Temperature_Simplified/AdministrativeData.CoreDataType.test.ts b/tests/DCC/GP_DCC_Temperature_Simplified/AdministrativeData.CoreDataType.test.ts index de866931480ecfe0dfca84ba9ccb1041afb4f8c8..94287d54e344564ea17d94b9014a4c15cc1e9329 100644 --- a/tests/DCC/GP_DCC_Temperature_Simplified/AdministrativeData.CoreDataType.test.ts +++ b/tests/DCC/GP_DCC_Temperature_Simplified/AdministrativeData.CoreDataType.test.ts @@ -23,6 +23,7 @@ const xpath = { }, }, }, + receiptDate: `string(${base}/dcc:receiptDate)`, beginPerformanceDate: `string(${base}/dcc:beginPerformanceDate)`, endPerformanceDate: `string(${base}/dcc:endPerformanceDate)`, performanceLocation: `string(${base}/dcc:performanceLocation)`, @@ -70,6 +71,10 @@ describe("GP_DCC_Temperature_Simplified: CoreDataType", () => { expect(toTextArr(coreData.identifications.identification[0].name.content)).toEqual(toTextContentArr(expected)); }); + test("should get correct receipt date from XML", () => { + expect(coreData.receiptDate._text).toBe(select(xpath.coreData.receiptDate, dom)); + }); + test("should get correct begin performance date from XML", () => { expect(coreData.beginPerformanceDate._text).toBe(select(xpath.coreData.beginPerformanceDate, dom)); }); diff --git a/tests/DCC/GP_DCC_Temperature_Simplified/AdministrativeData.Items.test.ts b/tests/DCC/GP_DCC_Temperature_Simplified/AdministrativeData.Items.test.ts index 5b62ce3ffabe91072decd35b3179397aee10b286..4878fb09665b825a550775f0989c9fdc8bc118d8 100644 --- a/tests/DCC/GP_DCC_Temperature_Simplified/AdministrativeData.Items.test.ts +++ b/tests/DCC/GP_DCC_Temperature_Simplified/AdministrativeData.Items.test.ts @@ -3,58 +3,69 @@ */ import { select, toTextArr, toTextContentArr } from "../../util"; -import { ItemType, DCCDocument, IdentificationType } from "../../../src"; +import { ItemType, DCCDocument, IdentificationType, EquipmentClassType } from "../../../src"; const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:items"; +const item_base = `${base}/dcc:item[1]`; +const identifications_base = `${item_base}/dcc:identifications`; +const manufacturer_base = `${identifications_base}/dcc:identification[1]`; +const customer_base = `${identifications_base}/dcc:identification[2]`; +const calibrationLaboratory_base = `${identifications_base}/dcc:identification[3]`; + const xpath = { items: { item: { name: { - content: `${base}/dcc:item[1]/dcc:name/dcc:content`, + content: `${item_base}/dcc:name/dcc:content`, }, manufacturer: { name: { - content: `${base}/dcc:item[1]/dcc:manufacturer/dcc:name/dcc:content`, + content: `${item_base}/dcc:manufacturer/dcc:name/dcc:content`, }, }, - model: `string(${base}/dcc:item[1]/dcc:model)`, - + model: `string(${item_base}/dcc:model)`, identifications: { - identification1: { - issuer: `string(${base}/dcc:item[1]/dcc:identifications/dcc:identification[1]/dcc:issuer)`, - value: `string(${base}/dcc:item[1]/dcc:identifications/dcc:identification[1]/dcc:value)`, + manufacturer: { + issuer: `string(${manufacturer_base}/dcc:issuer)`, + value: `string(${manufacturer_base}/dcc:value)`, name: { - content: `${base}/dcc:item[1]/dcc:identifications/dcc:identification[1]/dcc:name/dcc:content`, + content: `${manufacturer_base}/dcc:name/dcc:content`, }, }, - identification2: { - issuer: `string(${base}/dcc:item[1]/dcc:identifications/dcc:identification[2]/dcc:issuer)`, - value: `string(${base}/dcc:item[1]/dcc:identifications/dcc:identification[2]/dcc:value)`, + customer: { + issuer: `string(${customer_base}/dcc:issuer)`, + value: `string(${customer_base}/dcc:value)`, name: { - content: `${base}/dcc:item[1]/dcc:identifications/dcc:identification[2]/dcc:name/dcc:content`, + content: `${customer_base}/dcc:name/dcc:content`, }, }, - identification3: { - issuer: `string(${base}/dcc:item[1]/dcc:identifications/dcc:identification[3]/dcc:issuer)`, - value: `string(${base}/dcc:item[1]/dcc:identifications/dcc:identification[3]/dcc:value)`, + calibrationLaboratory: { + issuer: `string(${calibrationLaboratory_base}/dcc:issuer)`, + value: `string(${calibrationLaboratory_base}/dcc:value)`, name: { - content: `${base}/dcc:item[1]/dcc:identifications/dcc:identification[3]/dcc:name/dcc:content`, + content: `${calibrationLaboratory_base}/dcc:name/dcc:content`, }, }, }, + equipmentClass: { + reference: `string(${item_base}/dcc:equipmentClass[1]/dcc:reference)`, + classID: `string(${item_base}/dcc:equipmentClass[1]/dcc:classID)`, + }, }, }, }; describe("GP_DCC_Temperature_Simplified: ItemType", () => { - let dcc: DCCDocument, item: ItemType, identification1, identification2, identification3: IdentificationType, dom; + let dcc: DCCDocument, item: ItemType, manufacturer: IdentificationType, customer: IdentificationType, calibrationLaboratory: IdentificationType, + equipmentClass: EquipmentClassType, dom; beforeEach(() => { ({ dcc, dom } = recreateEnv()); item = dcc.digitalCalibrationCertificate.administrativeData.items.item[0]; - identification1 = item.identifications.identification[0]; - identification2 = item.identifications.identification[1]; - identification3 = item.identifications.identification[2]; + manufacturer = item.identifications.identification[0]; + customer = item.identifications.identification[1]; + calibrationLaboratory = item.identifications.identification[2]; + equipmentClass = item.equipmentClass[0]; }); test("should get correct item name content from XML", () => { @@ -73,43 +84,51 @@ describe("GP_DCC_Temperature_Simplified: ItemType", () => { expect(item.model._text).toBe(select(xpath.items.item.model, dom)); }); - test("should get correct identification 1 issuer from XML", () => { - expect(identification1.issuer._text).toBe(select(xpath.items.item.identifications.identification1.issuer, dom)); + test("should get correct manufacturer identification issuer from XML", () => { + expect(manufacturer.issuer._text).toBe(select(xpath.items.item.identifications.manufacturer.issuer, dom)); + }); + + test("should get correct manufacturer identification value from XML", () => { + expect(manufacturer.value._text).toBe(select(xpath.items.item.identifications.manufacturer.value, dom)); + }); + + test("should get correct manufacturer identification name content from XML", () => { + const expected = <Element[]>select(xpath.items.item.identifications.manufacturer.name.content, dom); + expect(toTextArr(manufacturer.name.content)).toEqual(toTextContentArr(expected)); }); - test("should get correct identification 1 value from XML", () => { - expect(identification1.value._text).toBe(select(xpath.items.item.identifications.identification1.value, dom)); + test("should get correct customer identification issuer from XML", () => { + expect(customer.issuer._text).toBe(select(xpath.items.item.identifications.customer.issuer, dom)); }); - test("should get correct identification 1 name content from XML", () => { - const expected = <Element[]>select(xpath.items.item.identifications.identification1.name.content, dom); - expect(toTextArr(identification1.name.content)).toEqual(toTextContentArr(expected)); + test("should get correct customer identification value from XML", () => { + expect(customer.value._text).toBe(select(xpath.items.item.identifications.customer.value, dom)); }); - test("should get correct identification 2 issuer from XML", () => { - expect(identification2.issuer._text).toBe(select(xpath.items.item.identifications.identification2.issuer, dom)); + test("should get correct customer identification name content from XML", () => { + const expected = <Element[]>select(xpath.items.item.identifications.customer.name.content, dom); + expect(toTextArr(customer.name.content)).toEqual(toTextContentArr(expected)); }); - test("should get correct identification 2 value from XML", () => { - expect(identification2.value._text).toBe(select(xpath.items.item.identifications.identification2.value, dom)); + test("should get correct calibration laboratory identification issuer from XML", () => { + expect(calibrationLaboratory.issuer._text).toBe(select(xpath.items.item.identifications.calibrationLaboratory.issuer, dom)); }); - test("should get correct identification 2 name content from XML", () => { - const expected = <Element[]>select(xpath.items.item.identifications.identification2.name.content, dom); - expect(toTextArr(identification2.name.content)).toEqual(toTextContentArr(expected)); + test("should get correct calibration laboratory identification value from XML", () => { + expect(calibrationLaboratory.value._text).toBe(select(xpath.items.item.identifications.calibrationLaboratory.value, dom)); }); - test("should get correct identification 3 issuer from XML", () => { - expect(identification3.issuer._text).toBe(select(xpath.items.item.identifications.identification3.issuer, dom)); + test("should get correct calibration laboratory identification name content from XML", () => { + const expected = <Element[]>select(xpath.items.item.identifications.calibrationLaboratory.name.content, dom); + expect(toTextArr(calibrationLaboratory.name.content)).toEqual(toTextContentArr(expected)); }); - test("should get correct identification 3 value from XML", () => { - expect(identification3.value._text).toBe(select(xpath.items.item.identifications.identification3.value, dom)); + test("should get correct equipmentClass reference from XML", () => { + expect(equipmentClass.reference._text).toBe(select(xpath.items.item.equipmentClass.reference, dom)); }); - test("should get correct identification 3 name content from XML", () => { - const expected = <Element[]>select(xpath.items.item.identifications.identification3.name.content, dom); - expect(toTextArr(identification3.name.content)).toEqual(toTextContentArr(expected)); + test("should get correct equipmentClass classID from XML", () => { + expect(equipmentClass.classID._text).toBe(select(xpath.items.item.equipmentClass.classID, dom)); }); /* TODO: setters */ diff --git a/tests/DCC/GP_DCC_Temperature_Simplified/AdministrativeData.Statements.test.ts b/tests/DCC/GP_DCC_Temperature_Simplified/AdministrativeData.Statements.test.ts index 2b135b1cfd113a47829cb9951256bb82c0737355..d70a3a17c7cd6328c8ec15ebfb81443ada5a3620 100644 --- a/tests/DCC/GP_DCC_Temperature_Simplified/AdministrativeData.Statements.test.ts +++ b/tests/DCC/GP_DCC_Temperature_Simplified/AdministrativeData.Statements.test.ts @@ -6,121 +6,234 @@ import { select, toTextArr, toTextContentArr } from "../../util"; import { StatementMetaDataType, DCCDocument } from "../../../src"; const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:statements"; +const norm_base = `${base}/dcc:statement[1]`; +const basic_validityRange_base = `${base}/dcc:statement[2]`; +const basic_conformity_base = `${base}/dcc:statement[3]`; +const basic_recalibration_base = `${base}/dcc:statement[4]`; + const xpath = { statements: { - statement1: { + norm: { + norm: `string(${norm_base}/dcc:norm)`, + reference: `string(${norm_base}/dcc:reference)`, + declaration: { + content: `${norm_base}/dcc:declaration/dcc:content`, + }, + refType: `string(${norm_base}/@refType)`, + }, + basic_validityRange: { + declaration: { + content: `${basic_validityRange_base}/dcc:declaration/dcc:content`, + }, + data: { + quantity1: { + name: { + content: `${basic_validityRange_base}/dcc:data/dcc:quantity[1]/dcc:name/dcc:content`, + }, + si_real: { + si_value: `string(${basic_validityRange_base}/dcc:data/dcc:quantity[1]/si:real/si:value)`, + si_unit: `string(${basic_validityRange_base}/dcc:data/dcc:quantity[1]/si:real/si:unit)`, + }, + }, + quantity2: { + name: { + content: `${basic_validityRange_base}/dcc:data/dcc:quantity[2]/dcc:name/dcc:content`, + }, + si_real: { + si_value: `string(${basic_validityRange_base}/dcc:data/dcc:quantity[2]/si:real/si:value)`, + si_unit: `string(${basic_validityRange_base}/dcc:data/dcc:quantity[2]/si:real/si:unit)`, + }, + }, + }, + refType: `string(${basic_validityRange_base}/@refType)`, + }, + basic_conformity: { declaration: { - content: `${base}/dcc:statement[1]/dcc:declaration/dcc:content`, + content: `${basic_conformity_base}/dcc:declaration/dcc:content`, }, respAuthority: { name: { - content: `${base}/dcc:statement[1]/dcc:respAuthority/dcc:name/dcc:content`, + content: `${basic_conformity_base}/dcc:respAuthority/dcc:name/dcc:content`, }, - email: `string(${base}/dcc:statement[1]/dcc:respAuthority/dcc:eMail)`, + email: `string(${basic_conformity_base}/dcc:respAuthority/dcc:eMail)`, location: { - city: `string(${base}/dcc:statement[1]/dcc:respAuthority/dcc:location/dcc:city)`, - countryCode: `string(${base}/dcc:statement[1]/dcc:respAuthority/dcc:location/dcc:countryCode)`, - postCode: `string(${base}/dcc:statement[1]/dcc:respAuthority/dcc:location/dcc:postCode)`, + city: `string(${basic_conformity_base}/dcc:respAuthority/dcc:location/dcc:city)`, + countryCode: `string(${basic_conformity_base}/dcc:respAuthority/dcc:location/dcc:countryCode)`, + postCode: `string(${basic_conformity_base}/dcc:respAuthority/dcc:location/dcc:postCode)`, }, }, - conformity: `string(${base}/dcc:statement[1]/dcc:conformity)`, - refType: `string(${base}/dcc:statement[1]/@refType)`, + conformity: `string(${basic_conformity_base}/dcc:conformity)`, + refType: `string(${basic_conformity_base}/@refType)`, }, - statement2: { + basic_recalibration: { declaration: { - content: `${base}/dcc:statement[2]/dcc:declaration/dcc:content`, + content: `${basic_recalibration_base}/dcc:declaration/dcc:content`, }, - date: `string(${base}/dcc:statement[2]/dcc:date)`, + date: `string(${basic_recalibration_base}/dcc:date)`, respAuthority: { name: { - content: `${base}/dcc:statement[2]/dcc:respAuthority/dcc:name/dcc:content`, + content: `${basic_recalibration_base}/dcc:respAuthority/dcc:name/dcc:content`, }, - email: `string(${base}/dcc:statement[2]/dcc:respAuthority/dcc:eMail)`, + email: `string(${basic_recalibration_base}/dcc:respAuthority/dcc:eMail)`, location: { - city: `string(${base}/dcc:statement[2]/dcc:respAuthority/dcc:location/dcc:city)`, - countryCode: `string(${base}/dcc:statement[2]/dcc:respAuthority/dcc:location/dcc:countryCode)`, - postCode: `string(${base}/dcc:statement[2]/dcc:respAuthority/dcc:location/dcc:postCode)`, + city: `string(${basic_recalibration_base}/dcc:respAuthority/dcc:location/dcc:city)`, + countryCode: `string(${basic_recalibration_base}/dcc:respAuthority/dcc:location/dcc:countryCode)`, + postCode: `string(${basic_recalibration_base}/dcc:respAuthority/dcc:location/dcc:postCode)`, }, }, - refType: `string(${base}/dcc:statement[2]/@refType)`, + refType: `string(${basic_recalibration_base}/@refType)`, }, }, }; describe("GP_DCC_Temperature_Simplified: StatementMetaDataType", () => { - let dcc: DCCDocument, statement1, statement2: StatementMetaDataType, dom; + let dcc: DCCDocument, + norm: StatementMetaDataType, + basic_validityRange: StatementMetaDataType, + basic_conformity: StatementMetaDataType, + basic_recalibration: StatementMetaDataType, + dom; beforeEach(() => { ({ dcc, dom } = recreateEnv()); - statement1 = dcc.digitalCalibrationCertificate.administrativeData.statements.statement[0]; - statement2 = dcc.digitalCalibrationCertificate.administrativeData.statements.statement[1]; + norm = dcc.digitalCalibrationCertificate.administrativeData.statements.statement[0]; + basic_validityRange = dcc.digitalCalibrationCertificate.administrativeData.statements.statement[1]; + basic_conformity = dcc.digitalCalibrationCertificate.administrativeData.statements.statement[2]; + basic_recalibration = dcc.digitalCalibrationCertificate.administrativeData.statements.statement[3]; + }); + + // region norm + test("should get correct norm declaration content from XML", () => { + // get expected list from example xml + const expected = <Element[]>select(xpath.statements.norm.declaration.content, dom); + expect(toTextArr(norm.declaration.content)).toEqual(toTextContentArr(expected)); + }); + + test("should get correct norm model from XML", () => { + expect(norm.norm[0]._text).toBe(select(xpath.statements.norm.norm, dom)); + }); + + test("should get correct norm reference from XML", () => { + expect(norm.reference[0]._text).toBe(select(xpath.statements.norm.reference, dom)); + }); + // endregion + + // region basic_validityRange + test("should get correct basic_validityRange declaration content from XML", () => { + // get expected list from example xml + const expected = <Element[]>select(xpath.statements.basic_validityRange.declaration.content, dom); + expect(toTextArr(basic_validityRange.declaration.content)).toEqual(toTextContentArr(expected)); }); - test("should get correct statement 1 declaration content from XML", () => { + test("should get correct basic_validityRange data quantity 1 name content from XML", () => { // get expected list from example xml - const expected = <Element[]>select(xpath.statements.statement1.declaration.content, dom); - expect(toTextArr(statement1.declaration.content)).toEqual(toTextContentArr(expected)); + const expected = <Element[]>select(xpath.statements.basic_validityRange.data.quantity1.name.content, dom); + expect(toTextArr(basic_validityRange.data.quantity[0].name.content)).toEqual(toTextContentArr(expected)); + }); + + test("should get correct basic_validityRange data quantity 1 si:value from XML", () => { + expect(basic_validityRange.data.quantity[0].real.value._text).toBe(select(xpath.statements.basic_validityRange.data.quantity1.si_real.si_value, dom)); + }); + + test("should get correct basic_validityRange data quantity 2 si:unit from XML", () => { + expect(basic_validityRange.data.quantity[0].real.unit._text).toBe(select(xpath.statements.basic_validityRange.data.quantity1.si_real.si_unit, dom)); }); - /* responsible authority 1 */ - test("should get correct statement 1 responsible authority name content from XML", () => { + test("should get correct basic_validityRange data quantity 2 name content from XML", () => { // get expected list from example xml - const expected = <Element[]>select(xpath.statements.statement1.respAuthority.name.content, dom); - expect(toTextArr(statement1.respAuthority.name.content)).toEqual(toTextContentArr(expected)); + const expected = <Element[]>select(xpath.statements.basic_validityRange.data.quantity2.name.content, dom); + expect(toTextArr(basic_validityRange.data.quantity[1].name.content)).toEqual(toTextContentArr(expected)); }); - test("should get correct statement 1 responsible authority email from XML", () => { - expect(statement1.respAuthority.eMail._text).toBe(select(xpath.statements.statement1.respAuthority.email, dom)); + test("should get correct basic_validityRange data quantity 2 si:value from XML", () => { + expect(basic_validityRange.data.quantity[1].real.value._text).toBe(select(xpath.statements.basic_validityRange.data.quantity2.si_real.si_value, dom)); }); - test("should get correct statement 1 responsible authority location city from XML", () => { - expect(statement1.respAuthority.location.city[0]._text).toBe(select(xpath.statements.statement1.respAuthority.location.city, dom)); + test("should get correct basic_validityRange data quantity 2 si:unit from XML", () => { + expect(basic_validityRange.data.quantity[1].real.unit._text).toBe(select(xpath.statements.basic_validityRange.data.quantity2.si_real.si_unit, dom)); }); - test("should get correct statement 1 responsible authority location country code from XML", () => { - expect(statement1.respAuthority.location.countryCode[0]._text).toBe(select(xpath.statements.statement1.respAuthority.location.countryCode, dom)); + + test("should get correct basic_validityRange refType from XML", () => { + expect(basic_validityRange._attr.refType).toBe(select(xpath.statements.basic_validityRange.refType, dom)); }); - test("should get correct statement 1 responsible authority location post code from XML", () => { - expect(statement1.respAuthority.location.postCode[0]._text).toBe(select(xpath.statements.statement1.respAuthority.location.postCode, dom)); + // endregion + + // region basic_conformity + test("should get correct basic_conformity declaration content from XML", () => { + // get expected list from example xml + const expected = <Element[]>select(xpath.statements.basic_conformity.declaration.content, dom); + expect(toTextArr(basic_conformity.declaration.content)).toEqual(toTextContentArr(expected)); + }); + + test("should get correct basic_conformity responsible authority name content from XML", () => { + // get expected list from example xml + const expected = <Element[]>select(xpath.statements.basic_conformity.respAuthority.name.content, dom); + expect(toTextArr(basic_conformity.respAuthority.name.content)).toEqual(toTextContentArr(expected)); + }); + + test("should get correct basic_conformity responsible authority email from XML", () => { + expect(basic_conformity.respAuthority.eMail._text).toBe(select(xpath.statements.basic_conformity.respAuthority.email, dom)); + }); + + test("should get correct basic_conformity responsible authority location city from XML", () => { + expect(basic_conformity.respAuthority.location.city[0]._text).toBe(select(xpath.statements.basic_conformity.respAuthority.location.city, dom)); + }); + + test("should get correct basic_conformity responsible authority location country code from XML", () => { + expect(basic_conformity.respAuthority.location.countryCode[0]._text).toBe( + select(xpath.statements.basic_conformity.respAuthority.location.countryCode, dom), + ); + }); + + test("should get correct basic_conformity responsible authority location post code from XML", () => { + expect(basic_conformity.respAuthority.location.postCode[0]._text).toBe(select(xpath.statements.basic_conformity.respAuthority.location.postCode, dom)); }); - test("should get correct statement 1 conformity from XML", () => { - expect(statement1.conformity._text).toBe(select(xpath.statements.statement1.conformity, dom)); + test("should get correct basic_conformity conformity from XML", () => { + expect(basic_conformity.conformity._text).toBe(select(xpath.statements.basic_conformity.conformity, dom)); }); + // endregion - test("should get correct statement 2 declaration content from XML", () => { + // region basic_recalibration + test("should get correct basic_recalibration declaration content from XML", () => { // get expected list from example xml - const expected = <Element[]>select(xpath.statements.statement2.declaration.content, dom); - expect(toTextArr(statement2.declaration.content)).toEqual(toTextContentArr(expected)); + const expected = <Element[]>select(xpath.statements.basic_recalibration.declaration.content, dom); + expect(toTextArr(basic_recalibration.declaration.content)).toEqual(toTextContentArr(expected)); }); - test("should get correct statement 2 refType from XML", () => { - expect(statement2.date._text).toBe(select(xpath.statements.statement2.date, dom)); + test("should get correct basic_recalibration refType from XML", () => { + expect(basic_recalibration.date._text).toBe(select(xpath.statements.basic_recalibration.date, dom)); }); /* responsible authority 2 */ - test("should get correct statement 2 responsible authority name content from XML", () => { + test("should get correct basic_recalibration responsible authority name content from XML", () => { // get expected list from example xml - const expected = <Element[]>select(xpath.statements.statement2.respAuthority.name.content, dom); - expect(toTextArr(statement2.respAuthority.name.content)).toEqual(toTextContentArr(expected)); + const expected = <Element[]>select(xpath.statements.basic_recalibration.respAuthority.name.content, dom); + expect(toTextArr(basic_recalibration.respAuthority.name.content)).toEqual(toTextContentArr(expected)); }); - test("should get correct statement 2 responsible authority email from XML", () => { - expect(statement2.respAuthority.eMail._text).toBe(select(xpath.statements.statement2.respAuthority.email, dom)); + test("should get correct basic_recalibration responsible authority email from XML", () => { + expect(basic_recalibration.respAuthority.eMail._text).toBe(select(xpath.statements.basic_recalibration.respAuthority.email, dom)); }); - test("should get correct statement 2 responsible authority location city from XML", () => { - expect(statement2.respAuthority.location.city[0]._text).toBe(select(xpath.statements.statement2.respAuthority.location.city, dom)); + test("should get correct basic_recalibration responsible authority location city from XML", () => { + expect(basic_recalibration.respAuthority.location.city[0]._text).toBe(select(xpath.statements.basic_recalibration.respAuthority.location.city, dom)); }); - test("should get correct statement 2 responsible authority location country code from XML", () => { - expect(statement2.respAuthority.location.countryCode[0]._text).toBe(select(xpath.statements.statement2.respAuthority.location.countryCode, dom)); + test("should get correct basic_recalibration responsible authority location country code from XML", () => { + expect(basic_recalibration.respAuthority.location.countryCode[0]._text).toBe( + select(xpath.statements.basic_recalibration.respAuthority.location.countryCode, dom), + ); }); - test("should get correct statement 2 responsible authority location post code from XML", () => { - expect(statement2.respAuthority.location.postCode[0]._text).toBe(select(xpath.statements.statement2.respAuthority.location.postCode, dom)); + test("should get correct basic_recalibration responsible authority location post code from XML", () => { + expect(basic_recalibration.respAuthority.location.postCode[0]._text).toBe( + select(xpath.statements.basic_recalibration.respAuthority.location.postCode, dom), + ); }); - test("should get correct statement 2 refType from XML", () => { - expect(statement2._attr.refType).toBe(select(xpath.statements.statement2.refType, dom)); + test("should get correct basic_recalibration refType from XML", () => { + expect(basic_recalibration._attr.refType).toBe(select(xpath.statements.basic_recalibration.refType, dom)); }); + // endregion /* TODO: setters */ }); diff --git a/tests/DCC/GP_DCC_Temperature_Simplified/MeasurementResults.MeasurementResult.InfluenceConditions.test.ts b/tests/DCC/GP_DCC_Temperature_Simplified/MeasurementResults.MeasurementResult.InfluenceConditions.test.ts index 863afe1859d552d81e072b4c0cb48dac0b54db3a..bd58acf035a8cec0f04a7ea5131ae88f0f0236c1 100644 --- a/tests/DCC/GP_DCC_Temperature_Simplified/MeasurementResults.MeasurementResult.InfluenceConditions.test.ts +++ b/tests/DCC/GP_DCC_Temperature_Simplified/MeasurementResults.MeasurementResult.InfluenceConditions.test.ts @@ -3,215 +3,245 @@ */ import { select, toTextArr, toTextContentArr } from "../../util"; -import { DCCDocument, InfluenceConditionListType } from "../../../src"; +import { ConditionType, DCCDocument } from "../../../src"; const base = "/dcc:digitalCalibrationCertificate/dcc:measurementResults/dcc:measurementResult[1]/dcc:influenceConditions"; +const gp_immersionDepth_base = `${base}/dcc:influenceCondition[1]`; +const basic_temperature_base = `${base}/dcc:influenceCondition[2]`; +const basic_humidityRelative_base = `${base}/dcc:influenceCondition[3]`; + const xpath = { - measurementResults: { - measurementResult: { - influenceConditions: { - influenceCondition1: { + influenceConditions: { + gp_immersionDepth: { + name: { + content: `${gp_immersionDepth_base}/dcc:name/dcc:content`, + }, + data: { + quantity: { name: { - content: `${base}/dcc:influenceCondition[1]/dcc:name/dcc:content`, + content: `${gp_immersionDepth_base}/dcc:data/dcc:quantity[1]/dcc:name/dcc:content`, }, - description: { - content: `${base}/dcc:influenceCondition[1]/dcc:description/dcc:content`, + si_real: { + si_value: `string(${gp_immersionDepth_base}/dcc:data/dcc:quantity[1]/si:real/si:value)`, + si_unit: `string(${gp_immersionDepth_base}/dcc:data/dcc:quantity[1]/si:real/si:unit)`, }, - data: { - quantity1: { - name: { - content: `${base}/dcc:influenceCondition[1]/dcc:data/dcc:quantity[1]/dcc:name/dcc:content`, - }, - si_real: { - si_value: `string(${base}/dcc:influenceCondition[1]/dcc:data/dcc:quantity[1]/si:real/si:value)`, - si_unit: `string(${base}/dcc:influenceCondition[1]/dcc:data/dcc:quantity[1]/si:real/si:unit)`, - }, - refType: `string(${base}/dcc:influenceCondition[1]/dcc:data/dcc:quantity[1]//@refType)`, - }, - quantity2: { - name: { - content: `${base}/dcc:influenceCondition[1]/dcc:data/dcc:quantity[2]/dcc:name/dcc:content`, - }, - si_real: { - si_value: `string(${base}/dcc:influenceCondition[1]/dcc:data/dcc:quantity[2]/si:real/si:value)`, - si_unit: `string(${base}/dcc:influenceCondition[1]/dcc:data/dcc:quantity[2]/si:real/si:unit)`, - }, - refType: `string(${base}/dcc:influenceCondition[1]/dcc:data/dcc:quantity[2]//@refType)`, - }, + }, + }, + refType: `string(${gp_immersionDepth_base}//@refType)`, + }, + basic_temperature: { + name: { + content: `${basic_temperature_base}/dcc:name/dcc:content`, + }, + description: { + content: `${basic_temperature_base}/dcc:description/dcc:content`, + }, + data: { + quantity1: { + name: { + content: `${basic_temperature_base}/dcc:data/dcc:quantity[1]/dcc:name/dcc:content`, + }, + si_real: { + si_value: `string(${basic_temperature_base}/dcc:data/dcc:quantity[1]/si:real/si:value)`, + si_unit: `string(${basic_temperature_base}/dcc:data/dcc:quantity[1]/si:real/si:unit)`, }, - refType: `string(${base}/dcc:influenceCondition[1]//@refType)`, + refType: `string(${basic_temperature_base}/dcc:data/dcc:quantity[1]//@refType)`, }, - influenceCondition2: { + quantity2: { name: { - content: `${base}/dcc:influenceCondition[2]/dcc:name/dcc:content`, + content: `${basic_temperature_base}/dcc:data/dcc:quantity[2]/dcc:name/dcc:content`, }, - description: { - content: `${base}/dcc:influenceCondition[2]/dcc:description/dcc:content`, - contentDE: `${base}/dcc:influenceCondition[2]/dcc:description/dcc:content[@lang='de']`, - contentEN: `${base}/dcc:influenceCondition[2]/dcc:description/dcc:content[@lang='en']`, + si_real: { + si_value: `string(${basic_temperature_base}/dcc:data/dcc:quantity[2]/si:real/si:value)`, + si_unit: `string(${basic_temperature_base}/dcc:data/dcc:quantity[2]/si:real/si:unit)`, }, - data: { - quantity1: { - name: { - content: `${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[1]/dcc:name/dcc:content`, - }, - si_real: { - si_value: `string(${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[1]/si:real/si:value)`, - si_unit: `string(${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[1]/si:real/si:unit)`, - }, - refType: `string(${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[1]//@refType)`, - }, - quantity2: { - name: { - content: `${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[2]/dcc:name/dcc:content`, - }, - si_real: { - si_value: `string(${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[2]/si:real/si:value)`, - si_unit: `string(${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[2]/si:real/si:unit)`, - }, - refType: `string(${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[2]//@refType)`, - }, + refType: `string(${basic_temperature_base}/dcc:data/dcc:quantity[2]//@refType)`, + }, + }, + refType: `string(${basic_temperature_base}//@refType)`, + }, + basic_humidityRelative: { + name: { + content: `${basic_humidityRelative_base}/dcc:name/dcc:content`, + }, + description: { + content: `${basic_humidityRelative_base}/dcc:description/dcc:content`, + contentDE: `${basic_humidityRelative_base}/dcc:description/dcc:content[@lang='de']`, + contentEN: `${basic_humidityRelative_base}/dcc:description/dcc:content[@lang='en']`, + }, + data: { + quantity1: { + name: { + content: `${basic_humidityRelative_base}/dcc:data/dcc:quantity[1]/dcc:name/dcc:content`, + }, + si_real: { + si_value: `string(${basic_humidityRelative_base}/dcc:data/dcc:quantity[1]/si:real/si:value)`, + si_unit: `string(${basic_humidityRelative_base}/dcc:data/dcc:quantity[1]/si:real/si:unit)`, }, - refType: `string(${base}/dcc:influenceCondition[2]//@refType)`, + refType: `string(${basic_humidityRelative_base}/dcc:data/dcc:quantity[1]//@refType)`, + }, + quantity2: { + name: { + content: `${basic_humidityRelative_base}/dcc:data/dcc:quantity[2]/dcc:name/dcc:content`, + }, + si_real: { + si_value: `string(${basic_humidityRelative_base}/dcc:data/dcc:quantity[2]/si:real/si:value)`, + si_unit: `string(${basic_humidityRelative_base}/dcc:data/dcc:quantity[2]/si:real/si:unit)`, + }, + refType: `string(${basic_humidityRelative_base}/dcc:data/dcc:quantity[2]//@refType)`, }, }, + refType: `string(${basic_humidityRelative_base}//@refType)`, }, }, }; describe("GP_DCC_Temperature_Simplified: InfluenceConditionListType", () => { - let dcc: DCCDocument, influenceConditions: InfluenceConditionListType, dom; + let dcc: DCCDocument, gp_immersionDepth: ConditionType, basic_temperature: ConditionType, basic_humidityRelative: ConditionType, dom; beforeEach(() => { ({ dcc, dom } = recreateEnv()); - influenceConditions = dcc.digitalCalibrationCertificate.measurementResults.measurementResult[0].influenceConditions; + const influenceConditions = dcc.digitalCalibrationCertificate.measurementResults.measurementResult[0].influenceConditions; + gp_immersionDepth = influenceConditions.influenceCondition[0]; + basic_temperature = influenceConditions.influenceCondition[1]; + basic_humidityRelative = influenceConditions.influenceCondition[2]; + }); + + // region gp_immersionDepth + test("should get correct gp_immersionDepth name content from XML", () => { + // get expected list from example xml + const expected = <Element[]>select(xpath.influenceConditions.gp_immersionDepth.name.content, dom); + expect(toTextArr(gp_immersionDepth.name.content)).toEqual(toTextContentArr(expected)); }); - test("should get correct influence condition 1 name content from XML", () => { + test("should get correct gp_immersionDepth quantity name content from XML", () => { // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.name.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[0].name.content)).toEqual(toTextContentArr(expected)); + const expected = <Element[]>select(xpath.influenceConditions.gp_immersionDepth.data.quantity.name.content, dom); + expect(toTextArr(gp_immersionDepth.data.quantity[0].name.content)).toEqual(toTextContentArr(expected)); + }); + + test("should get correct gp_immersionDepth quantity si:value from XML", () => { + expect(gp_immersionDepth.data.quantity[0].real.value._text).toBe(select(xpath.influenceConditions.gp_immersionDepth.data.quantity.si_real.si_value, dom)); + }); + + test("should get correct gp_immersionDepth quantity si:unit from XML", () => { + expect(gp_immersionDepth.data.quantity[0].real.unit._text).toBe(select(xpath.influenceConditions.gp_immersionDepth.data.quantity.si_real.si_unit, dom)); }); - test("should get correct influence condition 1 description content from XML", () => { + test("should get correct gp_immersionDepth refType from XML", () => { + expect(gp_immersionDepth._attr.refType).toBe(select(xpath.influenceConditions.gp_immersionDepth.refType, dom)); + }); + // endregion + + // region basic_temperature + test("should get correct basic_temperature name content from XML", () => { // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.description.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[0].description.content)).toEqual(toTextContentArr(expected)); + const expected = <Element[]>select(xpath.influenceConditions.basic_temperature.name.content, dom); + expect(toTextArr(basic_temperature.name.content)).toEqual(toTextContentArr(expected)); }); - test("should get correct influence condition 1 quantity name content from XML", () => { + test("should get correct basic_temperature description content from XML", () => { // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.data.quantity1.name.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[0].data.quantity[0].name.content)).toEqual(toTextContentArr(expected)); + const expected = <Element[]>select(xpath.influenceConditions.basic_temperature.description.content, dom); + expect(toTextArr(basic_temperature.description.content)).toEqual(toTextContentArr(expected)); }); - test("should get correct influence condition 1 quantity si:value from XML", () => { - expect(influenceConditions.influenceCondition[0].data.quantity[0].real.value._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.data.quantity1.si_real.si_value, dom), - ); + test("should get correct basic_temperature quantity name content from XML", () => { + // get expected list from example xml + const expected = <Element[]>select(xpath.influenceConditions.basic_temperature.data.quantity1.name.content, dom); + expect(toTextArr(basic_temperature.data.quantity[0].name.content)).toEqual(toTextContentArr(expected)); }); - test("should get correct influence condition 1 quantity si:unit from XML", () => { - expect(influenceConditions.influenceCondition[0].data.quantity[0].real.unit._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.data.quantity1.si_real.si_unit, dom), - ); + test("should get correct basic_temperature quantity si:value from XML", () => { + expect(basic_temperature.data.quantity[0].real.value._text).toBe(select(xpath.influenceConditions.basic_temperature.data.quantity1.si_real.si_value, dom)); }); - test("should get correct influence condition 1 quantity 1 refType from XML", () => { - expect(influenceConditions.influenceCondition[0].data.quantity[0]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.data.quantity1.refType, dom), - ); + test("should get correct basic_temperature quantity si:unit from XML", () => { + expect(basic_temperature.data.quantity[0].real.unit._text).toBe(select(xpath.influenceConditions.basic_temperature.data.quantity1.si_real.si_unit, dom)); }); - test("should get correct influence condition 1 quantity 2 si:value from XML", () => { - expect(influenceConditions.influenceCondition[0].data.quantity[1].real.value._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.data.quantity2.si_real.si_value, dom), - ); + test("should get correct basic_temperature quantity 1 refType from XML", () => { + expect(basic_temperature.data.quantity[0]._attr.refType).toBe(select(xpath.influenceConditions.basic_temperature.data.quantity1.refType, dom)); }); - test("should get correct influence condition 1 quantity 2 si:unit from XML", () => { - expect(influenceConditions.influenceCondition[0].data.quantity[1].real.unit._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.data.quantity2.si_real.si_unit, dom), - ); + test("should get correct basic_temperature quantity 2 si:value from XML", () => { + expect(basic_temperature.data.quantity[1].real.value._text).toBe(select(xpath.influenceConditions.basic_temperature.data.quantity2.si_real.si_value, dom)); }); - test("should get correct influence condition 1 quantity 2 refType from XML", () => { - expect(influenceConditions.influenceCondition[0].data.quantity[1]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.data.quantity2.refType, dom), - ); + test("should get correct basic_temperature quantity 2 si:unit from XML", () => { + expect(basic_temperature.data.quantity[1].real.unit._text).toBe(select(xpath.influenceConditions.basic_temperature.data.quantity2.si_real.si_unit, dom)); }); - test("should get correct influence condition 1 refType from XML", () => { - expect(influenceConditions.influenceCondition[0]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.refType, dom), - ); + test("should get correct basic_temperature quantity 2 refType from XML", () => { + expect(basic_temperature.data.quantity[1]._attr.refType).toBe(select(xpath.influenceConditions.basic_temperature.data.quantity2.refType, dom)); }); - test("should get correct influence condition 2 name content from XML", () => { + test("should get correct basic_temperature refType from XML", () => { + expect(basic_temperature._attr.refType).toBe(select(xpath.influenceConditions.basic_temperature.refType, dom)); + }); + // endregion + + // region basic_humidityRelative + test("should get correct basic_humidityRelative name content from XML", () => { // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.name.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[1].name.content)).toEqual(toTextContentArr(expected)); + const expected = <Element[]>select(xpath.influenceConditions.basic_humidityRelative.name.content, dom); + expect(toTextArr(basic_humidityRelative.name.content)).toEqual(toTextContentArr(expected)); }); - test("should get correct influence condition 2 description content from XML", () => { + test("should get correct basic_humidityRelative description content from XML", () => { // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.description.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[1].description.content)).toEqual(toTextContentArr(expected)); + const expected = <Element[]>select(xpath.influenceConditions.basic_humidityRelative.description.content, dom); + expect(toTextArr(basic_humidityRelative.description.content)).toEqual(toTextContentArr(expected)); }); - test("should get correct influence condition 2 quantity 1 name content from XML", () => { + test("should get correct basic_humidityRelative quantity 1 name content from XML", () => { // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity1.name.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[1].data.quantity[0].name.content)).toEqual(toTextContentArr(expected)); + const expected = <Element[]>select(xpath.influenceConditions.basic_humidityRelative.data.quantity1.name.content, dom); + expect(toTextArr(basic_humidityRelative.data.quantity[0].name.content)).toEqual(toTextContentArr(expected)); }); - test("should get correct influence condition 2 quantity 1 si:value from XML", () => { - expect(influenceConditions.influenceCondition[1].data.quantity[0].real.value._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity1.si_real.si_value, dom), + test("should get correct basic_humidityRelative quantity 1 si:value from XML", () => { + expect(basic_humidityRelative.data.quantity[0].real.value._text).toBe( + select(xpath.influenceConditions.basic_humidityRelative.data.quantity1.si_real.si_value, dom), ); }); - test("should get correct influence condition 2 quantity 1 si:unit from XML", () => { - expect(influenceConditions.influenceCondition[1].data.quantity[0].real.unit._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity1.si_real.si_unit, dom), + test("should get correct basic_humidityRelative quantity 1 si:unit from XML", () => { + expect(basic_humidityRelative.data.quantity[0].real.unit._text).toBe( + select(xpath.influenceConditions.basic_humidityRelative.data.quantity1.si_real.si_unit, dom), ); }); - test("should get correct influence condition 2 quantity 1 refType from XML", () => { - expect(influenceConditions.influenceCondition[1].data.quantity[0]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity1.refType, dom), - ); + test("should get correct basic_humidityRelative quantity 1 refType from XML", () => { + expect(basic_humidityRelative.data.quantity[0]._attr.refType).toBe(select(xpath.influenceConditions.basic_humidityRelative.data.quantity1.refType, dom)); }); - test("should get correct influence condition 2 quantity 2 name content from XML", () => { + test("should get correct basic_humidityRelative quantity 2 name content from XML", () => { // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity2.name.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[1].data.quantity[1].name.content)).toEqual(toTextContentArr(expected)); + const expected = <Element[]>select(xpath.influenceConditions.basic_humidityRelative.data.quantity2.name.content, dom); + expect(toTextArr(basic_humidityRelative.data.quantity[1].name.content)).toEqual(toTextContentArr(expected)); }); - test("should get correct influence condition 2 quantity 2 si:value from XML", () => { - expect(influenceConditions.influenceCondition[1].data.quantity[1].real.value._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity2.si_real.si_value, dom), + test("should get correct basic_humidityRelative quantity 2 si:value from XML", () => { + expect(basic_humidityRelative.data.quantity[1].real.value._text).toBe( + select(xpath.influenceConditions.basic_humidityRelative.data.quantity2.si_real.si_value, dom), ); }); - test("should get correct influence condition 2 quantity 2 si:unit from XML", () => { - expect(influenceConditions.influenceCondition[1].data.quantity[1].real.unit._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity2.si_real.si_unit, dom), + test("should get correct basic_humidityRelative quantity 2 si:unit from XML", () => { + expect(basic_humidityRelative.data.quantity[1].real.unit._text).toBe( + select(xpath.influenceConditions.basic_humidityRelative.data.quantity2.si_real.si_unit, dom), ); }); - test("should get correct influence condition 2 quantity 2 refType from XML", () => { - expect(influenceConditions.influenceCondition[1].data.quantity[1]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity2.refType, dom), - ); + test("should get correct basic_humidityRelative quantity 2 refType from XML", () => { + expect(basic_humidityRelative.data.quantity[1]._attr.refType).toBe(select(xpath.influenceConditions.basic_humidityRelative.data.quantity2.refType, dom)); }); - test("should get correct influence condition 2 refType from XML", () => { - expect(influenceConditions.influenceCondition[1]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.refType, dom), - ); + test("should get correct basic_humidityRelative refType from XML", () => { + expect(basic_humidityRelative._attr.refType).toBe(select(xpath.influenceConditions.basic_humidityRelative.refType, dom)); }); + // endregion /* TODO: setters */ }); diff --git a/tests/DCC/GP_DCC_Temperature_Simplified/MeasurementResults.MeasurementResult.Results.test.ts b/tests/DCC/GP_DCC_Temperature_Simplified/MeasurementResults.MeasurementResult.Results.test.ts index eba3b9c76ab8c253b1691c97293762b78b414017..a722896e5cf22ef2746d916a8d4f247038bcc0e7 100644 --- a/tests/DCC/GP_DCC_Temperature_Simplified/MeasurementResults.MeasurementResult.Results.test.ts +++ b/tests/DCC/GP_DCC_Temperature_Simplified/MeasurementResults.MeasurementResult.Results.test.ts @@ -30,6 +30,28 @@ const xpath = { si_unitXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/si:hybrid/si:realListXMLList[2]/si:unitXMLList)`, }, }, + measurementMetaData: { + metaData: { + declaration: { + content: `${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/dcc:measurementMetaData/dcc:metaData/dcc:declaration/dcc:content`, + }, + data: { + quantity: { + si_hybrid: { + si_realListXMLList1: { + si_valueXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/dcc:measurementMetaData/dcc:metaData/dcc:data/dcc:quantity[1]/si:hybrid/si:realListXMLList[1]/si:valueXMLList)`, + si_unitXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/dcc:measurementMetaData/dcc:metaData/dcc:data/dcc:quantity[1]/si:hybrid/si:realListXMLList[1]/si:unitXMLList)`, + }, + si_realListXMLList2: { + si_valueXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/dcc:measurementMetaData/dcc:metaData/dcc:data/dcc:quantity[1]/si:hybrid/si:realListXMLList[2]/si:valueXMLList)`, + si_unitXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/dcc:measurementMetaData/dcc:metaData/dcc:data/dcc:quantity[1]/si:hybrid/si:realListXMLList[2]/si:unitXMLList)`, + }, + }, + }, + }, + refType: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/dcc:measurementMetaData/dcc:metaData//@refType)`, + }, + }, refType: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]//@refType)`, }, quantity2: { @@ -145,6 +167,50 @@ describe("GP_DCC_Temperature_Simplified: ResultType", () => { ); }); + test("should get correct result quantity 1 meta data declaration content from XML", () => { + // get expected list from example xml + const expected = <Element[]>( + select(xpath.measurementResults.measurementResult.results.result.data.list.quantity1.measurementMetaData.metaData.declaration.content, dom) + ); + expect(toTextArr(result.data.list[0].quantity[0].measurementMetaData.metaData[0].declaration.content)).toEqual(toTextContentArr(expected)); + }); + + test("should get correct result quantity 1 meta data hybrid si:valueXMLList 1 from XML", () => { + expect(result.data.list[0].quantity[0].measurementMetaData.metaData[0].data.quantity[0].hybrid.realListXMLList[0].valueXMLList._text).toBe( + select( + xpath.measurementResults.measurementResult.results.result.data.list.quantity1.measurementMetaData.metaData.data.quantity.si_hybrid.si_realListXMLList1 + .si_valueXMLList, + dom, + ), + ); + }); + + test("should get correct result quantity 1 meta data hybrid si:unitXMLList 1 from XML", () => { + expect(result.data.list[0].quantity[0].measurementMetaData.metaData[0].data.quantity[0].hybrid.realListXMLList[0].unitXMLList._text).toBe( + select( + xpath.measurementResults.measurementResult.results.result.data.list.quantity1.measurementMetaData.metaData.data.quantity.si_hybrid.si_realListXMLList1 + .si_unitXMLList, + dom, + ), + ); + }); + + test("should get correct result quantity 1 meta data hybrid si:valueXMLList 2 from XML", () => { + expect(result.data.list[0].quantity[0].measurementMetaData.metaData[0].data.quantity[0].hybrid.realListXMLList[1].valueXMLList._text).toBe( + select( + xpath.measurementResults.measurementResult.results.result.data.list.quantity1.measurementMetaData.metaData.data.quantity.si_hybrid.si_realListXMLList2 + .si_valueXMLList, + dom, + ), + ); + }); + + test("should get correct result quantity 1 meta data hybrid si:unitXMLList 2 from XML", () => { + expect(result.data.list[0].quantity[0].measurementMetaData.metaData[0].data.quantity[0].hybrid.realListXMLList[1].unitXMLList._text).toBe( + select(xpath.measurementResults.measurementResult.results.result.data.list.quantity1.si_hybrid.si_realListXMLList2.si_unitXMLList, dom), + ); + }); + test("should get correct result quantity 2 name content from XML", () => { // get expected list from example xml const expected = <Element[]>select(xpath.measurementResults.measurementResult.results.result.data.list.quantity2.name.content, dom); diff --git a/tests/DCC/GP_DCC_Temperature_Simplified/MeasurementResults.MeasurementResult.UsedMethods.test.ts b/tests/DCC/GP_DCC_Temperature_Simplified/MeasurementResults.MeasurementResult.UsedMethods.test.ts index 3702d113d13e3887d86ec3b2ed480aebd28e5f03..2c0473457b7abac92370b21f7acf966d42fc96ba 100644 --- a/tests/DCC/GP_DCC_Temperature_Simplified/MeasurementResults.MeasurementResult.UsedMethods.test.ts +++ b/tests/DCC/GP_DCC_Temperature_Simplified/MeasurementResults.MeasurementResult.UsedMethods.test.ts @@ -3,41 +3,81 @@ */ import { select, toTextArr, toTextContentArr } from "../../util"; -import { DCCDocument, UsedMethodListType } from "../../../src"; +import { DCCDocument, UsedMethodType } from "../../../src"; const base = "/dcc:digitalCalibrationCertificate/dcc:measurementResults/dcc:measurementResult[1]"; +const basic_uncertainty_base = `${base}/dcc:usedMethods/dcc:usedMethod[1]`; +const gp_temperatureSensor_base = `${base}/dcc:usedMethods/dcc:usedMethod[2]`; const xpath = { - measurementResults: { - measurementResult: { - usedMethods: { - usedMethod1: { - name: { - content: `${base}/dcc:usedMethods/dcc:usedMethod[1]/dcc:name/dcc:content`, - }, - refType: `string(${base}/dcc:usedMethods/dcc:usedMethod[1]//@refType)`, - }, + usedMethods: { + basic_uncertainty: { + name: { + content: `${basic_uncertainty_base}/dcc:name/dcc:content`, }, + description: { + content: `${basic_uncertainty_base}/dcc:description/dcc:content`, + contentDE: `${basic_uncertainty_base}/dcc:description/dcc:content[@lang='de']`, + contentEN: `${basic_uncertainty_base}/dcc:description/dcc:content[@lang='en']`, + }, + norm: `string(${basic_uncertainty_base}/dcc:norm[1])`, + refType: `string(${basic_uncertainty_base}//@refType)`, + }, + gp_temperatureSensor: { + name: { + content: `${gp_temperatureSensor_base}/dcc:name/dcc:content`, + }, + norm: `string(${gp_temperatureSensor_base}/dcc:norm[1])`, + refType: `string(${gp_temperatureSensor_base}//@refType)`, }, }, }; describe("GP_DCC_Temperature_Simplified: UsedMethodListType", () => { - let dcc: DCCDocument, usedMethods: UsedMethodListType, dom; + let dcc: DCCDocument, basic_uncertainty: UsedMethodType, gp_temperatureSensor: UsedMethodType, dom; beforeEach(() => { ({ dcc, dom } = recreateEnv()); - usedMethods = dcc.digitalCalibrationCertificate.measurementResults.measurementResult[0].usedMethods; + basic_uncertainty = dcc.digitalCalibrationCertificate.measurementResults.measurementResult[0].usedMethods.usedMethod[0]; + gp_temperatureSensor = dcc.digitalCalibrationCertificate.measurementResults.measurementResult[0].usedMethods.usedMethod[1]; + }); + + // region basic_uncertainty + test("should get correct basic_uncertainty name content from XML", () => { + // get expected list from example xml + const expected = <Element[]>select(xpath.usedMethods.basic_uncertainty.name.content, dom); + expect(toTextArr(basic_uncertainty.name.content)).toEqual(toTextContentArr(expected)); }); - test("should get correct used method 1 name content from XML", () => { + test("should get correct basic_uncertainty description content from XML", () => { // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.usedMethods.usedMethod1.name.content, dom); - expect(toTextArr(usedMethods.usedMethod[0].name.content)).toEqual(toTextContentArr(expected)); + const expected = <Element[]>select(xpath.usedMethods.basic_uncertainty.description.content, dom); + expect(toTextArr(basic_uncertainty.description.content)).toEqual(toTextContentArr(expected)); + }); + + test("should get correct basic_uncertainty norm from XML", () => { + expect(basic_uncertainty.norm[0]._text).toBe(select(xpath.usedMethods.basic_uncertainty.norm, dom)); + }); + + test("should get correct basic_uncertainty refType from XML", () => { + expect(basic_uncertainty._attr.refType).toBe(select(xpath.usedMethods.basic_uncertainty.refType, dom)); + }); + // endregion + + // region gp_temperatureSensor + test("should get correct gp_temperatureSensor name content from XML", () => { + // get expected list from example xml + const expected = <Element[]>select(xpath.usedMethods.gp_temperatureSensor.name.content, dom); + expect(toTextArr(gp_temperatureSensor.name.content)).toEqual(toTextContentArr(expected)); + }); + + test("should get correct gp_temperatureSensor norm from XML", () => { + expect(gp_temperatureSensor.norm[0]._text).toBe(select(xpath.usedMethods.gp_temperatureSensor.norm, dom)); }); - test("should get correct used method 1 refType from XML", () => { - expect(usedMethods.usedMethod[0]._attr.refType).toBe(select(xpath.measurementResults.measurementResult.usedMethods.usedMethod1.refType, dom)); + test("should get correct gp_temperatureSensor refType from XML", () => { + expect(gp_temperatureSensor._attr.refType).toBe(select(xpath.usedMethods.gp_temperatureSensor.refType, dom)); }); + // endregion /* TODO: setters */ }); diff --git a/tests/DCC/GP_DCC_Temperature_Simplified_variant/AdministrativeData.Items_variant.test.ts b/tests/DCC/GP_DCC_Temperature_Simplified_variant/AdministrativeData.Items_variant.test.ts deleted file mode 100644 index 68a193b90dfc8e93464a04fe95e0a822db009663..0000000000000000000000000000000000000000 --- a/tests/DCC/GP_DCC_Temperature_Simplified_variant/AdministrativeData.Items_variant.test.ts +++ /dev/null @@ -1,36 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/GP_Temperature_Simplified_variant.xml" } - */ - -import { select } from "../../util"; -import { ItemType, DCCDocument, EquipmentClassType } from "../../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:items"; -const xpath = { - items: { - item: { - equipmentClass: { - reference: `string(${base}/dcc:item[1]/dcc:equipmentClass[1]/dcc:reference)`, - classID: `string(${base}/dcc:item[1]/dcc:equipmentClass[1]/dcc:classID)`, - }, - }, - }, -}; - -describe("GP_DCC_Temperature_Typical: ItemType", () => { - let dcc: DCCDocument, item: ItemType, equipmentClass: EquipmentClassType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - item = dcc.digitalCalibrationCertificate.administrativeData.items.item[0]; - equipmentClass = item.equipmentClass[0]; - }); - - test("should get correct equipmentClass reference from XML", () => { - expect(equipmentClass.reference._text).toBe(select(xpath.items.item.equipmentClass.reference, dom)); - }); - - test("should get correct equipmentClass classID from XML", () => { - expect(equipmentClass.classID._text).toBe(select(xpath.items.item.equipmentClass.classID, dom)); - }); -}); diff --git a/tests/DCC/GP_DCC_Temperature_Simplified_variant/AdministrativeData.Statements_variant.test.ts b/tests/DCC/GP_DCC_Temperature_Simplified_variant/AdministrativeData.Statements_variant.test.ts deleted file mode 100644 index 2ed48e7888b4811d006687c033f15047cb45bf52..0000000000000000000000000000000000000000 --- a/tests/DCC/GP_DCC_Temperature_Simplified_variant/AdministrativeData.Statements_variant.test.ts +++ /dev/null @@ -1,94 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/GP_Temperature_Simplified_variant.xml" } - */ - -import * as fc from "fast-check"; -import { select, toTextArr, toTextContentArr, indexOf } from "../../util"; -import { StatementMetaDataType, DCCDocument, DCCXMLElement } from "../../../src"; -import { string_ISO3166_1 } from "../../Arbitraries"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:statements"; -const xpath = { - statements: { - statement3: { - countryCodeISO3166_1: `${base}/dcc:statement[3]/dcc:countryCodeISO3166_1`, - convention: `string(${base}/dcc:statement[3]/dcc:convention)`, - traceable: `string(${base}/dcc:statement[3]/dcc:traceable)`, - period: `string(${base}/dcc:statement[3]/dcc:period)`, - nonSIDefinition: `string(${base}/dcc:statement[3]/dcc:nonSIDefinition)`, - nonSIUnit: `string(${base}/dcc:statement[3]/dcc:nonSIUnit)`, - }, - }, -}; - -describe("GP_DCC_Temperature_Simplified: StatementMetaDataType", () => { - let dcc: DCCDocument, statement3: StatementMetaDataType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - statement3 = dcc.digitalCalibrationCertificate.administrativeData.statements.statement[2]; - }); - - test("should get correct statement 3 countryCodeISO3166_1 from XML", () => { - const expected = <Element[]>select(xpath.statements.statement3.countryCodeISO3166_1, dom); - expect(toTextArr(statement3.countryCodeISO3166_1)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct statement 3 convention from XML", () => { - const expected = select(xpath.statements.statement3.convention, dom); - expect(statement3.convention._text).toEqual(expected); - }); - - test("should get correct statement 3 traceable from XML", () => { - const expected = select(xpath.statements.statement3.traceable, dom); - expect(statement3.traceable._text).toEqual(expected); - }); - - test("should get correct statement 3 period from XML", () => { - const expected = select(xpath.statements.statement3.period, dom); - expect(statement3.period._text).toEqual(expected); - }); - - test("should get correct statement 3 nonSIDefinition from XML", () => { - const expected = select(xpath.statements.statement3.nonSIDefinition, dom); - expect(statement3.nonSIDefinition._text).toEqual(expected); - }); - - test("should get correct statement 3 nonSIUnit from XML", () => { - const expected = select(xpath.statements.statement3.nonSIUnit, dom); - expect(statement3.nonSIUnit._text).toEqual(expected); - }); - - /* test for setters */ - test("should set statement 3 countryCodeISO3166_1 correctly", () => { - fc.assert( - fc.property(string_ISO3166_1(), (str) => { - // add new element to array - statement3.countryCodeISO3166_1.push(new DCCXMLElement({ _text: str })); - - // get actual list from xml - const actual = <Element[]>select(xpath.statements.statement3.countryCodeISO3166_1, dcc); - - expect(toTextArr(statement3.countryCodeISO3166_1)).toContain(str); - expect(toTextContentArr(actual)).toContain(str); - }), - ); - }); - - test("should delete statement 3 countryCodeISO3166_1 correctly", () => { - const selection = toTextContentArr(<Element[]>select(xpath.statements.statement3.countryCodeISO3166_1, dom)); - fc.assert( - fc.property(fc.constantFrom(...selection), (str) => { - // get index and remove element from array - const index = indexOf(statement3.countryCodeISO3166_1, str); - statement3.countryCodeISO3166_1.splice(index, 1); - - // get actual list from xml - const actual = <Element[]>select(xpath.statements.statement3.countryCodeISO3166_1, dcc); - - expect(toTextArr(statement3.countryCodeISO3166_1)).not.toContain(str); - expect(toTextContentArr(actual)).not.toContain(str); - }), - ); - }); -}); diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.CalibrationLaboratory.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.CalibrationLaboratory.test.ts deleted file mode 100644 index a62165fc13b4267702773d635a2442759f9f3d15..0000000000000000000000000000000000000000 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.CalibrationLaboratory.test.ts +++ /dev/null @@ -1,83 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/GP_Temperature_v3.2.0_DCC.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../../util"; -import { CalibrationLaboratoryType, DCCDocument } from "../../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:calibrationLaboratory/dcc:contact"; -const xpath = { - name: `string(${base}/dcc:name/dcc:content)`, - eMail: `string(${base}/dcc:eMail)`, - phone: `string(${base}/dcc:phone)`, - fax: `string(${base}/dcc:fax)`, - location: { - city: `${base}/dcc:location/dcc:city`, - countryCode: `${base}/dcc:location/dcc:countryCode`, - postCode: `${base}/dcc:location/dcc:postCode`, - street: `${base}/dcc:location/dcc:street`, - streetNo: `${base}/dcc:location/dcc:streetNo`, - further: `${base}/dcc:location/dcc:further/dcc:content`, - }, -}; - -describe("GP_Temperature_v3.2.0_DCC: CalibrationLaboratoryType", () => { - let dcc: DCCDocument, calibrationLaboratory: CalibrationLaboratoryType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - calibrationLaboratory = dcc.digitalCalibrationCertificate.administrativeData.calibrationLaboratory; - }); - - test("should get correct name from XML", () => { - expect(calibrationLaboratory.contact.name.content[0]._text).toBe(select(xpath.name, dom)); - }); - - test("should get correct eMail from XML", () => { - expect(calibrationLaboratory.contact.eMail._text).toBe(select(xpath.eMail, dom)); - }); - - test("should get correct phone from XML", () => { - expect(calibrationLaboratory.contact.phone._text).toBe(select(xpath.phone, dom)); - }); - - test("should get correct fax from XML", () => { - expect(calibrationLaboratory.contact.fax._text).toBe(select(xpath.fax, dom)); - }); - - test("should get correct city from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.location.city, dom); - expect(toTextArr(calibrationLaboratory.contact.location.city)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct countryCode from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.location.countryCode, dom); - expect(toTextArr(calibrationLaboratory.contact.location.countryCode)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct postCode from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.location.postCode, dom); - expect(toTextArr(calibrationLaboratory.contact.location.postCode)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct street from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.location.street, dom); - expect(toTextArr(calibrationLaboratory.contact.location.street)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct streetNo from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.location.streetNo, dom); - expect(toTextArr(calibrationLaboratory.contact.location.streetNo)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct further element from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.location.further, dom); - expect(toTextArr(calibrationLaboratory.contact.location.further[0].content)).toEqual(toTextContentArr(expected)); - }); -}); diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.CoreDataType.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.CoreDataType.test.ts deleted file mode 100644 index 773f0733fb231761f8d08e5fd7139b44cb9e19eb..0000000000000000000000000000000000000000 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.CoreDataType.test.ts +++ /dev/null @@ -1,127 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/GP_Temperature_v3.2.0_DCC.xml" } - */ - -import * as fc from "fast-check"; -import { indexOf, select, toTextArr, toTextContentArr } from "../../util"; -import { CoreDataType, DCCDocument, DCCXMLElement } from "../../../src"; -import { string_ISO639_1 } from "../../Arbitraries"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:coreData"; -const xpath = { - coreData: { - countryCodeISO3166_1: `string(${base}/dcc:countryCodeISO3166_1)`, - usedLangCodeISO639_1: `${base}/dcc:usedLangCodeISO639_1`, - mandatoryLangCodeISO639_1: `${base}/dcc:mandatoryLangCodeISO639_1`, - uniqueIdentifier: `string(${base}/dcc:uniqueIdentifier)`, - identifications: { - identification: { - issuer: `string(${base}/dcc:identifications/dcc:identification[1]/dcc:issuer)`, - value: `string(${base}/dcc:identifications/dcc:identification[1]/dcc:value)`, - name: { - content: `${base}/dcc:identifications/dcc:identification[1]/dcc:name/dcc:content`, - }, - }, - }, - receiptData: `string(${base}/dcc:receiptDate)`, - beginPerformanceDate: `string(${base}/dcc:beginPerformanceDate)`, - endPerformanceDate: `string(${base}/dcc:endPerformanceDate)`, - performanceLocation: `string(${base}/dcc:performanceLocation)`, - issueDate: `string(${base}/dcc:issueDate)`, - }, -}; - -describe("GP_Temperature_v3.2.0_DCC: CoreDataType", () => { - let dcc: DCCDocument, coreData: CoreDataType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - coreData = dcc.digitalCalibrationCertificate.administrativeData.coreData; - }); - - test("should get correct countryCodeISO3166_1 from XML", () => { - expect(coreData.countryCodeISO3166_1._text).toBe(select(xpath.coreData.countryCodeISO3166_1, dom)); - }); - - test("should get correct usedLangCodeISO639_1 from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.coreData.usedLangCodeISO639_1, dom); - expect(toTextArr(coreData.usedLangCodeISO639_1)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct mandatoryLangCodeISO639_1 from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.coreData.mandatoryLangCodeISO639_1, dom); - expect(toTextArr(coreData.mandatoryLangCodeISO639_1)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct unique identifier from XML", () => { - expect(coreData.uniqueIdentifier._text).toBe(select(xpath.coreData.uniqueIdentifier, dom)); - }); - - test("should get correct identification issuer from XML", () => { - expect(coreData.identifications.identification[0].issuer._text).toBe(select(xpath.coreData.identifications.identification.issuer, dom)); - }); - - test("should get correct identification value from XML", () => { - expect(coreData.identifications.identification[0].value._text).toBe(select(xpath.coreData.identifications.identification.value, dom)); - }); - - test("should get correct identification name content from XML", () => { - const expected = <Element[]>select(xpath.coreData.identifications.identification.name.content, dom); - expect(toTextArr(coreData.identifications.identification[0].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct receipt date from XML", () => { - expect(coreData.receiptDate._text).toBe(select(xpath.coreData.receiptData, dom)); - }); - - test("should get correct begin performance date from XML", () => { - expect(coreData.beginPerformanceDate._text).toBe(select(xpath.coreData.beginPerformanceDate, dom)); - }); - - test("should get correct end performance date from XML", () => { - expect(coreData.endPerformanceDate._text).toBe(select(xpath.coreData.endPerformanceDate, dom)); - }); - - test("should get correct performance location from XML", () => { - expect(coreData.performanceLocation._text).toBe(select(xpath.coreData.performanceLocation, dom)); - }); - - test("should get correct issue date from XML", () => { - expect(coreData.issueDate._text).toBe(select(xpath.coreData.issueDate, dom)); - }); - - /* test for setters */ - test("should set usedLangCodeISO639_1 correctly", () => { - fc.assert( - fc.property(string_ISO639_1(), (str) => { - // add new element to array - coreData.usedLangCodeISO639_1.push(new DCCXMLElement({ _text: str })); - - // get actual list from xml - const actual = <Element[]>select(xpath.coreData.usedLangCodeISO639_1, dcc); - - expect(toTextArr(coreData.usedLangCodeISO639_1)).toContain(str); - expect(toTextContentArr(actual)).toContain(str); - }), - ); - }); - - test("should delete usedLangCodeISO639_1 correctly", () => { - const selection = toTextContentArr(<Element[]>select(xpath.coreData.usedLangCodeISO639_1, dom)); - fc.assert( - fc.property(fc.constantFrom(...selection), (str) => { - // get index and remove element from array - const index = indexOf(coreData.usedLangCodeISO639_1, str); - coreData.usedLangCodeISO639_1.splice(index, 1); - - // get actual list from xml - const actual = <Element[]>select(xpath.coreData.usedLangCodeISO639_1, dcc); - - expect(toTextArr(coreData.usedLangCodeISO639_1)).not.toContain(str); - expect(toTextContentArr(actual)).not.toContain(str); - }), - ); - }); -}); diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Customer.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Customer.test.ts deleted file mode 100644 index 4404f78cc1d9d8b4ab566dba9de40cf954a25d64..0000000000000000000000000000000000000000 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Customer.test.ts +++ /dev/null @@ -1,69 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/GP_Temperature_v3.2.0_DCC.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../../util"; -import { ContactType, DCCDocument, LocationType } from "../../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:customer"; -const xpath = { - customer: { - name: { - content: `${base}/dcc:name/dcc:content`, - }, - email: `string(${base}/dcc:eMail)`, - location: { - city: `${base}/dcc:location/dcc:city[1]`, - countryCode: `${base}/dcc:location/dcc:countryCode[1]`, - postCode: `${base}/dcc:location/dcc:postCode[1]`, - further: `${base}/dcc:location/dcc:further[1]/dcc:content`, - }, - descriptionData: `${base}/dcc:descriptionData`, - _id: `${base}/@id`, - }, -}; - -describe("GP_Temperature_v3.2.0_DCC: ContactType", () => { - let dcc: DCCDocument, customer: ContactType, location: LocationType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - customer = dcc.digitalCalibrationCertificate.administrativeData.customer; - location = customer.location; /* TODO: check iff this variable is used anywhere */ - }); - - test("should get correct customer name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.customer.name.content, dom); - expect(toTextArr(customer.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct customer email address from XML", () => { - expect(customer.eMail._text).toBe(select(xpath.customer.email, dom)); - }); - - test("should get correct customer location city from XML", () => { - const expected = <Element[]>select(xpath.customer.location.city, dom); - expect(customer.location.city[0]._text).toEqual(toTextContentArr(expected)[0]); - }); - - test("should get correct customer location county code from XML", () => { - const expected = <Element[]>select(xpath.customer.location.countryCode, dom); - expect(customer.location.countryCode[0]._text).toEqual(toTextContentArr(expected)[0]); - }); - - test("should get correct customer location post code from XML", () => { - const expected = <Element[]>select(xpath.customer.location.postCode, dom); - expect(customer.location.postCode[0]._text).toEqual(toTextContentArr(expected)[0]); - }); - - test("should get correct customer location further from XML", () => { - const expected = <Element[]>select(xpath.customer.location.further, dom); - - for (let i = 0; i < expected.length; i++) { - expect(customer.location.further[0].content[i]._text).toBe(expected[i].textContent); - } - }); - - /* TODO: setters */ -}); diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Items.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Items.test.ts deleted file mode 100644 index e5e1e488e07048b6d9e5521115f9c53706ae8101..0000000000000000000000000000000000000000 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Items.test.ts +++ /dev/null @@ -1,143 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/GP_Temperature_v3.2.0_DCC.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../../util"; -import { ItemType, DCCDocument, IdentificationType } from "../../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:items"; -const xpath = { - items: { - item: { - name: { - content: `${base}/dcc:item[1]/dcc:name/dcc:content`, - }, - manufacturer: { - name: { - content: `${base}/dcc:item[1]/dcc:manufacturer/dcc:name/dcc:content`, - }, - }, - model: `string(${base}/dcc:item[1]/dcc:model)`, - identifications: { - identification1: { - issuer: `string(${base}/dcc:item[1]/dcc:identifications/dcc:identification[1]/dcc:issuer)`, - value: `string(${base}/dcc:item[1]/dcc:identifications/dcc:identification[1]/dcc:value)`, - name: { - content: `${base}/dcc:item[1]/dcc:identifications/dcc:identification[1]/dcc:name/dcc:content`, - }, - }, - identification2: { - issuer: `string(${base}/dcc:item[1]/dcc:identifications/dcc:identification[2]/dcc:issuer)`, - value: `string(${base}/dcc:item[1]/dcc:identifications/dcc:identification[2]/dcc:value)`, - name: { - content: `${base}/dcc:item[1]/dcc:identifications/dcc:identification[2]/dcc:name/dcc:content`, - }, - }, - identification3: { - issuer: `string(${base}/dcc:item[1]/dcc:identifications/dcc:identification[3]/dcc:issuer)`, - value: `string(${base}/dcc:item[1]/dcc:identifications/dcc:identification[3]/dcc:value)`, - name: { - content: `${base}/dcc:item[1]/dcc:identifications/dcc:identification[3]/dcc:name/dcc:content`, - }, - }, - }, - itemQuantities: { - itemQuantity: { - name: { - content: `${base}/dcc:item[1]/dcc:itemQuantities/dcc:itemQuantity[1]/dcc:name/dcc:content`, - }, - si_real: { - si_value: `string(${base}/dcc:item[1]/dcc:itemQuantities/dcc:itemQuantity[1]/si:real/si:value)`, - si_unit: `string(${base}/dcc:item[1]/dcc:itemQuantities/dcc:itemQuantity[1]/si:real/si:unit)`, - }, - }, - }, - refType: `string(${base}/dcc:item[1]//@refType)`, - }, - }, -}; - -describe("GP_Temperature_v3.2.0_DCC: ItemType", () => { - let dcc: DCCDocument, item: ItemType, identification1, identification2, identification3: IdentificationType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - item = dcc.digitalCalibrationCertificate.administrativeData.items.item[0]; - identification1 = item.identifications.identification[0]; - identification2 = item.identifications.identification[1]; - identification3 = item.identifications.identification[2]; - }); - - test("should get correct item name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.items.item.name.content, dom); - expect(toTextArr(item.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct item manufacturer name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.items.item.manufacturer.name.content, dom); - expect(toTextArr(item.manufacturer.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct item model from XML", () => { - expect(item.model._text).toBe(select(xpath.items.item.model, dom)); - }); - - test("should get correct identification 1 issuer from XML", () => { - expect(identification1.issuer._text).toBe(select(xpath.items.item.identifications.identification1.issuer, dom)); - }); - - test("should get correct identification 1 value from XML", () => { - expect(identification1.value._text).toBe(select(xpath.items.item.identifications.identification1.value, dom)); - }); - - test("should get correct identification 1 name content from XML", () => { - const expected = <Element[]>select(xpath.items.item.identifications.identification1.name.content, dom); - expect(toTextArr(identification1.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct identification 2 issuer from XML", () => { - expect(identification2.issuer._text).toBe(select(xpath.items.item.identifications.identification2.issuer, dom)); - }); - - test("should get correct identification 2 value from XML", () => { - expect(identification2.value._text).toBe(select(xpath.items.item.identifications.identification2.value, dom)); - }); - - test("should get correct identification 2 name content from XML", () => { - const expected = <Element[]>select(xpath.items.item.identifications.identification2.name.content, dom); - expect(toTextArr(identification2.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct identification 3 issuer from XML", () => { - expect(identification3.issuer._text).toBe(select(xpath.items.item.identifications.identification3.issuer, dom)); - }); - - test("should get correct identification 3 value from XML", () => { - expect(identification3.value._text).toBe(select(xpath.items.item.identifications.identification3.value, dom)); - }); - - test("should get correct identification 3 name content from XML", () => { - const expected = <Element[]>select(xpath.items.item.identifications.identification3.name.content, dom); - expect(toTextArr(identification3.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct item quantity name content from XML", () => { - const expected = <Element[]>select(xpath.items.item.itemQuantities.itemQuantity.name.content, dom); - expect(toTextArr(item.itemQuantities.itemQuantity[0].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct item quantity real value from XML", () => { - expect(item.itemQuantities.itemQuantity[0].real.value._text).toBe(select(xpath.items.item.itemQuantities.itemQuantity.si_real.si_value, dom)); - }); - - test("should get correct item quantity real unit from XML", () => { - expect(item.itemQuantities.itemQuantity[0].real.unit._text).toBe(select(xpath.items.item.itemQuantities.itemQuantity.si_real.si_unit, dom)); - }); - - test("should get correct item refType from XML", () => { - expect(item._attr.refType).toBe(select(xpath.items.item.refType, dom)); - }); - /* TODO: setters */ -}); diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.RespPersons.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.RespPersons.test.ts deleted file mode 100644 index 73c8b82cc2648692d4c20b600ba13a083fe925ba..0000000000000000000000000000000000000000 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.RespPersons.test.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/GP_Temperature_v3.2.0_DCC.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../../util"; -import { RespPersonType, DCCDocument } from "../../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:respPersons"; -const xpath = { - respPersons: { - respPerson1: { - person: { - name: { - content: `${base}/dcc:respPerson[1]/dcc:person/dcc:name/dcc:content`, - }, - }, - mainSigner: `string(${base}/dcc:respPerson[1]/dcc:mainSigner)`, - }, - respPerson2: { - person: { - name: { - content: `${base}/dcc:respPerson[2]/dcc:person/dcc:name/dcc:content`, - }, - }, - }, - }, -}; - -describe("GP_Temperature_v3.2.0_DCC: RespPersonType", () => { - let dcc: DCCDocument, respPerson1, respPerson2: RespPersonType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - respPerson1 = dcc.digitalCalibrationCertificate.administrativeData.respPersons.respPerson[0]; - respPerson2 = dcc.digitalCalibrationCertificate.administrativeData.respPersons.respPerson[1]; - }); - - test("should get correct responsible person 1 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.respPersons.respPerson1.person.name.content, dom); - expect(toTextArr(respPerson1.person.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct responsible person 1 main signer flag from XML", () => { - expect(respPerson1.mainSigner._text).toBe(select(xpath.respPersons.respPerson1.mainSigner, dom)); - }); - - test("should get correct responsible person 2 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.respPersons.respPerson2.person.name.content, dom); - expect(toTextArr(respPerson2.person.name.content)).toEqual(toTextContentArr(expected)); - }); - - /* TODO: setters */ -}); diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.SoftwareListType.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.SoftwareListType.test.ts deleted file mode 100644 index 95c0088745d49da9f36a1304684e7af5a83e1931..0000000000000000000000000000000000000000 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.SoftwareListType.test.ts +++ /dev/null @@ -1,59 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/GP_Temperature_v3.2.0_DCC.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../../util"; -import { SoftwareListType, DCCDocument, SoftwareType } from "../../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:dccSoftware/dcc:software"; -const xpath = { - software: { - name: { - content: `${base}/dcc:name/dcc:content`, - }, - release: `string(${base}/dcc:release)`, - type: `string(${base}/dcc:type)`, - description: { - name: { - content: `${base}/dcc:description/dcc:name/dcc:content`, - }, - content: `${base}/dcc:description/dcc:content`, - }, - }, -}; - -describe("GP_Temperature_v3.2.0_DCC: DccSoftwareType", () => { - let dcc: DCCDocument, dccSoftware: SoftwareListType, software: SoftwareType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - dccSoftware = dcc.digitalCalibrationCertificate.administrativeData.dccSoftware; - software = dccSoftware.software[0]; - }); - - test("should get correct software name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.software.name.content, dom); - expect(toTextArr(software.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct software release version of software from XML", () => { - expect(software.release._text).toBe(select(xpath.software.release, dom)); - }); - - test("should get correct software type of software from XML", () => { - expect(software.type._text).toBe(select(xpath.software.type, dom)); - }); - - test("should get correct description name content of software from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.software.description.name.content, dom); - expect(toTextArr(software.description.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct description content of software from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.software.description.content, dom); - expect(toTextArr(software.description.content)).toEqual(toTextContentArr(expected)); - }); -}); diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Statements.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Statements.test.ts deleted file mode 100644 index 16ba06e10d1ba2b1e911bf426d881f0f85c30f1a..0000000000000000000000000000000000000000 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Statements.test.ts +++ /dev/null @@ -1,151 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/GP_Temperature_v3.2.0_DCC.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../../util"; -import { StatementMetaDataType, DCCDocument } from "../../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:administrativeData/dcc:statements"; -const xpath = { - statements: { - statement1: { - declaration: { - content: `${base}/dcc:statement[1]/dcc:declaration/dcc:content`, - }, - respAuthority: { - name: { - content: `${base}/dcc:statement[1]/dcc:respAuthority/dcc:name/dcc:content`, - }, - email: `string(${base}/dcc:statement[1]/dcc:respAuthority/dcc:eMail)`, - location: { - city: `string(${base}/dcc:statement[1]/dcc:respAuthority/dcc:location/dcc:city)`, - countryCode: `string(${base}/dcc:statement[1]/dcc:respAuthority/dcc:location/dcc:countryCode)`, - postCode: `string(${base}/dcc:statement[1]/dcc:respAuthority/dcc:location/dcc:postCode)`, - }, - }, - conformity: `string(${base}/dcc:statement[1]/dcc:conformity)`, - data: { - quantity: { - measurementMetaData: { - metaData1: { - declaration: { - content: `${base}/dcc:statement[1]/dcc:data/dcc:quantity/dcc:measurementMetaData/dcc:metaData[1]/dcc:declaration/dcc:content`, - }, - validXMLList: `string(${base}/dcc:statement[1]/dcc:data/dcc:quantity/dcc:measurementMetaData/dcc:metaData[1]/dcc:validXMLList)`, - }, - }, - }, - }, - refType: `string(${base}/dcc:statement[1]/@refType)`, - }, - statement2: { - declaration: { - content: `${base}/dcc:statement[2]/dcc:declaration/dcc:content`, - }, - date: `string(${base}/dcc:statement[2]/dcc:date)`, - respAuthority: { - name: { - content: `${base}/dcc:statement[2]/dcc:respAuthority/dcc:name/dcc:content`, - }, - email: `string(${base}/dcc:statement[2]/dcc:respAuthority/dcc:eMail)`, - location: { - city: `string(${base}/dcc:statement[2]/dcc:respAuthority/dcc:location/dcc:city)`, - countryCode: `string(${base}/dcc:statement[2]/dcc:respAuthority/dcc:location/dcc:countryCode)`, - postCode: `string(${base}/dcc:statement[2]/dcc:respAuthority/dcc:location/dcc:postCode)`, - }, - }, - refType: `string(${base}/dcc:statement[2]/@refType)`, - }, - }, -}; - -describe("GP_Temperature_v3.2.0_DCC: StatementMetaDataType", () => { - let dcc: DCCDocument, statement1, statement2: StatementMetaDataType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - statement1 = dcc.digitalCalibrationCertificate.administrativeData.statements.statement[0]; - statement2 = dcc.digitalCalibrationCertificate.administrativeData.statements.statement[1]; - }); - - test("should get correct statement 1 declaration content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.statements.statement1.declaration.content, dom); - expect(toTextArr(statement1.declaration.content)).toEqual(toTextContentArr(expected)); - }); - - /* responsible authority 1 */ - test("should get correct statement 1 responsible authority name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.statements.statement1.respAuthority.name.content, dom); - expect(toTextArr(statement1.respAuthority.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct statement 1 responsible authority email from XML", () => { - expect(statement1.respAuthority.eMail._text).toBe(select(xpath.statements.statement1.respAuthority.email, dom)); - }); - - test("should get correct statement 1 responsible authority location city from XML", () => { - expect(statement1.respAuthority.location.city[0]._text).toBe(select(xpath.statements.statement1.respAuthority.location.city, dom)); - }); - test("should get correct statement 1 responsible authority location country code from XML", () => { - expect(statement1.respAuthority.location.countryCode[0]._text).toBe(select(xpath.statements.statement1.respAuthority.location.countryCode, dom)); - }); - test("should get correct statement 1 responsible authority location post code from XML", () => { - expect(statement1.respAuthority.location.postCode[0]._text).toBe(select(xpath.statements.statement1.respAuthority.location.postCode, dom)); - }); - - test("should get correct statement 1 conformity from XML", () => { - expect(statement1.conformity._text).toBe(select(xpath.statements.statement1.conformity, dom)); - }); - - test("should get correct statement 1 metaData1 declaration content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.statements.statement1.data.quantity.measurementMetaData.metaData1.declaration.content, dom); - expect(toTextArr(statement1.data.quantity[0].measurementMetaData.metaData[0].declaration.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct statement 1 metaData1 validXMLList from XML", () => { - // get expected list from example xml - expect(statement1.data.quantity[0].measurementMetaData.metaData[0].validXMLList._text).toBe( - select(xpath.statements.statement1.data.quantity.measurementMetaData.metaData1.validXMLList, dom), - ); - }); - - test("should get correct statement 2 declaration content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.statements.statement2.declaration.content, dom); - expect(toTextArr(statement2.declaration.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct statement 2 refType from XML", () => { - expect(statement2.date._text).toBe(select(xpath.statements.statement2.date, dom)); - }); - - /* responsible authority 2 */ - test("should get correct statement 2 responsible authority name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.statements.statement2.respAuthority.name.content, dom); - expect(toTextArr(statement2.respAuthority.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct statement 2 responsible authority email from XML", () => { - expect(statement2.respAuthority.eMail._text).toBe(select(xpath.statements.statement2.respAuthority.email, dom)); - }); - - test("should get correct statement 2 responsible authority location city from XML", () => { - expect(statement2.respAuthority.location.city[0]._text).toBe(select(xpath.statements.statement2.respAuthority.location.city, dom)); - }); - test("should get correct statement 2 responsible authority location country code from XML", () => { - expect(statement2.respAuthority.location.countryCode[0]._text).toBe(select(xpath.statements.statement2.respAuthority.location.countryCode, dom)); - }); - test("should get correct statement 2 responsible authority location post code from XML", () => { - expect(statement2.respAuthority.location.postCode[0]._text).toBe(select(xpath.statements.statement2.respAuthority.location.postCode, dom)); - }); - - test("should get correct statement 2 refType from XML", () => { - expect(statement2._attr.refType).toBe(select(xpath.statements.statement2.refType, dom)); - }); - - /* TODO: setters */ -}); diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/DigitalCalibrationCertificateType.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/DigitalCalibrationCertificateType.test.ts deleted file mode 100644 index 467d936d90ee093ccd95ef9ca466ebeb1dce87a9..0000000000000000000000000000000000000000 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/DigitalCalibrationCertificateType.test.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/GP_Temperature_v3.2.0_DCC.xml" } - */ - -import { select } from "../../util"; - -const VERSION_XPATH = "string(/dcc:digitalCalibrationCertificate/@schemaVersion)"; - -describe("GP_Temperature_v3.2.0_DCC: DigitalCalibrationCertificateType", () => { - let xml, dcc, dom; - - beforeEach(() => { - ({ xml, dcc, dom } = recreateEnv()); - }); - - test("should get correct schemaVersion from XML", () => { - const expectedVersion = select(VERSION_XPATH, dom); - expect(dcc.digitalCalibrationCertificate._attr.schemaVersion).toBe(expectedVersion); - }); -}); diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.InfluenceConditions.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.InfluenceConditions.test.ts deleted file mode 100644 index ce1bb2630a83b3711f4e41e23df5419f6b067a90..0000000000000000000000000000000000000000 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.InfluenceConditions.test.ts +++ /dev/null @@ -1,217 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/GP_Temperature_v3.2.0_DCC.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../../util"; -import { DCCDocument, InfluenceConditionListType } from "../../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:measurementResults/dcc:measurementResult[1]/dcc:influenceConditions"; -const xpath = { - measurementResults: { - measurementResult: { - influenceConditions: { - influenceCondition1: { - name: { - content: `${base}/dcc:influenceCondition[1]/dcc:name/dcc:content`, - }, - description: { - content: `${base}/dcc:influenceCondition[1]/dcc:description/dcc:content`, - }, - data: { - quantity1: { - name: { - content: `${base}/dcc:influenceCondition[1]/dcc:data/dcc:quantity[1]/dcc:name/dcc:content`, - }, - si_real: { - si_value: `string(${base}/dcc:influenceCondition[1]/dcc:data/dcc:quantity[1]/si:real/si:value)`, - si_unit: `string(${base}/dcc:influenceCondition[1]/dcc:data/dcc:quantity[1]/si:real/si:unit)`, - }, - refType: `string(${base}/dcc:influenceCondition[1]/dcc:data/dcc:quantity[1]//@refType)`, - }, - quantity2: { - name: { - content: `${base}/dcc:influenceCondition[1]/dcc:data/dcc:quantity[2]/dcc:name/dcc:content`, - }, - si_real: { - si_value: `string(${base}/dcc:influenceCondition[1]/dcc:data/dcc:quantity[2]/si:real/si:value)`, - si_unit: `string(${base}/dcc:influenceCondition[1]/dcc:data/dcc:quantity[2]/si:real/si:unit)`, - }, - refType: `string(${base}/dcc:influenceCondition[1]/dcc:data/dcc:quantity[2]//@refType)`, - }, - }, - refType: `string(${base}/dcc:influenceCondition[1]//@refType)`, - }, - influenceCondition2: { - name: { - content: `${base}/dcc:influenceCondition[2]/dcc:name/dcc:content`, - }, - description: { - content: `${base}/dcc:influenceCondition[2]/dcc:description/dcc:content`, - contentDE: `${base}/dcc:influenceCondition[2]/dcc:description/dcc:content[@lang='de']`, - contentEN: `${base}/dcc:influenceCondition[2]/dcc:description/dcc:content[@lang='en']`, - }, - data: { - quantity1: { - name: { - content: `${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[1]/dcc:name/dcc:content`, - }, - si_real: { - si_value: `string(${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[1]/si:real/si:value)`, - si_unit: `string(${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[1]/si:real/si:unit)`, - }, - refType: `string(${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[1]//@refType)`, - }, - quantity2: { - name: { - content: `${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[2]/dcc:name/dcc:content`, - }, - si_real: { - si_value: `string(${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[2]/si:real/si:value)`, - si_unit: `string(${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[2]/si:real/si:unit)`, - }, - refType: `string(${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[2]//@refType)`, - }, - }, - refType: `string(${base}/dcc:influenceCondition[2]//@refType)`, - }, - }, - }, - }, -}; - -describe("GP_Temperature_v3.2.0_DCC: InfluenceConditionListType", () => { - let dcc: DCCDocument, influenceConditions: InfluenceConditionListType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - influenceConditions = dcc.digitalCalibrationCertificate.measurementResults.measurementResult[0].influenceConditions; - }); - - test("should get correct influence condition 1 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.name.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[0].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct influence condition 1 description content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.description.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[0].description.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct influence condition 1 quantity name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.data.quantity1.name.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[0].data.quantity[0].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct influence condition 1 quantity si:value from XML", () => { - expect(influenceConditions.influenceCondition[0].data.quantity[0].real.value._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.data.quantity1.si_real.si_value, dom), - ); - }); - - test("should get correct influence condition 1 quantity si:unit from XML", () => { - expect(influenceConditions.influenceCondition[0].data.quantity[0].real.unit._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.data.quantity1.si_real.si_unit, dom), - ); - }); - - test("should get correct influence condition 1 quantity 1 refType from XML", () => { - expect(influenceConditions.influenceCondition[0].data.quantity[0]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.data.quantity1.refType, dom), - ); - }); - - test("should get correct influence condition 1 quantity 2 si:value from XML", () => { - expect(influenceConditions.influenceCondition[0].data.quantity[1].real.value._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.data.quantity2.si_real.si_value, dom), - ); - }); - - test("should get correct influence condition 1 quantity 2 si:unit from XML", () => { - expect(influenceConditions.influenceCondition[0].data.quantity[1].real.unit._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.data.quantity2.si_real.si_unit, dom), - ); - }); - - test("should get correct influence condition 1 quantity 2 refType from XML", () => { - expect(influenceConditions.influenceCondition[0].data.quantity[1]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.data.quantity2.refType, dom), - ); - }); - - test("should get correct influence condition 1 refType from XML", () => { - expect(influenceConditions.influenceCondition[0]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.refType, dom), - ); - }); - - test("should get correct influence condition 2 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.name.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[1].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct influence condition 2 description content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.description.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[1].description.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct influence condition 2 quantity 1 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity1.name.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[1].data.quantity[0].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct influence condition 2 quantity 1 si:value from XML", () => { - expect(influenceConditions.influenceCondition[1].data.quantity[0].real.value._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity1.si_real.si_value, dom), - ); - }); - - test("should get correct influence condition 2 quantity 1 si:unit from XML", () => { - expect(influenceConditions.influenceCondition[1].data.quantity[0].real.unit._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity1.si_real.si_unit, dom), - ); - }); - - test("should get correct influence condition 2 quantity 1 refType from XML", () => { - expect(influenceConditions.influenceCondition[1].data.quantity[0]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity1.refType, dom), - ); - }); - - test("should get correct influence condition 2 quantity 2 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity2.name.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[1].data.quantity[1].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct influence condition 2 quantity 2 si:value from XML", () => { - expect(influenceConditions.influenceCondition[1].data.quantity[1].real.value._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity2.si_real.si_value, dom), - ); - }); - - test("should get correct influence condition 2 quantity 2 si:unit from XML", () => { - expect(influenceConditions.influenceCondition[1].data.quantity[1].real.unit._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity2.si_real.si_unit, dom), - ); - }); - - test("should get correct influence condition 2 quantity 2 refType from XML", () => { - expect(influenceConditions.influenceCondition[1].data.quantity[1]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity2.refType, dom), - ); - }); - - test("should get correct influence condition 2 refType from XML", () => { - expect(influenceConditions.influenceCondition[1]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.refType, dom), - ); - }); - - /* TODO: setters */ -}); diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.MeasuringEquipments.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.MeasuringEquipments.test.ts deleted file mode 100644 index ffdb5cd80a5e7a6e4be5d74d9f58c15abcf531fc..0000000000000000000000000000000000000000 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.MeasuringEquipments.test.ts +++ /dev/null @@ -1,57 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/GP_Temperature_v3.2.0_DCC.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../../util"; -import { DCCDocument, MeasuringEquipmentType } from "../../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:measurementResults/dcc:measurementResult[1]/dcc:measuringEquipments/dcc:measuringEquipment[1]"; -const xpath = { - measuringEquipments: { - measuringEquipment: { - name: { - content: `${base}/dcc:name/dcc:content`, - }, - identifications: { - identification: { - issuer: `string(${base}/dcc:identifications/dcc:identification[1]/dcc:issuer)`, - value: `string(${base}/dcc:identifications/dcc:identification[1]/dcc:value)`, - }, - }, - refType: `string(${base}//@refType)`, - }, - }, -}; - -describe("GP_Temperature_v3.2.0_DCC: MeasuringEquipmentType", () => { - let dcc: DCCDocument, measuringEquipment: MeasuringEquipmentType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - measuringEquipment = dcc.digitalCalibrationCertificate.measurementResults.measurementResult[0].measuringEquipments.measuringEquipment[0]; - }); - - test("should get correct measurement result name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measuringEquipments.measuringEquipment.name.content, dom); - expect(toTextArr(measuringEquipment.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct measuring equipment 1 identification issuer from XML", () => { - expect(measuringEquipment.identifications.identification[0].issuer._text).toBe( - select(xpath.measuringEquipments.measuringEquipment.identifications.identification.issuer, dom), - ); - }); - - test("should get correct measuring equipment 1 identification value from XML", () => { - expect(measuringEquipment.identifications.identification[0].value._text).toBe( - select(xpath.measuringEquipments.measuringEquipment.identifications.identification.value, dom), - ); - }); - - test("should get correct measuring equipment 1 refType from XML", () => { - expect(measuringEquipment._attr.refType).toBe(select(xpath.measuringEquipments.measuringEquipment.refType, dom)); - }); - - /* TODO: setters */ -}); diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.Name.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.Name.test.ts deleted file mode 100644 index 05660a4850c2032fef74486421faac0351fafed4..0000000000000000000000000000000000000000 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.Name.test.ts +++ /dev/null @@ -1,34 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/GP_Temperature_v3.2.0_DCC.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../../util"; -import { DCCDocument, MeasurementResultType } from "../../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:measurementResults"; -const xpath = { - measurementResults: { - measurementResult: { - name: { - content: `${base}/dcc:measurementResult[1]/dcc:name/dcc:content`, - }, - }, - }, -}; - -describe("GP_Temperature_v3.2.0_DCC: MeasurementResultType", () => { - let dcc: DCCDocument, measurementResult: MeasurementResultType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - measurementResult = dcc.digitalCalibrationCertificate.measurementResults.measurementResult[0]; - }); - - test("should get correct measurement result name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.name.content, dom); - expect(toTextArr(measurementResult.name.content)).toEqual(toTextContentArr(expected)); - }); - - /* TODO: setters */ -}); diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.Results.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.Results.test.ts deleted file mode 100644 index 63aa15905240e5a5ddb21a4821f485c90fb589bb..0000000000000000000000000000000000000000 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.Results.test.ts +++ /dev/null @@ -1,736 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/GP_Temperature_v3.2.0_DCC.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../../util"; -import { DCCDocument, ResultType } from "../../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:measurementResults/dcc:measurementResult[1]/dcc:results"; -const xpath = { - measurementResults: { - measurementResult: { - results: { - result: { - name: { - content: `${base}/dcc:result[1]/dcc:name/dcc:content`, - }, - data: { - list: { - quantity1: { - name: { - content: `${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/dcc:name/dcc:content`, - }, - si_hybrid: { - si_realListXMLList1: { - si_valueXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/si:hybrid/si:realListXMLList[1]/si:valueXMLList)`, - si_unitXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/si:hybrid/si:realListXMLList[1]/si:unitXMLList)`, - }, - si_realListXMLList2: { - si_valueXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/si:hybrid/si:realListXMLList[2]/si:valueXMLList)`, - si_unitXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/si:hybrid/si:realListXMLList[2]/si:unitXMLList)`, - }, - }, - refType: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]//@refType)`, - }, - quantity2: { - name: { - content: `${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[2]/dcc:name/dcc:content`, - }, - si_hybrid: { - si_realListXMLList1: { - si_valueXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[2]/si:hybrid/si:realListXMLList[1]/si:valueXMLList)`, - si_unitXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[2]/si:hybrid/si:realListXMLList[1]/si:unitXMLList)`, - }, - si_realListXMLList2: { - si_valueXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[2]/si:hybrid/si:realListXMLList[2]/si:valueXMLList)`, - si_unitXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[2]/si:hybrid/si:realListXMLList[2]/si:unitXMLList)`, - }, - }, - refType: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[2]//@refType)`, - }, - quantity3: { - name: { - content: `${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/dcc:name/dcc:content`, - }, - si_realListXMLList: { - si_valueXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/si:realListXMLList[1]/si:valueXMLList)`, - si_unitXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/si:realListXMLList[1]/si:unitXMLList)`, - si_expandedUncXMLList: { - si_uncertaintyXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/si:realListXMLList[1]/si:expandedUncXMLList/si:uncertaintyXMLList)`, - si_coverageFactorXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/si:realListXMLList[1]/si:expandedUncXMLList/si:coverageFactorXMLList)`, - si_coverageProbabilityXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/si:realListXMLList[1]/si:expandedUncXMLList/si:coverageProbabilityXMLList)`, - si_distributionXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/si:realListXMLList[1]/si:expandedUncXMLList/si:distributionXMLList)`, - }, - }, - measurementMetaData: { - metaData: { - declaration: { - name: { - content: `${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/dcc:measurementMetaData/dcc:metaData[1]/dcc:declaration/dcc:name/dcc:content`, - }, - }, - conformityXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/dcc:measurementMetaData/dcc:metaData/dcc:conformityXMLList)`, - data: { - quantity1: { - si_realListXMLList: { - si_valueXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/dcc:measurementMetaData/dcc:metaData/dcc:data/dcc:quantity[1]/si:realListXMLList/si:valueXMLList)`, - si_unitXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/dcc:measurementMetaData/dcc:metaData/dcc:data/dcc:quantity[1]/si:realListXMLList/si:unitXMLList)`, - }, - refType: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/dcc:measurementMetaData/dcc:metaData/dcc:data/dcc:quantity[1]//@refType)`, - }, - quantity2: { - si_realListXMLList: { - si_valueXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/dcc:measurementMetaData/dcc:metaData/dcc:data/dcc:quantity[2]/si:realListXMLList/si:valueXMLList)`, - si_unitXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/dcc:measurementMetaData/dcc:metaData/dcc:data/dcc:quantity[2]/si:realListXMLList/si:unitXMLList)`, - }, - refType: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/dcc:measurementMetaData/dcc:metaData/dcc:data/dcc:quantity[2]//@refType)`, - }, - }, - refType: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/dcc:measurementMetaData/dcc:metaData//@refType)`, - }, - }, - refType: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/@refType)`, - }, - refType: `string(${base}/dcc:result[1]/dcc:data/dcc:list//@refType)`, - }, - quantity1: { - noQuantity: { - name: { - content: `${base}/dcc:result[1]/dcc:data/dcc:quantity[1]/dcc:noQuantity/dcc:name/dcc:content`, - }, - content: `${base}/dcc:result[1]/dcc:data/dcc:quantity[1]/dcc:noQuantity/dcc:content`, - file: { - fileName: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[1]/dcc:noQuantity/dcc:file[1]/dcc:fileName)`, - mimeType: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[1]/dcc:noQuantity/dcc:file[1]/dcc:mimeType)`, - dataBase64: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[1]/dcc:noQuantity/dcc:file[1]/dcc:dataBase64)`, - refType: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[1]/dcc:noQuantity/dcc:file[1]//@refType)`, - }, - formula: { - latex: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[1]/dcc:noQuantity/dcc:formula[1]/dcc:latex)`, - }, - }, - refType: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[1]//@refType)`, - }, - quantity2: { - charsXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[2]/dcc:charsXMLList)`, - refType: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[2]//@refType)`, - }, - quantity3: { - si_constant: { - si_label: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[3]/si:constant/si:label)`, - si_value: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[3]/si:constant/si:value)`, - si_unit: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[3]/si:constant/si:unit)`, - si_dateTime: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[3]/si:constant/si:dateTime)`, - }, - refType: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[3]//@refType)`, - }, - quantity4: { - si_real: { - si_label: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[4]/si:real/si:label)`, - si_value: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[4]/si:real/si:value)`, - si_unit: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[4]/si:real/si:unit)`, - si_dateTime: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[4]/si:real/si:dateTime)`, - }, - refType: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[4]//@refType)`, - }, - quantity5: { - si_realListXMLList: { - si_labelXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[5]/si:realListXMLList/si:labelXMLList)`, - si_valueXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[5]/si:realListXMLList/si:valueXMLList)`, - si_unitXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[5]/si:realListXMLList/si:unitXMLList)`, - si_dateTimeXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[5]/si:realListXMLList/si:dateTimeXMLList)`, - }, - refType: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[5]//@refType)`, - }, - quantity6: { - si_hybrid: { - si_constant1: { - si_label: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[6]/si:hybrid/si:constant[1]/si:label)`, - si_value: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[6]/si:hybrid/si:constant[1]/si:value)`, - si_unit: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[6]/si:hybrid/si:constant[1]/si:unit)`, - si_dateTime: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[6]/si:hybrid/si:constant[1]/si:dateTime)`, - }, - si_constant2: { - si_label: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[6]/si:hybrid/si:constant[2]/si:label)`, - si_value: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[6]/si:hybrid/si:constant[2]/si:value)`, - si_unit: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[6]/si:hybrid/si:constant[2]/si:unit)`, - si_dateTime: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[6]/si:hybrid/si:constant[2]/si:dateTime)`, - }, - }, - refType: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[6]//@refType)`, - }, - quantity7: { - si_hybrid: { - si_real1: { - si_label: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[7]/si:hybrid/si:real[1]/si:label)`, - si_value: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[7]/si:hybrid/si:real[1]/si:value)`, - si_unit: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[7]/si:hybrid/si:real[1]/si:unit)`, - si_dateTime: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[7]/si:hybrid/si:real[1]/si:dateTime)`, - }, - si_real2: { - si_label: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[7]/si:hybrid/si:real[2]/si:label)`, - si_value: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[7]/si:hybrid/si:real[2]/si:value)`, - si_unit: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[7]/si:hybrid/si:real[2]/si:unit)`, - si_dateTime: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[7]/si:hybrid/si:real[2]/si:dateTime)`, - }, - }, - refType: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[7]//@refType)`, - }, - quantity8: { - si_hybrid: { - si_realListXMLList1: { - si_labelXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[8]/si:hybrid/si:realListXMLList[1]/si:labelXMLList)`, - si_valueXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[8]/si:hybrid/si:realListXMLList[1]/si:valueXMLList)`, - si_unitXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[8]/si:hybrid/si:realListXMLList[1]/si:unitXMLList)`, - si_dateTimeXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[8]/si:hybrid/si:realListXMLList[1]/si:dateTimeXMLList)`, - }, - si_realListXMLList2: { - si_labelXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[8]/si:hybrid/si:realListXMLList[2]/si:labelXMLList)`, - si_valueXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[8]/si:hybrid/si:realListXMLList[2]/si:valueXMLList)`, - si_unitXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[8]/si:hybrid/si:realListXMLList[2]/si:unitXMLList)`, - si_dateTimeXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[8]/si:hybrid/si:realListXMLList[2]/si:dateTimeXMLList)`, - }, - }, - refType: `string(${base}/dcc:result[1]/dcc:data/dcc:quantity[8]//@refType)`, - }, - }, - refType: `string(${base}/dcc:result[1]//@refType)`, - }, - }, - }, - }, -}; - -describe("GP_Temperature_v3.2.0_DCC: ResultType", () => { - let dcc: DCCDocument, result: ResultType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - result = dcc.digitalCalibrationCertificate.measurementResults.measurementResult[0].results.result[0]; - }); - - test("should get correct result name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.results.result.name.content, dom); - expect(toTextArr(result.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct result list quantity 1 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.results.result.data.list.quantity1.name.content, dom); - expect(toTextArr(result.data.list[0].quantity[0].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct result list quantity 1 hybrid si:valueXMLList 1 from XML", () => { - expect(result.data.list[0].quantity[0].hybrid.realListXMLList[0].valueXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity1.si_hybrid.si_realListXMLList1.si_valueXMLList, dom), - ); - }); - - test("should get correct result list quantity 1 hybrid si:unitXMLList 1 from XML", () => { - expect(result.data.list[0].quantity[0].hybrid.realListXMLList[0].unitXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity1.si_hybrid.si_realListXMLList1.si_unitXMLList, dom), - ); - }); - - test("should get correct result list quantity 1 hybrid si:valueXMLList 2 from XML", () => { - expect(result.data.list[0].quantity[0].hybrid.realListXMLList[1].valueXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity1.si_hybrid.si_realListXMLList2.si_valueXMLList, dom), - ); - }); - - test("should get correct result list quantity 1 hybrid si:unitXMLList 2: from XML", () => { - expect(result.data.list[0].quantity[0].hybrid.realListXMLList[1].unitXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity1.si_hybrid.si_realListXMLList2.si_unitXMLList, dom), - ); - }); - - test("should get correct result list quantity 2 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.results.result.data.list.quantity2.name.content, dom); - expect(toTextArr(result.data.list[0].quantity[1].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct result list quantity 2 hybrid si:valueXMLList 1 from XML", () => { - expect(result.data.list[0].quantity[1].hybrid.realListXMLList[0].valueXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity2.si_hybrid.si_realListXMLList1.si_valueXMLList, dom), - ); - }); - - test("should get correct result list quantity 2 hybrid si:unitXMLList 1 from XML", () => { - expect(result.data.list[0].quantity[1].hybrid.realListXMLList[0].unitXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity2.si_hybrid.si_realListXMLList1.si_unitXMLList, dom), - ); - }); - - test("should get correct result list quantity 2 hybrid si:valueXMLList 2 from XML", () => { - expect(result.data.list[0].quantity[1].hybrid.realListXMLList[1].valueXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity2.si_hybrid.si_realListXMLList2.si_valueXMLList, dom), - ); - }); - - test("should get correct result list quantity 2 hybrid si:unitXMLList 2: from XML", () => { - expect(result.data.list[0].quantity[1].hybrid.realListXMLList[1].unitXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity2.si_hybrid.si_realListXMLList2.si_unitXMLList, dom), - ); - }); - - test("should get correct result list quantity 3 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.results.result.data.list.quantity3.name.content, dom); - expect(toTextArr(result.data.list[0].quantity[2].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct result list quantity 3 si:valueXMLList from XML", () => { - expect(result.data.list[0].quantity[2].realListXMLList.valueXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity3.si_realListXMLList.si_valueXMLList, dom), - ); - }); - - test("should get correct result list quantity 3 si:unitXMLList from XML", () => { - expect(result.data.list[0].quantity[2].realListXMLList.unitXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity3.si_realListXMLList.si_unitXMLList, dom), - ); - }); - - test("should get correct result list quantity 3 uncertainty list from XML", () => { - expect(result.data.list[0].quantity[2].realListXMLList.expandedUncXMLList.uncertaintyXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity3.si_realListXMLList.si_expandedUncXMLList.si_uncertaintyXMLList, dom), - ); - }); - - test("should get correct result list quantity 3 uncertainty coverage factor list from XML", () => { - expect(result.data.list[0].quantity[2].realListXMLList.expandedUncXMLList.coverageFactorXMLList._text).toBe( - select( - xpath.measurementResults.measurementResult.results.result.data.list.quantity3.si_realListXMLList.si_expandedUncXMLList.si_coverageFactorXMLList, - dom, - ), - ); - }); - - test("should get correct result list quantity 3 uncertainty coverage probability list from XML", () => { - expect(result.data.list[0].quantity[2].realListXMLList.expandedUncXMLList.coverageProbabilityXMLList._text).toBe( - select( - xpath.measurementResults.measurementResult.results.result.data.list.quantity3.si_realListXMLList.si_expandedUncXMLList.si_coverageProbabilityXMLList, - dom, - ), - ); - }); - - test("should get correct result list quantity 3 uncertainty distribution list from XML", () => { - expect(result.data.list[0].quantity[2].realListXMLList.expandedUncXMLList.distributionXMLList._text).toBe( - select( - xpath.measurementResults.measurementResult.results.result.data.list.quantity3.si_realListXMLList.si_expandedUncXMLList.si_distributionXMLList, - dom, - ), - ); - }); - - test("should get correct result list quantity 3 meta data declaration name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity3.measurementMetaData.metaData.declaration.name.content, dom) - ); - expect(toTextArr(result.data.list[0].quantity[2].measurementMetaData.metaData[0].declaration.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct result list quantity 3 meta data conformityXMLList from XML", () => { - expect(result.data.list[0].quantity[2].measurementMetaData.metaData[0].conformityXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity3.measurementMetaData.metaData.conformityXMLList, dom), - ); - }); - - test("should get correct result list quantity 3 meta data quantity 1 si:valueXMLList from XML", () => { - expect(result.data.list[0].quantity[2].measurementMetaData.metaData[0].data.quantity[0].realListXMLList.valueXMLList._text).toBe( - select( - xpath.measurementResults.measurementResult.results.result.data.list.quantity3.measurementMetaData.metaData.data.quantity1.si_realListXMLList - .si_valueXMLList, - dom, - ), - ); - }); - - test("should get correct result list quantity 3 meta data quantity 1 si:unitXMLList from XML", () => { - expect(result.data.list[0].quantity[2].measurementMetaData.metaData[0].data.quantity[0].realListXMLList.unitXMLList._text).toBe( - select( - xpath.measurementResults.measurementResult.results.result.data.list.quantity3.measurementMetaData.metaData.data.quantity1.si_realListXMLList - .si_unitXMLList, - dom, - ), - ); - }); - - test("should get correct result list quantity 3 meta data quantity 2 si:valueXMLList from XML", () => { - expect(result.data.list[0].quantity[2].measurementMetaData.metaData[0].data.quantity[1].realListXMLList.valueXMLList._text).toBe( - select( - xpath.measurementResults.measurementResult.results.result.data.list.quantity3.measurementMetaData.metaData.data.quantity2.si_realListXMLList - .si_valueXMLList, - dom, - ), - ); - }); - - test("should get correct result list quantity 3 meta data quantity 2 si:valueXMLList from XML", () => { - expect(result.data.list[0].quantity[2].measurementMetaData.metaData[0].data.quantity[1].realListXMLList.valueXMLList._text).toBe( - select( - xpath.measurementResults.measurementResult.results.result.data.list.quantity3.measurementMetaData.metaData.data.quantity2.si_realListXMLList - .si_valueXMLList, - dom, - ), - ); - }); - - test("should get correct result list quantity 3 meta data quantity 2 si:unitXMLList from XML", () => { - expect(result.data.list[0].quantity[2].measurementMetaData.metaData[0].data.quantity[1].realListXMLList.unitXMLList._text).toBe( - select( - xpath.measurementResults.measurementResult.results.result.data.list.quantity3.measurementMetaData.metaData.data.quantity2.si_realListXMLList - .si_unitXMLList, - dom, - ), - ); - }); - - test("should get correct result refType from XML", () => { - expect(result._attr.refType).toBe(select(xpath.measurementResults.measurementResult.results.result.refType, dom)); - }); - - test("should get correct result data list refType from XML", () => { - expect(result.data.list[0]._attr.refType).toBe(select(xpath.measurementResults.measurementResult.results.result.data.list.refType, dom)); - }); - - test("should get correct result list quantity 1 refType from XML", () => { - expect(result.data.list[0].quantity[0]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity1.refType, dom), - ); - }); - - test("should get correct result list quantity2 refType from XML", () => { - expect(result.data.list[0].quantity[1]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity2.refType, dom), - ); - }); - - test("should get correct result list quantity3 refType from XML", () => { - expect(result.data.list[0].quantity[2]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity3.refType, dom), - ); - }); - - test("should get correct result list quantity 3 meta data refType from XML", () => { - expect(result.data.list[0].quantity[2].measurementMetaData.metaData[0]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity3.measurementMetaData.metaData.refType, dom), - ); - }); - - test("should get correct result list quantity 2 refType from XML", () => { - expect(result.data.list[0].quantity[1]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity2.refType, dom), - ); - }); - - test("should get correct result list quantity 3 refType from XML", () => { - expect(result.data.list[0].quantity[2]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity3.refType, dom), - ); - }); - - test("should get correct result no quantity name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.results.result.data.quantity1.noQuantity.name.content, dom); - expect(toTextArr(result.data.quantity[0].noQuantity.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct result no quantity content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.results.result.data.quantity1.noQuantity.content, dom); - expect(toTextArr(result.data.quantity[0].noQuantity.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct result no quantity file fileName from XML", () => { - expect(result.data.quantity[0].noQuantity.file[0].fileName._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity1.noQuantity.file.fileName, dom), - ); - }); - - test("should get correct result no quantity file mimeType from XML", () => { - expect(result.data.quantity[0].noQuantity.file[0].mimeType._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity1.noQuantity.file.mimeType, dom), - ); - }); - - test("should get correct result no quantity file dataBase64 from XML", () => { - expect(result.data.quantity[0].noQuantity.file[0].dataBase64._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity1.noQuantity.file.dataBase64, dom), - ); - }); - - test("should get correct result no quantity file refType from XML", () => { - expect(result.data.quantity[0].noQuantity.file[0]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity1.noQuantity.file.refType, dom), - ); - }); - - test("should get correct result no quantity formula latex from XML", () => { - expect(result.data.quantity[0].noQuantity.formula[0].latex._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity1.noQuantity.formula.latex, dom), - ); - }); - - test("should get correct result no quantity file refType from XML", () => { - expect(result.data.quantity[0].noQuantity.file[0]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity1.noQuantity.file.refType, dom), - ); - }); - - test("should get correct result charsXMLList value from XML", () => { - expect(result.data.quantity[1].charsXMLList._text).toBe(select(xpath.measurementResults.measurementResult.results.result.data.quantity2.charsXMLList, dom)); - }); - - test("should get correct result const label from XML", () => { - expect(result.data.quantity[2].constant.label._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity3.si_constant.si_label, dom), - ); - }); - - test("should get correct result const value from XML", () => { - expect(result.data.quantity[2].constant.value._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity3.si_constant.si_value, dom), - ); - }); - - test("should get correct result const unit from XML", () => { - expect(result.data.quantity[2].constant.unit._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity3.si_constant.si_unit, dom), - ); - }); - - test("should get correct result const dateTime from XML", () => { - expect(result.data.quantity[2].constant.dateTime._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity3.si_constant.si_dateTime, dom), - ); - }); - - test("should get correct result real label from XML", () => { - expect(result.data.quantity[3].real.label._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity4.si_real.si_label, dom), - ); - }); - - test("should get correct result real value from XML", () => { - expect(result.data.quantity[3].real.value._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity4.si_real.si_value, dom), - ); - }); - - test("should get correct result real unit from XML", () => { - expect(result.data.quantity[3].real.unit._text).toBe(select(xpath.measurementResults.measurementResult.results.result.data.quantity4.si_real.si_unit, dom)); - }); - - test("should get correct result real dateTime from XML", () => { - expect(result.data.quantity[3].real.dateTime._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity4.si_real.si_dateTime, dom), - ); - }); - - test("should get correct result realListXMLList label list from XML", () => { - expect(result.data.quantity[4].realListXMLList.labelXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity5.si_realListXMLList.si_labelXMLList, dom), - ); - }); - - test("should get correct result realListXMLList value list from XML", () => { - expect(result.data.quantity[4].realListXMLList.valueXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity5.si_realListXMLList.si_valueXMLList, dom), - ); - }); - - test("should get correct result realListXMLList unit list from XML", () => { - expect(result.data.quantity[4].realListXMLList.unitXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity5.si_realListXMLList.si_unitXMLList, dom), - ); - }); - - test("should get correct result realListXMLList dateTime list from XML", () => { - expect(result.data.quantity[4].realListXMLList.dateTimeXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity5.si_realListXMLList.si_dateTimeXMLList, dom), - ); - }); - - test("should get correct result hybrid const 1 label from XML", () => { - expect(result.data.quantity[5].hybrid.constant[0].label._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity6.si_hybrid.si_constant1.si_label, dom), - ); - }); - - test("should get correct result hybrid const 1 value from XML", () => { - expect(result.data.quantity[5].hybrid.constant[0].value._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity6.si_hybrid.si_constant1.si_value, dom), - ); - }); - - test("should get correct result hybrid const 1 unit from XML", () => { - expect(result.data.quantity[5].hybrid.constant[0].unit._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity6.si_hybrid.si_constant1.si_unit, dom), - ); - }); - - test("should get correct result hybrid const 1 dateTime from XML", () => { - expect(result.data.quantity[5].hybrid.constant[0].dateTime._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity6.si_hybrid.si_constant1.si_dateTime, dom), - ); - }); - - test("should get correct result hybrid const 2 label from XML", () => { - expect(result.data.quantity[5].hybrid.constant[1].label._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity6.si_hybrid.si_constant2.si_label, dom), - ); - }); - - test("should get correct result hybrid const 2 value from XML", () => { - expect(result.data.quantity[5].hybrid.constant[1].value._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity6.si_hybrid.si_constant2.si_value, dom), - ); - }); - - test("should get correct result hybrid const 2 unit from XML", () => { - expect(result.data.quantity[5].hybrid.constant[1].unit._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity6.si_hybrid.si_constant2.si_unit, dom), - ); - }); - - test("should get correct result hybrid const 2 dateTime from XML", () => { - expect(result.data.quantity[5].hybrid.constant[1].dateTime._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity6.si_hybrid.si_constant2.si_dateTime, dom), - ); - }); - - test("should get correct result hybrid real 1 label from XML", () => { - expect(result.data.quantity[6].hybrid.real[0].label._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity7.si_hybrid.si_real1.si_label, dom), - ); - }); - - test("should get correct result hybrid real 1 value from XML", () => { - expect(result.data.quantity[6].hybrid.real[0].value._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity7.si_hybrid.si_real1.si_value, dom), - ); - }); - - test("should get correct result hybrid real 1 unit from XML", () => { - expect(result.data.quantity[6].hybrid.real[0].unit._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity7.si_hybrid.si_real1.si_unit, dom), - ); - }); - - test("should get correct result hybrid real 1 dateTime from XML", () => { - expect(result.data.quantity[6].hybrid.real[0].dateTime._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity7.si_hybrid.si_real1.si_dateTime, dom), - ); - }); - - test("should get correct result hybrid real 2 label from XML", () => { - expect(result.data.quantity[6].hybrid.real[1].label._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity7.si_hybrid.si_real2.si_label, dom), - ); - }); - - test("should get correct result hybrid real 2 value from XML", () => { - expect(result.data.quantity[6].hybrid.real[1].value._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity7.si_hybrid.si_real2.si_value, dom), - ); - }); - - test("should get correct result hybrid real 2 unit from XML", () => { - expect(result.data.quantity[6].hybrid.real[1].unit._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity7.si_hybrid.si_real2.si_unit, dom), - ); - }); - - test("should get correct result hybrid real 2 dateTime from XML", () => { - expect(result.data.quantity[6].hybrid.real[1].dateTime._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity7.si_hybrid.si_real2.si_dateTime, dom), - ); - }); - - test("should get correct result hybrid realListXMLList 1 label from XML", () => { - expect(result.data.quantity[7].hybrid.realListXMLList[0].labelXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity8.si_hybrid.si_realListXMLList1.si_labelXMLList, dom), - ); - }); - - test("should get correct result hybrid realListXMLList 1 value from XML", () => { - expect(result.data.quantity[7].hybrid.realListXMLList[0].valueXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity8.si_hybrid.si_realListXMLList1.si_valueXMLList, dom), - ); - }); - - test("should get correct result hybrid realListXMLList 1 unit from XML", () => { - expect(result.data.quantity[7].hybrid.realListXMLList[0].unitXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity8.si_hybrid.si_realListXMLList1.si_unitXMLList, dom), - ); - }); - - test("should get correct result hybrid realListXMLList 1 dateTime from XML", () => { - expect(result.data.quantity[7].hybrid.realListXMLList[0].dateTimeXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity8.si_hybrid.si_realListXMLList1.si_dateTimeXMLList, dom), - ); - }); - - test("should get correct result hybrid realListXMLList 2 label from XML", () => { - expect(result.data.quantity[7].hybrid.realListXMLList[1].labelXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity8.si_hybrid.si_realListXMLList2.si_labelXMLList, dom), - ); - }); - - test("should get correct result hybrid realListXMLList 2 value from XML", () => { - expect(result.data.quantity[7].hybrid.realListXMLList[1].valueXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity8.si_hybrid.si_realListXMLList2.si_valueXMLList, dom), - ); - }); - - test("should get correct result hybrid realListXMLList 2 unit from XML", () => { - expect(result.data.quantity[7].hybrid.realListXMLList[1].unitXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity8.si_hybrid.si_realListXMLList2.si_unitXMLList, dom), - ); - }); - - test("should get correct result hybrid realListXMLList 2 dateTime from XML", () => { - expect(result.data.quantity[7].hybrid.realListXMLList[1].dateTimeXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.quantity8.si_hybrid.si_realListXMLList2.si_dateTimeXMLList, dom), - ); - }); - - test("should get correct result no quantity refType from XML", () => { - expect(result.data.quantity[0]._attr.refType).toBe(select(xpath.measurementResults.measurementResult.results.result.data.quantity1.refType, dom)); - }); - - test("should get correct result charsXMLList refType from XML", () => { - expect(result.data.quantity[1]._attr.refType).toBe(select(xpath.measurementResults.measurementResult.results.result.data.quantity2.refType, dom)); - }); - - test("should get correct result const refType from XML", () => { - expect(result.data.quantity[2]._attr.refType).toBe(select(xpath.measurementResults.measurementResult.results.result.data.quantity3.refType, dom)); - }); - - test("should get correct result real refType from XML", () => { - expect(result.data.quantity[3]._attr.refType).toBe(select(xpath.measurementResults.measurementResult.results.result.data.quantity4.refType, dom)); - }); - - test("should get correct result realListXMLList refType from XML", () => { - expect(result.data.quantity[4]._attr.refType).toBe(select(xpath.measurementResults.measurementResult.results.result.data.quantity5.refType, dom)); - }); - - test("should get correct result hybrid const refType from XML", () => { - expect(result.data.quantity[5]._attr.refType).toBe(select(xpath.measurementResults.measurementResult.results.result.data.quantity6.refType, dom)); - }); - - test("should get correct result hybrid real refType from XML", () => { - expect(result.data.quantity[6]._attr.refType).toBe(select(xpath.measurementResults.measurementResult.results.result.data.quantity7.refType, dom)); - }); - - test("should get correct result hybrid realListXMLList refType from XML", () => { - expect(result.data.quantity[7]._attr.refType).toBe(select(xpath.measurementResults.measurementResult.results.result.data.quantity8.refType, dom)); - }); - - /* TODO: setters */ -}); diff --git a/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.UsedMethods.test.ts b/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.UsedMethods.test.ts deleted file mode 100644 index 8352a94bbd9221adf431375a94abaf5d990ba7f5..0000000000000000000000000000000000000000 --- a/tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.UsedMethods.test.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/GP_Temperature_v3.2.0_DCC.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../../util"; -import { DCCDocument, UsedMethodListType } from "../../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:measurementResults/dcc:measurementResult[1]"; -const xpath = { - measurementResults: { - measurementResult: { - usedMethods: { - usedMethod1: { - name: { - content: `${base}/dcc:usedMethods/dcc:usedMethod[1]/dcc:name/dcc:content`, - }, - refType: `string(${base}/dcc:usedMethods/dcc:usedMethod[1]//@refType)`, - }, - }, - }, - }, -}; - -describe("GP_Temperature_v3.2.0_DCC: UsedMethodListType", () => { - let dcc: DCCDocument, usedMethods: UsedMethodListType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - usedMethods = dcc.digitalCalibrationCertificate.measurementResults.measurementResult[0].usedMethods; - }); - - test("should get correct used method 1 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.usedMethods.usedMethod1.name.content, dom); - expect(toTextArr(usedMethods.usedMethod[0].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct used method 1 refType from XML", () => { - expect(usedMethods.usedMethod[0]._attr.refType).toBe(select(xpath.measurementResults.measurementResult.usedMethods.usedMethod1.refType, dom)); - }); - - /* TODO: setters */ -}); diff --git a/tests/DCC/MeasurementResults.MeasurementResult.InfluenceConditions.test.ts b/tests/DCC/MeasurementResults.MeasurementResult.InfluenceConditions.test.ts deleted file mode 100644 index 4607750ebd7e282fba78bbc843e55aa92f52ffb0..0000000000000000000000000000000000000000 --- a/tests/DCC/MeasurementResults.MeasurementResult.InfluenceConditions.test.ts +++ /dev/null @@ -1,248 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/example.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../util"; -import { DCCDocument, InfluenceConditionListType } from "../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:measurementResults/dcc:measurementResult[1]/dcc:influenceConditions"; -const xpath = { - measurementResults: { - measurementResult: { - influenceConditions: { - influenceCondition1: { - name: { - content: `${base}/dcc:influenceCondition[1]/dcc:name/dcc:content`, - }, - data: { - quantity: { - name: { - content: `${base}/dcc:influenceCondition[1]/dcc:data/dcc:quantity[1]/dcc:name/dcc:content`, - }, - si_real: { - si_value: `string(${base}/dcc:influenceCondition[1]/dcc:data/dcc:quantity[1]/si:real/si:value)`, - si_unit: `string(${base}/dcc:influenceCondition[1]/dcc:data/dcc:quantity[1]/si:real/si:unit)`, - }, - }, - }, - refType: `string(${base}/dcc:influenceCondition[1]//@refType)`, - }, - influenceCondition2: { - name: { - content: `${base}/dcc:influenceCondition[2]/dcc:name/dcc:content`, - }, - description: { - content: `${base}/dcc:influenceCondition[2]/dcc:description/dcc:content`, - contentDE: `${base}/dcc:influenceCondition[2]/dcc:description/dcc:content[@lang='de']`, - contentEN: `${base}/dcc:influenceCondition[2]/dcc:description/dcc:content[@lang='en']`, - }, - data: { - quantity1: { - name: { - content: `${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[1]/dcc:name/dcc:content`, - }, - si_real: { - si_value: `string(${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[1]/si:real/si:value)`, - si_unit: `string(${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[1]/si:real/si:unit)`, - }, - refType: `string(${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[1]//@refType)`, - }, - quantity2: { - name: { - content: `${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[2]/dcc:name/dcc:content`, - }, - si_real: { - si_value: `string(${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[2]/si:real/si:value)`, - si_unit: `string(${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[2]/si:real/si:unit)`, - }, - refType: `string(${base}/dcc:influenceCondition[2]/dcc:data/dcc:quantity[2]//@refType)`, - }, - }, - refType: `string(${base}/dcc:influenceCondition[2]//@refType)`, - }, - influenceCondition3: { - name: { - content: `${base}/dcc:influenceCondition[3]/dcc:name/dcc:content`, - }, - description: { - content: `${base}/dcc:influenceCondition[3]/dcc:description/dcc:content`, - contentDE: `${base}/dcc:influenceCondition[3]/dcc:description/dcc:content[@lang='de']`, - contentEN: `${base}/dcc:influenceCondition[3]/dcc:description/dcc:content[@lang='en']`, - }, - data: { - quantity1: { - name: { - content: `${base}/dcc:influenceCondition[3]/dcc:data/dcc:quantity[1]/dcc:name/dcc:content`, - }, - si_real: { - si_value: `string(${base}/dcc:influenceCondition[3]/dcc:data/dcc:quantity[1]/si:real/si:value)`, - si_unit: `string(${base}/dcc:influenceCondition[3]/dcc:data/dcc:quantity[1]/si:real/si:unit)`, - }, - refType: `string(${base}/dcc:influenceCondition[3]/dcc:data/dcc:quantity[1]//@refType)`, - }, - quantity2: { - name: { - content: `${base}/dcc:influenceCondition[3]/dcc:data/dcc:quantity[2]/dcc:name/dcc:content`, - }, - si_real: { - si_value: `string(${base}/dcc:influenceCondition[3]/dcc:data/dcc:quantity[2]/si:real/si:value)`, - si_unit: `string(${base}/dcc:influenceCondition[3]/dcc:data/dcc:quantity[2]/si:real/si:unit)`, - }, - refType: `string(${base}/dcc:influenceCondition[3]/dcc:data/dcc:quantity[2]//@refType)`, - }, - }, - refType: `string(${base}/dcc:influenceCondition[3]//@refType)`, - }, - }, - }, - }, -}; - -describe("InfluenceConditionListType", () => { - let dcc: DCCDocument, influenceConditions: InfluenceConditionListType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - influenceConditions = dcc.digitalCalibrationCertificate.measurementResults.measurementResult[0].influenceConditions; - }); - - test("should get correct influence condition 1 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.name.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[0].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct influence condition 1 quantity name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.data.quantity.name.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[0].data.quantity[0].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct influence condition 1 quantity si:value from XML", () => { - expect(influenceConditions.influenceCondition[0].data.quantity[0].real.value._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.data.quantity.si_real.si_value, dom), - ); - }); - - test("should get correct influence condition 1 quantity si:unit from XML", () => { - expect(influenceConditions.influenceCondition[0].data.quantity[0].real.unit._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.data.quantity.si_real.si_unit, dom), - ); - }); - - test("should get correct influence condition 1 refType from XML", () => { - expect(influenceConditions.influenceCondition[0]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition1.refType, dom), - ); - }); - - test("should get correct influence condition 2 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.name.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[1].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct influence condition 2 description content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.description.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[1].description.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct influence condition 2 quantity 1 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity1.name.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[1].data.quantity[0].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct influence condition 2 quantity 1 si:value from XML", () => { - expect(influenceConditions.influenceCondition[1].data.quantity[0].real.value._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity1.si_real.si_value, dom), - ); - }); - - test("should get correct influence condition 2 quantity 1 si:unit from XML", () => { - expect(influenceConditions.influenceCondition[1].data.quantity[0].real.unit._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity1.si_real.si_unit, dom), - ); - }); - - test("should get correct influence condition 2 quantity 2 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity2.name.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[1].data.quantity[1].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct influence condition 2 quantity 2 si:value from XML", () => { - expect(influenceConditions.influenceCondition[1].data.quantity[1].real.value._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity2.si_real.si_value, dom), - ); - }); - - test("should get correct influence condition 2 quantity 2 si:unit from XML", () => { - expect(influenceConditions.influenceCondition[1].data.quantity[1].real.unit._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.data.quantity2.si_real.si_unit, dom), - ); - }); - - test("should get correct influence condition 2 refType from XML", () => { - expect(influenceConditions.influenceCondition[1]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition2.refType, dom), - ); - }); - - test("should get correct influence condition 3 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition3.name.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[2].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct influence condition 3 description content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition3.description.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[2].description.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct influence condition 3 quantity 1 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition3.data.quantity1.name.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[2].data.quantity[0].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct influence condition 3 quantity 1 si:value from XML", () => { - expect(influenceConditions.influenceCondition[2].data.quantity[0].real.value._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition3.data.quantity1.si_real.si_value, dom), - ); - }); - - test("should get correct influence condition 3 quantity 1 si:unit from XML", () => { - expect(influenceConditions.influenceCondition[2].data.quantity[0].real.unit._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition3.data.quantity1.si_real.si_unit, dom), - ); - }); - - test("should get correct influence condition 3 quantity 2 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition3.data.quantity2.name.content, dom); - expect(toTextArr(influenceConditions.influenceCondition[2].data.quantity[1].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct influence condition 3 quantity 2 si:value from XML", () => { - expect(influenceConditions.influenceCondition[2].data.quantity[1].real.value._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition3.data.quantity2.si_real.si_value, dom), - ); - }); - - test("should get correct influence condition 3 quantity 2 si:unit from XML", () => { - expect(influenceConditions.influenceCondition[2].data.quantity[1].real.unit._text).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition3.data.quantity2.si_real.si_unit, dom), - ); - }); - - test("should get correct influence condition 3 refType from XML", () => { - expect(influenceConditions.influenceCondition[2]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.influenceConditions.influenceCondition3.refType, dom), - ); - }); - - /* TODO: setters */ -}); diff --git a/tests/DCC/MeasurementResults.MeasurementResult.MeasuringEquipments.test.ts b/tests/DCC/MeasurementResults.MeasurementResult.MeasuringEquipments.test.ts deleted file mode 100644 index 187b54dffa56f36033d4fa1a476f5fab06e1f0b6..0000000000000000000000000000000000000000 --- a/tests/DCC/MeasurementResults.MeasurementResult.MeasuringEquipments.test.ts +++ /dev/null @@ -1,57 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/example.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../util"; -import { DCCDocument, MeasuringEquipmentType } from "../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:measurementResults/dcc:measurementResult[1]/dcc:measuringEquipments/dcc:measuringEquipment[1]"; -const xpath = { - measuringEquipments: { - measuringEquipment: { - name: { - content: `${base}/dcc:name/dcc:content`, - }, - identifications: { - identification: { - issuer: `string(${base}/dcc:identifications/dcc:identification[1]/dcc:issuer)`, - value: `string(${base}/dcc:identifications/dcc:identification[1]/dcc:value)`, - }, - }, - refType: `string(${base}//@refType)`, - }, - }, -}; - -describe("MeasuringEquipmentType", () => { - let dcc: DCCDocument, measuringEquipment: MeasuringEquipmentType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - measuringEquipment = dcc.digitalCalibrationCertificate.measurementResults.measurementResult[0].measuringEquipments.measuringEquipment[0]; - }); - - test("should get correct measurement result name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measuringEquipments.measuringEquipment.name.content, dom); - expect(toTextArr(measuringEquipment.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct measuring equipment 1 identification issuer from XML", () => { - expect(measuringEquipment.identifications.identification[0].issuer._text).toBe( - select(xpath.measuringEquipments.measuringEquipment.identifications.identification.issuer, dom), - ); - }); - - test("should get correct measuring equipment 1 identification value from XML", () => { - expect(measuringEquipment.identifications.identification[0].value._text).toBe( - select(xpath.measuringEquipments.measuringEquipment.identifications.identification.value, dom), - ); - }); - - test("should get correct measuring equipment 1 refType from XML", () => { - expect(measuringEquipment._attr.refType).toBe(select(xpath.measuringEquipments.measuringEquipment.refType, dom)); - }); - - /* TODO: setters */ -}); diff --git a/tests/DCC/MeasurementResults.MeasurementResult.Name.test.ts b/tests/DCC/MeasurementResults.MeasurementResult.Name.test.ts deleted file mode 100644 index 1dc5e99de4462b8dde55f91efb24c3d390ba6e4a..0000000000000000000000000000000000000000 --- a/tests/DCC/MeasurementResults.MeasurementResult.Name.test.ts +++ /dev/null @@ -1,34 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/example.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../util"; -import { DCCDocument, MeasurementResultType } from "../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:measurementResults"; -const xpath = { - measurementResults: { - measurementResult: { - name: { - content: `${base}/dcc:measurementResult[1]/dcc:name/dcc:content`, - }, - }, - }, -}; - -describe("MeasurementResultType", () => { - let dcc: DCCDocument, measurementResult: MeasurementResultType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - measurementResult = dcc.digitalCalibrationCertificate.measurementResults.measurementResult[0]; - }); - - test("should get correct measurement result name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.name.content, dom); - expect(toTextArr(measurementResult.name.content)).toEqual(toTextContentArr(expected)); - }); - - /* TODO: setters */ -}); diff --git a/tests/DCC/MeasurementResults.MeasurementResult.Results.test.ts b/tests/DCC/MeasurementResults.MeasurementResult.Results.test.ts deleted file mode 100644 index 39e6b5e89e8bb4a24d06ec0971e4fa8bf3d56a17..0000000000000000000000000000000000000000 --- a/tests/DCC/MeasurementResults.MeasurementResult.Results.test.ts +++ /dev/null @@ -1,301 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/example.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../util"; -import { DCCDocument, ResultType } from "../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:measurementResults/dcc:measurementResult[1]/dcc:results"; -const xpath = { - measurementResults: { - measurementResult: { - results: { - result: { - name: { - content: `${base}/dcc:result[1]/dcc:name/dcc:content`, - }, - data: { - list: { - quantity1: { - name: { - content: `${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/dcc:name/dcc:content`, - }, - si_hybrid: { - si_realListXMLList1: { - si_valueXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/si:hybrid/si:realListXMLList[1]/si:valueXMLList)`, - si_unitXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/si:hybrid/si:realListXMLList[1]/si:unitXMLList)`, - }, - si_realListXMLList2: { - si_valueXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/si:hybrid/si:realListXMLList[2]/si:valueXMLList)`, - si_unitXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/si:hybrid/si:realListXMLList[2]/si:unitXMLList)`, - }, - }, - measurementMetaData: { - metaData: { - declaration: { - content: `${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/dcc:measurementMetaData/dcc:metaData/dcc:declaration/dcc:content`, - }, - data: { - quantity: { - si_hybrid: { - si_realListXMLList1: { - si_valueXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/dcc:measurementMetaData/dcc:metaData/dcc:data/dcc:quantity[1]/si:hybrid/si:realListXMLList[1]/si:valueXMLList)`, - si_unitXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/dcc:measurementMetaData/dcc:metaData/dcc:data/dcc:quantity[1]/si:hybrid/si:realListXMLList[1]/si:unitXMLList)`, - }, - si_realListXMLList2: { - si_valueXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/dcc:measurementMetaData/dcc:metaData/dcc:data/dcc:quantity[1]/si:hybrid/si:realListXMLList[2]/si:valueXMLList)`, - si_unitXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/dcc:measurementMetaData/dcc:metaData/dcc:data/dcc:quantity[1]/si:hybrid/si:realListXMLList[2]/si:unitXMLList)`, - }, - }, - }, - }, - refType: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]/dcc:measurementMetaData/dcc:metaData//@refType)`, - }, - }, - refType: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[1]//@refType)`, - }, - quantity2: { - name: { - content: `${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[2]/dcc:name/dcc:content`, - }, - si_hybrid: { - si_realListXMLList1: { - si_valueXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[2]/si:hybrid/si:realListXMLList[1]/si:valueXMLList)`, - si_unitXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[2]/si:hybrid/si:realListXMLList[1]/si:unitXMLList)`, - }, - si_realListXMLList2: { - si_valueXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[2]/si:hybrid/si:realListXMLList[2]/si:valueXMLList)`, - si_unitXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[2]/si:hybrid/si:realListXMLList[2]/si:unitXMLList)`, - }, - }, - refType: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[2]//@refType)`, - }, - quantity3: { - name: { - content: `${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/dcc:name/dcc:content`, - }, - si_realListXMLList: { - si_valueXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/si:realListXMLList[1]/si:valueXMLList)`, - si_unitXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/si:realListXMLList[1]/si:unitXMLList)`, - si_expandedUncXMLList: { - si_uncertaintyXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/si:realListXMLList[1]/si:expandedUncXMLList/si:uncertaintyXMLList)`, - si_coverageFactorXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/si:realListXMLList[1]/si:expandedUncXMLList/si:coverageFactorXMLList)`, - si_coverageProbabilityXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/si:realListXMLList[1]/si:expandedUncXMLList/si:coverageProbabilityXMLList)`, - si_distributionXMLList: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/si:realListXMLList[1]/si:expandedUncXMLList/si:distributionXMLList)`, - }, - }, - refType: `string(${base}/dcc:result[1]/dcc:data/dcc:list/dcc:quantity[3]/@refType)`, - }, - refType: `string(${base}/dcc:result[1]/dcc:data/dcc:list//@refType)`, - }, - }, - refType: `string(${base}/dcc:result[1]//@refType)`, - }, - }, - }, - }, -}; - -describe("ResultType", () => { - let dcc: DCCDocument, result: ResultType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - result = dcc.digitalCalibrationCertificate.measurementResults.measurementResult[0].results.result[0]; - }); - - test("should get correct result name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.results.result.name.content, dom); - expect(toTextArr(result.name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct result quantity 1 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.results.result.data.list.quantity1.name.content, dom); - expect(toTextArr(result.data.list[0].quantity[0].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct result quantity 1 hybrid si:valueXMLList 1 from XML", () => { - expect(result.data.list[0].quantity[0].hybrid.realListXMLList[0].valueXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity1.si_hybrid.si_realListXMLList1.si_valueXMLList, dom), - ); - }); - - test("should get correct result quantity 1 hybrid si:unitXMLList 1 from XML", () => { - expect(result.data.list[0].quantity[0].hybrid.realListXMLList[0].unitXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity1.si_hybrid.si_realListXMLList1.si_unitXMLList, dom), - ); - }); - - test("should get correct result quantity 1 hybrid si:valueXMLList 2 from XML", () => { - expect(result.data.list[0].quantity[0].hybrid.realListXMLList[1].valueXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity1.si_hybrid.si_realListXMLList2.si_valueXMLList, dom), - ); - }); - - test("should get correct result quantity 1 hybrid si:unitXMLList 2: from XML", () => { - expect(result.data.list[0].quantity[0].hybrid.realListXMLList[1].unitXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity1.si_hybrid.si_realListXMLList2.si_unitXMLList, dom), - ); - }); - - test("should get correct result quantity 1 meta data declaration content from XML", () => { - // get expected list from example xml - const expected = <Element[]>( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity1.measurementMetaData.metaData.declaration.content, dom) - ); - expect(toTextArr(result.data.list[0].quantity[0].measurementMetaData.metaData[0].declaration.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct result quantity 1 meta data hybrid si:valueXMLList 1 from XML", () => { - expect(result.data.list[0].quantity[0].measurementMetaData.metaData[0].data.quantity[0].hybrid.realListXMLList[0].valueXMLList._text).toBe( - select( - xpath.measurementResults.measurementResult.results.result.data.list.quantity1.measurementMetaData.metaData.data.quantity.si_hybrid.si_realListXMLList1 - .si_valueXMLList, - dom, - ), - ); - }); - - test("should get correct result quantity 1 meta data hybrid si:unitXMLList 1 from XML", () => { - expect(result.data.list[0].quantity[0].measurementMetaData.metaData[0].data.quantity[0].hybrid.realListXMLList[0].unitXMLList._text).toBe( - select( - xpath.measurementResults.measurementResult.results.result.data.list.quantity1.measurementMetaData.metaData.data.quantity.si_hybrid.si_realListXMLList1 - .si_unitXMLList, - dom, - ), - ); - }); - - test("should get correct result quantity 1 meta data hybrid si:valueXMLList 2 from XML", () => { - expect(result.data.list[0].quantity[0].measurementMetaData.metaData[0].data.quantity[0].hybrid.realListXMLList[1].valueXMLList._text).toBe( - select( - xpath.measurementResults.measurementResult.results.result.data.list.quantity1.measurementMetaData.metaData.data.quantity.si_hybrid.si_realListXMLList2 - .si_valueXMLList, - dom, - ), - ); - }); - - test("should get correct result quantity 1 meta data hybrid si:unitXMLList 2 from XML", () => { - expect(result.data.list[0].quantity[0].measurementMetaData.metaData[0].data.quantity[0].hybrid.realListXMLList[1].unitXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity1.si_hybrid.si_realListXMLList2.si_unitXMLList, dom), - ); - }); - - test("should get correct result quantity 2 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.results.result.data.list.quantity2.name.content, dom); - expect(toTextArr(result.data.list[0].quantity[1].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct result quantity 2 hybrid si:valueXMLList 1 from XML", () => { - expect(result.data.list[0].quantity[1].hybrid.realListXMLList[0].valueXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity2.si_hybrid.si_realListXMLList1.si_valueXMLList, dom), - ); - }); - - test("should get correct result quantity 2 hybrid si:unitXMLList 1 from XML", () => { - expect(result.data.list[0].quantity[1].hybrid.realListXMLList[0].unitXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity2.si_hybrid.si_realListXMLList1.si_unitXMLList, dom), - ); - }); - - test("should get correct result quantity 2 hybrid si:valueXMLList 2 from XML", () => { - expect(result.data.list[0].quantity[1].hybrid.realListXMLList[1].valueXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity2.si_hybrid.si_realListXMLList2.si_valueXMLList, dom), - ); - }); - - test("should get correct result quantity 2 hybrid si:unitXMLList 2 from XML", () => { - expect(result.data.list[0].quantity[1].hybrid.realListXMLList[1].unitXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity2.si_hybrid.si_realListXMLList2.si_unitXMLList, dom), - ); - }); - - test("should get correct result quantity 3 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.results.result.data.list.quantity3.name.content, dom); - expect(toTextArr(result.data.list[0].quantity[2].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct result quantity 3 si:valueXMLList from XML", () => { - expect(result.data.list[0].quantity[2].realListXMLList.valueXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity3.si_realListXMLList.si_valueXMLList, dom), - ); - }); - - test("should get correct result quantity 3 si:unitXMLList from XML", () => { - expect(result.data.list[0].quantity[2].realListXMLList.unitXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity3.si_realListXMLList.si_unitXMLList, dom), - ); - }); - - test("should get correct result quantity 3 uncertainty list from XML", () => { - expect(result.data.list[0].quantity[2].realListXMLList.expandedUncXMLList.uncertaintyXMLList._text).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity3.si_realListXMLList.si_expandedUncXMLList.si_uncertaintyXMLList, dom), - ); - }); - - test("should get correct result quantity 3 uncertainty coverage factor list from XML", () => { - expect(result.data.list[0].quantity[2].realListXMLList.expandedUncXMLList.coverageFactorXMLList._text).toBe( - select( - xpath.measurementResults.measurementResult.results.result.data.list.quantity3.si_realListXMLList.si_expandedUncXMLList.si_coverageFactorXMLList, - dom, - ), - ); - }); - - test("should get correct result quantity 3 uncertainty coverage probability list from XML", () => { - expect(result.data.list[0].quantity[2].realListXMLList.expandedUncXMLList.coverageProbabilityXMLList._text).toBe( - select( - xpath.measurementResults.measurementResult.results.result.data.list.quantity3.si_realListXMLList.si_expandedUncXMLList.si_coverageProbabilityXMLList, - dom, - ), - ); - }); - - test("should get correct result quantity 3 uncertainty distribution list from XML", () => { - expect(result.data.list[0].quantity[2].realListXMLList.expandedUncXMLList.distributionXMLList._text).toBe( - select( - xpath.measurementResults.measurementResult.results.result.data.list.quantity3.si_realListXMLList.si_expandedUncXMLList.si_distributionXMLList, - dom, - ), - ); - }); - - test("should get correct result refType from XML", () => { - expect(result._attr.refType).toBe(select(xpath.measurementResults.measurementResult.results.result.refType, dom)); - }); - - test("should get correct result data list refType from XML", () => { - expect(result.data.list[0]._attr.refType).toBe(select(xpath.measurementResults.measurementResult.results.result.data.list.refType, dom)); - }); - - test("should get correct result quantity 1 refType from XML", () => { - expect(result.data.list[0].quantity[0]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity1.refType, dom), - ); - }); - - test("should get correct result quantity 1 meta data refType from XML", () => { - expect(result.data.list[0].quantity[0].measurementMetaData.metaData[0]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity1.measurementMetaData.metaData.refType, dom), - ); - }); - - test("should get correct result quantity 2 refType from XML", () => { - expect(result.data.list[0].quantity[1]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity2.refType, dom), - ); - }); - - test("should get correct result quantity 3 refType from XML", () => { - expect(result.data.list[0].quantity[2]._attr.refType).toBe( - select(xpath.measurementResults.measurementResult.results.result.data.list.quantity3.refType, dom), - ); - }); - - /* TODO: setters */ -}); diff --git a/tests/DCC/MeasurementResults.MeasurementResult.UsedMethods.test.ts b/tests/DCC/MeasurementResults.MeasurementResult.UsedMethods.test.ts deleted file mode 100644 index cb502b6d37e5a141f2b33e12421123284ebc12c7..0000000000000000000000000000000000000000 --- a/tests/DCC/MeasurementResults.MeasurementResult.UsedMethods.test.ts +++ /dev/null @@ -1,80 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/example.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../util"; -import { DCCDocument, MeasurementResultType, UsedMethodListType, UsedMethodType } from "../../src"; - -const base = "/dcc:digitalCalibrationCertificate/dcc:measurementResults/dcc:measurementResult[1]"; -const xpath = { - measurementResults: { - measurementResult: { - usedMethods: { - usedMethod1: { - name: { - content: `${base}/dcc:usedMethods/dcc:usedMethod[1]/dcc:name/dcc:content`, - }, - description: { - content: `${base}/dcc:usedMethods/dcc:usedMethod[1]/dcc:description/dcc:content`, - contentDE: `${base}/dcc:usedMethods/dcc:usedMethod[1]/dcc:description/dcc:content[@lang='de']`, - contentEN: `${base}/dcc:usedMethods/dcc:usedMethod[1]/dcc:description/dcc:content[@lang='en']`, - }, - norm: `string(${base}/dcc:usedMethods/dcc:usedMethod[1]/dcc:norm[1])`, - refType: `string(${base}/dcc:usedMethods/dcc:usedMethod[1]//@refType)`, - }, - usedMethod2: { - name: { - content: `${base}/dcc:usedMethods/dcc:usedMethod[2]/dcc:name/dcc:content`, - }, - norm: `string(${base}/dcc:usedMethods/dcc:usedMethod[2]/dcc:norm[1])`, - refType: `string(${base}/dcc:usedMethods/dcc:usedMethod[2]//@refType)`, - }, - }, - }, - }, -}; - -describe("UsedMethodListType", () => { - let dcc: DCCDocument, usedMethods: UsedMethodListType, dom; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - usedMethods = dcc.digitalCalibrationCertificate.measurementResults.measurementResult[0].usedMethods; - }); - - test("should get correct used method 1 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.usedMethods.usedMethod1.name.content, dom); - expect(toTextArr(usedMethods.usedMethod[0].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct used method 1 description content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.usedMethods.usedMethod1.description.content, dom); - expect(toTextArr(usedMethods.usedMethod[0].description.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct used method 1 norm from XML", () => { - expect(usedMethods.usedMethod[0].norm[0]._text).toBe(select(xpath.measurementResults.measurementResult.usedMethods.usedMethod1.norm, dom)); - }); - - test("should get correct used method 1 refType from XML", () => { - expect(usedMethods.usedMethod[0]._attr.refType).toBe(select(xpath.measurementResults.measurementResult.usedMethods.usedMethod1.refType, dom)); - }); - - test("should get correct used method 2 name content from XML", () => { - // get expected list from example xml - const expected = <Element[]>select(xpath.measurementResults.measurementResult.usedMethods.usedMethod2.name.content, dom); - expect(toTextArr(usedMethods.usedMethod[1].name.content)).toEqual(toTextContentArr(expected)); - }); - - test("should get correct used method 2 norm from XML", () => { - expect(usedMethods.usedMethod[1].norm[0]._text).toBe(select(xpath.measurementResults.measurementResult.usedMethods.usedMethod2.norm, dom)); - }); - - test("should get correct used method 2 refType from XML", () => { - expect(usedMethods.usedMethod[1]._attr.refType).toBe(select(xpath.measurementResults.measurementResult.usedMethods.usedMethod2.refType, dom)); - }); - - /* TODO: setters */ -}); diff --git a/tests/DCCDocument.test.ts b/tests/DCCDocument.test.ts index 8ad62d175fa9d659a9e31ef7843c8b975dcb62ab..72047373d754d403e579d3a5537497011a39185b 100644 --- a/tests/DCCDocument.test.ts +++ b/tests/DCCDocument.test.ts @@ -1,5 +1,5 @@ /** - * @vitest-environment-options { "xmlPath": "./tests/resources/example.xml" } + * @vitest-environment-options { "xmlPath": "./tests/resources/Test_DCC_Minimal.xml" } */ describe("DCCDocument", () => { @@ -14,6 +14,6 @@ describe("DCCDocument", () => { xml = xml.replace(/\r\n|\r|\n/g, "\n"); // fromXml() is part of the XMLEnvironment - expect(dcc.toXML()).toBe(xml); + expect(dcc.toXML({ spaces: 4 })).toBe(xml); }); }); diff --git a/tests/GP_Temperature/CharsXMLList.test.ts b/tests/GP_Temperature/CharsXMLList.test.ts deleted file mode 100644 index 1d0f83cd795e069fdb7f6504452db195a373591b..0000000000000000000000000000000000000000 --- a/tests/GP_Temperature/CharsXMLList.test.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/GP_Temperature_v3.2.0_DCC.xml" } - */ - -import { select } from "../util"; -import { DCCDocument } from "../../src"; - -const base = "//dcc:quantity[@refType='test_charsXMLList']"; -const xpath = { - charsXMLList: `string(${base}/dcc:charsXMLList)`, -}; - -describe("CharsXMLList", () => { - let dcc: DCCDocument, dom, result; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - result = dcc.digitalCalibrationCertificate.measurementResults.measurementResult[0].results.result[0]; - }); - - test("should get correct charsXMLList from XML", () => { - expect(result.data.quantity[1].charsXMLList._text).toBe(select(xpath.charsXMLList, dom)); - }); -}); diff --git a/tests/GP_Temperature/noQuantity.test.ts b/tests/GP_Temperature/noQuantity.test.ts deleted file mode 100644 index 4eec495d4b3eaafe46b6dda4756dd9ac6b14f206..0000000000000000000000000000000000000000 --- a/tests/GP_Temperature/noQuantity.test.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * @vitest-environment-options { "xmlPath": "./tests/resources/GP_Temperature_v3.2.0_DCC.xml" } - */ - -import { select, toTextArr, toTextContentArr } from "../util"; -import { DCCDocument } from "../../src"; - -const base = "//dcc:quantity[@refType='test_noQuantity']/dcc:noQuantity"; -const xpath = { - noQuantity: { - name: { - content: `string(${base}/dcc:name/dcc:content)`, - }, - content: `string(${base}/dcc:content)`, - file: { - fileName: `string(${base}/dcc:file/dcc:fileName)`, - mimeType: `string(${base}/dcc:file/dcc:mimeType)`, - dataBase64: `string(${base}/dcc:file/dcc:dataBase64)`, - }, - formula: { - latex: `string(${base}/dcc:formula/dcc:latex)`, - }, - }, -}; - -describe("noQuantity", () => { - let dcc: DCCDocument, dom, result; - - beforeEach(() => { - ({ dcc, dom } = recreateEnv()); - result = dcc.digitalCalibrationCertificate.measurementResults.measurementResult[0].results.result[0]; - }); - - test("should get correct name from XML", () => { - const expected = <Element[]>select(xpath.noQuantity.name.content, dom); - - expect(toTextArr(result.data.quantity[0].noQuantity.name.content)[0]).toBe(expected); - }); - - test("should get correct content from XML", () => { - expect(result.data.quantity[0].noQuantity.content[0]._text).toBe(select(xpath.noQuantity.content, dom)); - }); - - test("should get correct fileName from XML", () => { - expect(result.data.quantity[0].noQuantity.file[0].fileName._text).toBe(select(xpath.noQuantity.file.fileName, dom)); - }); - - test("should get correct mimeType from XML", () => { - expect(result.data.quantity[0].noQuantity.file[0].mimeType._text).toBe(select(xpath.noQuantity.file.mimeType, dom)); - }); - - test("should get correct latex formula from XML", () => { - expect(result.data.quantity[0].noQuantity.formula[0].latex._text).toBe(select(xpath.noQuantity.formula.latex, dom)); - }); -}); diff --git a/tests/resources/Features_DCC_v3.2.0.xml b/tests/resources/Features_DCC_v3.2.0.xml new file mode 100644 index 0000000000000000000000000000000000000000..ddd90b6ebce5e20cf083a544e36e18c1ef84bac9 --- /dev/null +++ b/tests/resources/Features_DCC_v3.2.0.xml @@ -0,0 +1,256 @@ +<?xml version="1.0" encoding="utf-8"?> +<dcc:digitalCalibrationCertificate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dcc="https://ptb.de/dcc" xmlns:si="https://ptb.de/si" xsi:schemaLocation="https://ptb.de/dcc https://ptb.de/dcc/v3.2.0/dcc.xsd" schemaVersion="3.2.0"> + <dcc:administrativeData> + <dcc:dccSoftware> + <dcc:software> + <dcc:name> + <dcc:content>Notepad++ (32-bit)</dcc:content> + </dcc:name> + <dcc:release>v 8.2</dcc:release> + </dcc:software> + </dcc:dccSoftware> + <!-- [v3.2.0] dcc:refTypeDefinitions was added --> + <dcc:refTypeDefinitions> + <dcc:refTypeDefinition> + <dcc:name> + <dcc:content>Cross-Community refType Definition</dcc:content> + </dcc:name> + <dcc:description> + <dcc:name> + <dcc:content>Description name ABC</dcc:content> + </dcc:name> + <dcc:content>Description ABC</dcc:content> + </dcc:description> + <dcc:namespace>basic</dcc:namespace> + <dcc:link>https://www.ptb.de/dcc/refType/basic/draft_basic.xml</dcc:link> + <dcc:release>0.1</dcc:release> + <dcc:value>Value ABC</dcc:value> + <dcc:procedure>Procedure ABC</dcc:procedure> + </dcc:refTypeDefinition> + </dcc:refTypeDefinitions> + <dcc:coreData> + <dcc:countryCodeISO3166_1>DE</dcc:countryCodeISO3166_1> + <dcc:usedLangCodeISO639_1>en</dcc:usedLangCodeISO639_1> + <dcc:mandatoryLangCodeISO639_1>en</dcc:mandatoryLangCodeISO639_1> + <dcc:uniqueIdentifier>Test_DCC_Minimal</dcc:uniqueIdentifier> + <dcc:identifications> + <dcc:identification> + <dcc:issuer>calibrationLaboratory</dcc:issuer> + <dcc:value>string-calibrationLaboratory-coreData</dcc:value> + <dcc:name> + <dcc:content lang="en">Order no.</dcc:content> + </dcc:name> + </dcc:identification> + </dcc:identifications> + <dcc:beginPerformanceDate>1957-08-13</dcc:beginPerformanceDate> + <dcc:endPerformanceDate>1957-08-13</dcc:endPerformanceDate> + <dcc:performanceLocation>laboratory</dcc:performanceLocation> + <!-- [v3.2.0] dcc:issueDate was added --> + <dcc:issueDate>2022-12-31</dcc:issueDate> + <!-- [v3.2.0] refType was added to dcc:hashType --> + <dcc:previousReport refType="test_hashType"> + <dcc:referral> + <dcc:content>Referral</dcc:content> + </dcc:referral> + <dcc:referralID>ReferralID</dcc:referralID> + <dcc:procedure>Procedure</dcc:procedure> + <dcc:value>Value</dcc:value> + <!-- [v3.2.0] dcc:description, dcc:inValidityRange and dcc:traceable was added --> + <dcc:description> + <dcc:content>Description</dcc:content> + </dcc:description> + <dcc:inValidityRange>true</dcc:inValidityRange> + <dcc:traceable>false</dcc:traceable> + </dcc:previousReport> + </dcc:coreData> + <dcc:items> + <!-- [v3.2.0] dcc:equipmentClass is now maxOccurs unbounded --> + <dcc:equipmentClass> + <dcc:reference>reference1</dcc:reference> + <dcc:classID>classID1</dcc:classID> + </dcc:equipmentClass> + <dcc:equipmentClass> + <dcc:reference>reference2</dcc:reference> + <dcc:classID>classID2</dcc:classID> + </dcc:equipmentClass> + <!-- [v3.2.0] refType was added to dcc:itemType --> + <dcc:item refType="test_itemType"> + <dcc:name> + <dcc:content lang="de">Temperatur-Fühler</dcc:content> + <dcc:content lang="en">Temperature sensor</dcc:content> + </dcc:name> + <!-- [v3.2.0] dcc:equipmentClass is now maxOccurs unbounded and refType was added to it --> + <dcc:equipmentClass refType="test_equipmentClass"> + <dcc:reference>reference1</dcc:reference> + <dcc:classID>classID1</dcc:classID> + </dcc:equipmentClass> + <dcc:equipmentClass> + <dcc:reference>reference2</dcc:reference> + <dcc:classID>classID2</dcc:classID> + </dcc:equipmentClass> + <dcc:manufacturer> + <dcc:name> + <dcc:content>String</dcc:content> + </dcc:name> + </dcc:manufacturer> + <dcc:identifications> + <dcc:identification> + <dcc:issuer>manufacturer</dcc:issuer> + <dcc:value>string-manufacturer-item</dcc:value> + </dcc:identification> + </dcc:identifications> + <!-- [v3.2.0] dcc:itemQuantities was added --> + <dcc:itemQuantities> + <dcc:itemQuantity> + <dcc:name> + <dcc:content lang="de">Name der ItemQuantity</dcc:content> + <dcc:content lang="en">Name of the item quantity</dcc:content> + </dcc:name> + <dcc:description> + <dcc:content>Membrandurchmesser</dcc:content> + </dcc:description> + <si:real> + <si:value>0.05</si:value> + <si:unit>\metre</si:unit> + </si:real> + </dcc:itemQuantity> + <dcc:itemQuantity> + <dcc:description> + <dcc:content>Membranstärke</dcc:content> + </dcc:description> + <si:real> + <si:value>0.0003</si:value> + <si:unit>\metre</si:unit> + </si:real> + </dcc:itemQuantity> + </dcc:itemQuantities> + </dcc:item> + </dcc:items> + <dcc:calibrationLaboratory> + <dcc:contact> + <dcc:name> + <dcc:content>Kalibrierfirma GmbH</dcc:content> + </dcc:name> + <!-- [v3.2.0] dcc:eMail is no longer mandatory --> + <dcc:location> + <dcc:city>Musterstadt</dcc:city> + </dcc:location> + </dcc:contact> + <!-- [v3.2.0] dcc:cryptElectronicSeal, dcc:cryptElectronicSignature and dcc:cryptElectronicTimeStamp were added --> + <dcc:cryptElectronicSeal>true</dcc:cryptElectronicSeal> + <dcc:cryptElectronicSignature>false</dcc:cryptElectronicSignature> + <dcc:cryptElectronicTimeStamp>true</dcc:cryptElectronicTimeStamp> + </dcc:calibrationLaboratory> + <dcc:respPersons> + <!-- [v3.2.0] refType was added to dcc:respPersonType --> + <dcc:respPerson refType="test_respPersonType"> + <dcc:person> + <dcc:name> + <dcc:content>Michaela Musterfrau</dcc:content> + </dcc:name> + </dcc:person> + </dcc:respPerson> + </dcc:respPersons> + <dcc:customer> + <dcc:name> + <dcc:content>Kunde GmbH</dcc:content> + </dcc:name> + <dcc:location> + <dcc:city>Musterstadt</dcc:city> + </dcc:location> + </dcc:customer> + <dcc:statements> + <dcc:statement> + <!-- [v3.2.0] dcc:name and dcc:description were added --> + <dcc:name> + <dcc:content>Statement1</dcc:content> + </dcc:name> + <dcc:description> + <dcc:content>Statement1</dcc:content> + </dcc:description> + <dcc:data> + <dcc:quantity refType="test_validXMLList"> + <si:realListXMLList> + <si:labelXMLList>exampleLabel</si:labelXMLList> + <si:valueXMLList>306.248 373.121 448.253 523.319 593.154</si:valueXMLList> + <si:unitXMLList>\kelvin</si:unitXMLList> + </si:realListXMLList> + <dcc:measurementMetaData> + <dcc:metaData> + <dcc:declaration> + <dcc:content lang="de">Kommentar ist gültig für den dritten und fünften Eintrag.</dcc:content> + <dcc:content lang="en">Comment is valid for the 3rd and 5th entry.</dcc:content> + </dcc:declaration> + <!-- [v3.2.0] dcc:validXMLList was added --> + <dcc:validXMLList>false false true false true</dcc:validXMLList> + </dcc:metaData> + <dcc:metaData> + <dcc:declaration> + <dcc:content lang="de">Kommentar ist gültig für den dritten Eintrag.</dcc:content> + <dcc:content lang="en">Comment is valid for the 3rd entry.</dcc:content> + </dcc:declaration> + <!-- [v3.2.0] dcc:validXMLList was added --> + <dcc:validXMLList>false false true false false</dcc:validXMLList> + </dcc:metaData> + </dcc:measurementMetaData> + </dcc:quantity> + </dcc:data> + </dcc:statement> + </dcc:statements> + </dcc:administrativeData> + <dcc:measurementResults> + <dcc:measurementResult> + <dcc:name> + <dcc:content lang="en">Measurement results</dcc:content> + </dcc:name> + <dcc:description> + <dcc:content id="referenced_text">Text that is referenced</dcc:content> + <!-- [v3.2.0] refId and refType was added to dcc:byteDataType --> + <dcc:file refId="referenced_text" refType="test_byteDataType"> + <dcc:fileName>test.txt</dcc:fileName> + <dcc:mimeType>text/plain</dcc:mimeType> + <dcc:dataBase64>VGVzdHRleHQ=</dcc:dataBase64> + </dcc:file> + </dcc:description> + <dcc:measuringEquipments> + <!-- [v3.2.0] dcc:equipmentClass is now maxOccurs unbounded --> + <dcc:equipmentClass> + <dcc:reference>reference1</dcc:reference> + <dcc:classID>classID1</dcc:classID> + </dcc:equipmentClass> + <dcc:equipmentClass> + <dcc:reference>reference2</dcc:reference> + <dcc:classID>classID2</dcc:classID> + </dcc:equipmentClass> + <dcc:measuringEquipment> + <dcc:name> + <dcc:content>Measuring Equipment 1</dcc:content> + </dcc:name> + <!-- [v3.2.0] dcc:equipmentClass is now maxOccurs unbounded --> + <dcc:equipmentClass> + <dcc:reference>reference1</dcc:reference> + <dcc:classID>classID1</dcc:classID> + </dcc:equipmentClass> + <dcc:equipmentClass> + <dcc:reference>reference2</dcc:reference> + <dcc:classID>classID2</dcc:classID> + </dcc:equipmentClass> + </dcc:measuringEquipment> + </dcc:measuringEquipments> + <dcc:results> + <dcc:result> + <dcc:name> + <dcc:content lang="de">Messergebnisse</dcc:content> + <dcc:content lang="en">Measuring results</dcc:content> + </dcc:name> + <dcc:data> + <dcc:quantity refType="test_charsXMLList"> + <!-- [v3.2.0] dcc:charsXMLList was added --> + <dcc:charsXMLList>A B C D E F</dcc:charsXMLList> + </dcc:quantity> + </dcc:data> + </dcc:result> + </dcc:results> + </dcc:measurementResult> + </dcc:measurementResults> +</dcc:digitalCalibrationCertificate> \ No newline at end of file diff --git a/tests/resources/Features_DCC_v3.2.1.xml b/tests/resources/Features_DCC_v3.2.1.xml index 0719ad4e37c92aa87ac9bd08bd4fef9ecb596aa4..621843670ed7f541ac4891deccf065c8d7bb455c 100644 --- a/tests/resources/Features_DCC_v3.2.1.xml +++ b/tests/resources/Features_DCC_v3.2.1.xml @@ -27,7 +27,7 @@ <dcc:endPerformanceDate>1957-08-13</dcc:endPerformanceDate> <dcc:performanceLocation>laboratory</dcc:performanceLocation> <!-- [v3.2.1] dcc:reportAmendedSubstituted was added --> - <dcc:reportAmendedSubstituted> + <dcc:reportAmendedSubstituted id="R2D2" refType="test_reportAmendedSubstituted"> <dcc:typeOfChange>amended</dcc:typeOfChange> <dcc:replacedUniqueIdentifier>Test_DCC_Minimal_old</dcc:replacedUniqueIdentifier> </dcc:reportAmendedSubstituted> diff --git a/tests/resources/GP_Temperature_Simplified.xml b/tests/resources/GP_Temperature_Simplified.xml index 7d299d4b394052aaee1316f1bc9a945247dfcc99..d35372c62dd92ef58f998fb4c373cae82e3ae01e 100644 --- a/tests/resources/GP_Temperature_Simplified.xml +++ b/tests/resources/GP_Temperature_Simplified.xml @@ -25,6 +25,7 @@ </dcc:name> </dcc:identification> </dcc:identifications> + <dcc:receiptDate>1957-08-13</dcc:receiptDate> <dcc:beginPerformanceDate>1957-08-13</dcc:beginPerformanceDate> <dcc:endPerformanceDate>1957-08-13</dcc:endPerformanceDate> <dcc:performanceLocation>laboratory</dcc:performanceLocation> @@ -35,6 +36,11 @@ <dcc:content lang="de">Temperatur-Fühler</dcc:content> <dcc:content lang="en">Temperature sensor</dcc:content> </dcc:name> + <!-- [VARIANT] --> + <dcc:equipmentClass> + <dcc:reference>1.2.3.4.5</dcc:reference> + <dcc:classID>12345</dcc:classID> + </dcc:equipmentClass> <dcc:manufacturer> <dcc:name> <dcc:content>String</dcc:content> @@ -122,6 +128,42 @@ </dcc:location> </dcc:customer> <dcc:statements> + <dcc:statement> + <dcc:norm>ISO/IEC 17025:2018-03</dcc:norm> + <dcc:reference>7.8.4.3</dcc:reference> + <dcc:declaration> + <dcc:content lang="de">Die Ergebnisse gelten zum Zeitpunkt der Kalibrierung. Es obliegt dem Antragsteller, zu gegebener Zeit eine Rekalibrierung zu veranlassen.</dcc:content> + <dcc:content lang="en">The results refer only to the object calibrated in this DCC. The measurement results are valid at the time of calibration. The applicant is responsible for arranging a recalibration in due time.</dcc:content> + </dcc:declaration> + </dcc:statement> + <dcc:statement refType="basic_validityRange"> + <dcc:declaration> + <dcc:content lang="de">Angabe des Temperaturbereichs, in dem kalibriert wurde:</dcc:content> + <dcc:content lang="en">Specification of the temperature range in which calibration was performed:</dcc:content> + </dcc:declaration> + <dcc:data> + <dcc:quantity refType="basic_validityRangeMin"> + <dcc:name> + <dcc:content lang="de">Unteres Limit</dcc:content> + <dcc:content lang="en">Lower limit</dcc:content> + </dcc:name> + <si:real> + <si:value>306</si:value> + <si:unit>\kelvin</si:unit> + </si:real> + </dcc:quantity> + <dcc:quantity refType="basic_validityRangeMax"> + <dcc:name> + <dcc:content lang="de">Oberes Limit</dcc:content> + <dcc:content lang="en">Upper limit</dcc:content> + </dcc:name> + <si:real> + <si:value>593</si:value> + <si:unit>\kelvin</si:unit> + </si:real> + </dcc:quantity> + </dcc:data> + </dcc:statement> <dcc:statement refType="basic_conformity"> <dcc:declaration> <dcc:content lang="de">Die Konformitätsaussage erfolgt anhand der Vorgaben des Kunden. Sie sind im DCC mit aufgeführt.</dcc:content> @@ -158,6 +200,16 @@ </dcc:location> </dcc:respAuthority> </dcc:statement> + <!-- [VARIANT] --> + <dcc:statement> + <dcc:countryCodeISO3166_1>DE</dcc:countryCodeISO3166_1> + <dcc:countryCodeISO3166_1>US</dcc:countryCodeISO3166_1> + <dcc:convention>abcde</dcc:convention> + <dcc:traceable>true</dcc:traceable> + <dcc:period>P1Y2M3DT10H30M</dcc:period> + <dcc:nonSIDefinition>abcde_definition</dcc:nonSIDefinition> + <dcc:nonSIUnit>abcde_unit</dcc:nonSIUnit> + </dcc:statement> </dcc:statements> </dcc:administrativeData> <dcc:measurementResults> @@ -167,11 +219,23 @@ <dcc:content lang="en">Measurement results</dcc:content> </dcc:name> <dcc:usedMethods> + <dcc:usedMethod refType="basic_uncertainty"> + <dcc:name> + <dcc:content lang="de">Erweiterte Messunsicherheit</dcc:content> + <dcc:content lang="en">Expanded uncertainty</dcc:content> + </dcc:name> + <dcc:description> + <dcc:content lang="de">Angegeben ist die erweiterte Messunsicherheit, die sich aus der Standardmessunsicherheit durch Multiplikation mit dem Erweiterungsfaktor k=2 ergibt. Sie wurde gemäß dem „Guide to the Expression of Uncertainty in Measurement (GUM)“ ermittelt. Der Wert der Messgröße liegt dann im Regelfall mit einer Wahrscheinlichkeit von annähernd 95 % im zugeordneten Überdeckungsintervall.</dcc:content> + <dcc:content lang="en">The expanded uncertainty was calculated from the contributions of uncertainty originating from the standards used, from the weighings and the air buoyancy corrections. The reported uncertainty does not include an estimate of long-term variations.</dcc:content> + </dcc:description> + <dcc:norm>GUM</dcc:norm> + </dcc:usedMethod> <dcc:usedMethod refType="gp_temperatureSensor"> <dcc:name> <dcc:content lang="de">Kalibrierung von Temperaturmessfühlern</dcc:content> <dcc:content lang="en">Calibration of temperature sensors</dcc:content> </dcc:name> + <dcc:norm>DKD-R 5-1:2018</dcc:norm> </dcc:usedMethod> </dcc:usedMethods> <dcc:measuringEquipments> @@ -189,6 +253,24 @@ </dcc:measuringEquipment> </dcc:measuringEquipments> <dcc:influenceConditions> + <dcc:influenceCondition refType="gp_immersionDepth"> + <dcc:name> + <dcc:content lang="de">Eintauchtiefe im Wasserbad</dcc:content> + <dcc:content lang="en">Immersion depth in water bath</dcc:content> + </dcc:name> + <dcc:data> + <dcc:quantity> + <dcc:name> + <dcc:content lang="de">Eintauchtiefe</dcc:content> + <dcc:content lang="en">Immersion depth</dcc:content> + </dcc:name> + <si:real> + <si:value>0.1</si:value> + <si:unit>\metre</si:unit> + </si:real> + </dcc:quantity> + </dcc:data> + </dcc:influenceCondition> <dcc:influenceCondition refType="basic_temperature"> <dcc:name> <dcc:content lang="de">Umgebungsbedingung Temperatur</dcc:content> @@ -277,6 +359,28 @@ <si:unitXMLList>\degreecelsius</si:unitXMLList> </si:realListXMLList> </si:hybrid> + <dcc:measurementMetaData> + <dcc:metaData refType="basic_calibrationValue"> + <dcc:declaration> + <dcc:content lang="de">Kalibrierpunkt</dcc:content> + <dcc:content lang="en">Calibration value</dcc:content> + </dcc:declaration> + <dcc:data> + <dcc:quantity> + <si:hybrid> + <si:realListXMLList> + <si:valueXMLList>306 373 448 523 593</si:valueXMLList> + <si:unitXMLList>\kelvin</si:unitXMLList> + </si:realListXMLList> + <si:realListXMLList> + <si:valueXMLList>32.85 99.85 174.85 249.85 319.85</si:valueXMLList> + <si:unitXMLList>\degreecelsius</si:unitXMLList> + </si:realListXMLList> + </si:hybrid> + </dcc:quantity> + </dcc:data> + </dcc:metaData> + </dcc:measurementMetaData> </dcc:quantity> <dcc:quantity refType="basic_measuredValue"> <dcc:name> @@ -349,4 +453,4 @@ </dcc:results> </dcc:measurementResult> </dcc:measurementResults> -</dcc:digitalCalibrationCertificate> \ No newline at end of file +</dcc:digitalCalibrationCertificate> diff --git a/tests/resources/GP_Temperature_Simplified_variant.xml b/tests/resources/GP_Temperature_Simplified_variant.xml deleted file mode 100644 index 6001e422ece1beb8be4b6b8a1f6f5e511b8dd68e..0000000000000000000000000000000000000000 --- a/tests/resources/GP_Temperature_Simplified_variant.xml +++ /dev/null @@ -1,365 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<dcc:digitalCalibrationCertificate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dcc="https://ptb.de/dcc" xmlns:si="https://ptb.de/si" xsi:schemaLocation="https://ptb.de/dcc https://ptb.de/dcc/v3.2.0/dcc.xsd" schemaVersion="3.2.0"> - <dcc:administrativeData> - <dcc:dccSoftware> - <dcc:software> - <dcc:name> - <dcc:content>Notepad++ (32-bit)</dcc:content> - </dcc:name> - <dcc:release>v 8.2</dcc:release> - </dcc:software> - </dcc:dccSoftware> - <dcc:coreData> - <dcc:countryCodeISO3166_1>DE</dcc:countryCodeISO3166_1> - <dcc:usedLangCodeISO639_1>en</dcc:usedLangCodeISO639_1> - <dcc:usedLangCodeISO639_1>de</dcc:usedLangCodeISO639_1> - <dcc:mandatoryLangCodeISO639_1>en</dcc:mandatoryLangCodeISO639_1> - <dcc:uniqueIdentifier>GP_DCC_temperature_minimal_1.2</dcc:uniqueIdentifier> - <dcc:identifications> - <dcc:identification> - <dcc:issuer>calibrationLaboratory</dcc:issuer> - <dcc:value>string-calibrationLaboratory-coreData</dcc:value> - <dcc:name> - <dcc:content lang="de">Auftrags Nr.</dcc:content> - <dcc:content lang="en">Order no.</dcc:content> - </dcc:name> - </dcc:identification> - </dcc:identifications> - <dcc:beginPerformanceDate>1957-08-13</dcc:beginPerformanceDate> - <dcc:endPerformanceDate>1957-08-13</dcc:endPerformanceDate> - <dcc:performanceLocation>laboratory</dcc:performanceLocation> - </dcc:coreData> - <dcc:items> - <dcc:item> - <dcc:name> - <dcc:content lang="de">Temperatur-Fühler</dcc:content> - <dcc:content lang="en">Temperature sensor</dcc:content> - </dcc:name> - <dcc:equipmentClass> - <dcc:reference>1.2.3.4.5</dcc:reference> - <dcc:classID>12345</dcc:classID> - </dcc:equipmentClass> - <dcc:manufacturer> - <dcc:name> - <dcc:content>String</dcc:content> - </dcc:name> - </dcc:manufacturer> - <dcc:model>String</dcc:model> - <dcc:identifications> - <dcc:identification> - <dcc:issuer>manufacturer</dcc:issuer> - <dcc:value>string-manufacturer-item</dcc:value> - <dcc:name> - <dcc:content lang="de">Serien Nr.</dcc:content> - <dcc:content lang="en">Serial no.</dcc:content> - </dcc:name> - </dcc:identification> - <dcc:identification> - <dcc:issuer>customer</dcc:issuer> - <dcc:value>string-customer-item</dcc:value> - <dcc:name> - <dcc:content lang="de">Messmittel Nr.</dcc:content> - <dcc:content lang="en">Measurement equipment no.</dcc:content> - </dcc:name> - </dcc:identification> - <dcc:identification> - <dcc:issuer>calibrationLaboratory</dcc:issuer> - <dcc:value>string-calibrationLaboratory-item</dcc:value> - <dcc:name> - <dcc:content lang="de">Equipment Nr.</dcc:content> - <dcc:content lang="en">Equipment no.</dcc:content> - </dcc:name> - </dcc:identification> - </dcc:identifications> - </dcc:item> - </dcc:items> - <dcc:calibrationLaboratory> - <dcc:contact> - <dcc:name> - <dcc:content>Kalibrierfirma GmbH</dcc:content> - </dcc:name> - <dcc:eMail>info@kalibrierfirma.xx</dcc:eMail> - <dcc:phone>+49 123 4567-89</dcc:phone> - <dcc:fax>+49 123 4567-90</dcc:fax> - <dcc:location> - <dcc:city>Musterstadt</dcc:city> - <dcc:countryCode>DE</dcc:countryCode> - <dcc:postCode>00900</dcc:postCode> - <dcc:street>Musterstraße</dcc:street> - <dcc:streetNo>1</dcc:streetNo> - <dcc:further> - <dcc:content>www.kalibrierfirma.xx</dcc:content> - </dcc:further> - </dcc:location> - </dcc:contact> - </dcc:calibrationLaboratory> - <dcc:respPersons> - <dcc:respPerson> - <dcc:person> - <dcc:name> - <dcc:content>Michaela Musterfrau</dcc:content> - </dcc:name> - </dcc:person> - <dcc:mainSigner>true</dcc:mainSigner> - </dcc:respPerson> - <dcc:respPerson> - <dcc:person> - <dcc:name> - <dcc:content>Michael Mustermann</dcc:content> - </dcc:name> - </dcc:person> - </dcc:respPerson> - </dcc:respPersons> - <dcc:customer> - <dcc:name> - <dcc:content>Kunde GmbH</dcc:content> - </dcc:name> - <dcc:eMail>info@kunde.xx</dcc:eMail> - <dcc:location> - <dcc:city>Musterstadt</dcc:city> - <dcc:countryCode>DE</dcc:countryCode> - <dcc:postCode>00900</dcc:postCode> - <dcc:further> - <dcc:content lang="de">Kunden Nr. 1024418</dcc:content> - <dcc:content lang="en">Customer ID no. 1024418</dcc:content> - </dcc:further> - </dcc:location> - </dcc:customer> - <dcc:statements> - <dcc:statement refType="basic_conformity"> - <dcc:declaration> - <dcc:content lang="de">Die Konformitätsaussage erfolgt anhand der Vorgaben des Kunden. Sie sind im DCC mit aufgeführt.</dcc:content> - <dcc:content lang="en">The conformity statement is made on the basis of the customer's specifications. They are listed in the DCC.</dcc:content> - </dcc:declaration> - <dcc:respAuthority> - <dcc:name> - <dcc:content>Kunde GmbH</dcc:content> - </dcc:name> - <dcc:eMail>info@kunde.xx</dcc:eMail> - <dcc:location> - <dcc:city>Musterstadt</dcc:city> - <dcc:countryCode>DE</dcc:countryCode> - <dcc:postCode>00900</dcc:postCode> - </dcc:location> - </dcc:respAuthority> - <dcc:conformity>pass</dcc:conformity> - </dcc:statement> - <dcc:statement refType="basic_recalibration"> - <dcc:declaration> - <dcc:content lang="de">Datum, wann nach der Festlegung durch den Kunden spätestens der Kalibriergegenstand rekalibriert werden soll:</dcc:content> - <dcc:content lang="en">Date when the calibration item is to be recalibrated at the latest according to the customer's specification:</dcc:content> - </dcc:declaration> - <dcc:date>1959-10-22</dcc:date> - <dcc:respAuthority> - <dcc:name> - <dcc:content>Kunde GmbH</dcc:content> - </dcc:name> - <dcc:eMail>info@kunde.xx</dcc:eMail> - <dcc:location> - <dcc:city>Musterstadt</dcc:city> - <dcc:countryCode>DE</dcc:countryCode> - <dcc:postCode>00900</dcc:postCode> - </dcc:location> - </dcc:respAuthority> - </dcc:statement> - <dcc:statement> - <dcc:countryCodeISO3166_1>DE</dcc:countryCodeISO3166_1> - <dcc:countryCodeISO3166_1>US</dcc:countryCodeISO3166_1> - <dcc:convention>abcde</dcc:convention> - <dcc:traceable>true</dcc:traceable> - <dcc:period>P1Y2M3DT10H30M</dcc:period> - <dcc:nonSIDefinition>abcde_definition</dcc:nonSIDefinition> - <dcc:nonSIUnit>abcde_unit</dcc:nonSIUnit> - </dcc:statement> - </dcc:statements> - </dcc:administrativeData> - <dcc:measurementResults> - <dcc:measurementResult> - <dcc:name> - <dcc:content lang="de">Messergebnisse</dcc:content> - <dcc:content lang="en">Measurement results</dcc:content> - </dcc:name> - <dcc:usedMethods> - <dcc:usedMethod refType="gp_temperatureSensor"> - <dcc:name> - <dcc:content lang="de">Kalibrierung von Temperaturmessfühlern</dcc:content> - <dcc:content lang="en">Calibration of temperature sensors</dcc:content> - </dcc:name> - </dcc:usedMethod> - </dcc:usedMethods> - <dcc:measuringEquipments> - <dcc:measuringEquipment refType="basic_normalUsed"> - <dcc:name> - <dcc:content lang="de">Pt 100 Widerstandsthermometer</dcc:content> - <dcc:content lang="en">Pt 100 thermometer</dcc:content> - </dcc:name> - <dcc:identifications> - <dcc:identification> - <dcc:issuer>manufacturer</dcc:issuer> - <dcc:value>string-manufacturer-measuringEquipment-1</dcc:value> - </dcc:identification> - </dcc:identifications> - </dcc:measuringEquipment> - </dcc:measuringEquipments> - <dcc:influenceConditions> - <dcc:influenceCondition refType="basic_temperature"> - <dcc:name> - <dcc:content lang="de">Umgebungsbedingung Temperatur</dcc:content> - <dcc:content lang="en">Ambient condition temperature</dcc:content> - </dcc:name> - <dcc:description> - <dcc:content lang="de">Diese Werte wurden nicht gemessen, sondern wurden anhand der typischen Wetterbedingungen zu einer Jahreszeit angegeben. [^1]</dcc:content> - <dcc:content lang="en">These values were not measured, but were given based on typical weather conditions at a time of year. [^1]</dcc:content> - </dcc:description> - <dcc:data> - <dcc:quantity refType="basic_temperatureMin"> - <dcc:name> - <dcc:content lang="de">Temperatur min</dcc:content> - <dcc:content lang="en">temperature min</dcc:content> - </dcc:name> - <si:real> - <si:value>293</si:value> - <si:unit>\kelvin</si:unit> - </si:real> - </dcc:quantity> - <dcc:quantity refType="basic_temperatureMax"> - <dcc:name> - <dcc:content lang="de">Temperatur max</dcc:content> - <dcc:content lang="en">temperature max</dcc:content> - </dcc:name> - <si:real> - <si:value>299</si:value> - <si:unit>\kelvin</si:unit> - </si:real> - </dcc:quantity> - </dcc:data> - </dcc:influenceCondition> - <dcc:influenceCondition refType="basic_humidityRelative"> - <dcc:name> - <dcc:content lang="de">Umgebungsbedingung relative Luftfeuchte</dcc:content> - <dcc:content lang="en">Ambient condition relative humidity</dcc:content> - </dcc:name> - <dcc:description> - <dcc:content lang="de">Diese Werte wurden nicht gemessen, sondern wurden anhand der typischen Wetterbedingungen zu einer Jahreszeit angegeben. [^1]</dcc:content> - <dcc:content lang="en">These values were not measured, but were given based on typical weather conditions at a time of year. [^1]</dcc:content> - </dcc:description> - <dcc:data> - <dcc:quantity refType="basic_humidityRelativeMin"> - <dcc:name> - <dcc:content lang="de">Feuchte min</dcc:content> - <dcc:content lang="en">humidity min</dcc:content> - </dcc:name> - <si:real> - <si:value>0.20</si:value> - <si:unit>\one</si:unit> - </si:real> - </dcc:quantity> - <dcc:quantity refType="basic_humidityRelativeMax"> - <dcc:name> - <dcc:content lang="de">Feuchte max</dcc:content> - <dcc:content lang="en">humidity max</dcc:content> - </dcc:name> - <si:real> - <si:value>0.70</si:value> - <si:unit>\one</si:unit> - </si:real> - </dcc:quantity> - </dcc:data> - </dcc:influenceCondition> - </dcc:influenceConditions> - <dcc:results> - <dcc:result refType="gp_measuringResult1"> - <dcc:name> - <dcc:content lang="de">Messergebnisse</dcc:content> - <dcc:content lang="en">Measuring results</dcc:content> - </dcc:name> - <dcc:data> - <dcc:list refType="gp_table1"> - <dcc:quantity refType="basic_referenceValue"> - <dcc:name> - <dcc:content lang="de">Bezugswert</dcc:content> - <dcc:content lang="en">Reference value</dcc:content> - </dcc:name> - <si:hybrid> - <si:realListXMLList> - <si:valueXMLList>306.248 373.121 448.253 523.319 593.154</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - </si:realListXMLList> - <si:realListXMLList> - <si:valueXMLList>33.098 99.971 175.103 250.169 320.004</si:valueXMLList> - <si:unitXMLList>\degreecelsius</si:unitXMLList> - </si:realListXMLList> - </si:hybrid> - </dcc:quantity> - <dcc:quantity refType="basic_measuredValue"> - <dcc:name> - <dcc:content lang="de">Angezeigter Messwert Kalibriergegenstand</dcc:content> - <dcc:content lang="en">Indicated measured value probe</dcc:content> - </dcc:name> - <si:hybrid> - <si:realListXMLList> - <si:valueXMLList>306.32 373.21 448.36 523.31 593.07</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - </si:realListXMLList> - <si:realListXMLList> - <si:valueXMLList>33.17 100.06 175.21 250.16 319.92</si:valueXMLList> - <si:unitXMLList>\degreecelsius</si:unitXMLList> - </si:realListXMLList> - </si:hybrid> - </dcc:quantity> - <dcc:quantity refType="basic_measurementError"> - <dcc:name> - <dcc:content lang="de">Messabweichung</dcc:content> - <dcc:content lang="en">Measurement error</dcc:content> - </dcc:name> - <si:realListXMLList> - <si:valueXMLList>0.072 0.089 0.107 -0.009 -0.084</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - <si:expandedUncXMLList> - <si:uncertaintyXMLList>0.061</si:uncertaintyXMLList> - <si:coverageFactorXMLList>2</si:coverageFactorXMLList> - <si:coverageProbabilityXMLList>0.95</si:coverageProbabilityXMLList> - <si:distributionXMLList>normal</si:distributionXMLList> - </si:expandedUncXMLList> - </si:realListXMLList> - <dcc:measurementMetaData> - <dcc:metaData refType="basic_conformity"> - <dcc:declaration> - <dcc:name> - <dcc:content lang="de">Konformität</dcc:content> - <dcc:content lang="en">Conformity</dcc:content> - </dcc:name> - </dcc:declaration> - <dcc:conformityXMLList>pass</dcc:conformityXMLList> - <dcc:data> - <dcc:quantity refType="basic_acceptanceLimitLower"> - <dcc:name> - <dcc:content lang="de">Unteres Akzeptanzlimit</dcc:content> - <dcc:content lang="en">Lower acceptance limit</dcc:content> - </dcc:name> - <si:realListXMLList> - <si:valueXMLList>-0.23 -0.23 -0.23 -0.30 -0.30</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - </si:realListXMLList> - </dcc:quantity> - <dcc:quantity refType="basic_acceptanceLimitUpper"> - <dcc:name> - <dcc:content lang="de">Oberes Akzeptanzlimit</dcc:content> - <dcc:content lang="en">Upper acceptance limit</dcc:content> - </dcc:name> - <si:realListXMLList> - <si:valueXMLList>0.23 0.23 0.23 0.30 0.30</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - </si:realListXMLList> - </dcc:quantity> - </dcc:data> - </dcc:metaData> - </dcc:measurementMetaData> - </dcc:quantity> - </dcc:list> - </dcc:data> - </dcc:result> - </dcc:results> - </dcc:measurementResult> - </dcc:measurementResults> -</dcc:digitalCalibrationCertificate> diff --git a/tests/resources/GP_Temperature_v3.2.0_DCC.xml b/tests/resources/GP_Temperature_v3.2.0_DCC.xml deleted file mode 100644 index 203838f29573d72032f6bddaa8a2276562142c5b..0000000000000000000000000000000000000000 --- a/tests/resources/GP_Temperature_v3.2.0_DCC.xml +++ /dev/null @@ -1,548 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<dcc:digitalCalibrationCertificate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dcc="https://ptb.de/dcc" xmlns:si="https://ptb.de/si" xsi:schemaLocation="https://ptb.de/dcc https://ptb.de/dcc/v3.2.0/dcc.xsd" schemaVersion="3.2.0"> - <dcc:administrativeData> - <dcc:dccSoftware> - <dcc:software> - <dcc:name> - <dcc:content>Notepad++ (32-bit)</dcc:content> - </dcc:name> - <dcc:release>v 8.2</dcc:release> - <dcc:type>application</dcc:type> - <dcc:description> - <dcc:name> - <dcc:content>Open source text editor</dcc:content> - </dcc:name> - <dcc:content>https://notepad-plus-plus.org/downloads/</dcc:content> - </dcc:description> - </dcc:software> - </dcc:dccSoftware> - <dcc:refTypeDefinitions> - <dcc:refTypeDefinition> - <dcc:name> - <dcc:content>Cross-Community refType Definition</dcc:content> - </dcc:name> - <dcc:description> - <dcc:name> - <dcc:content>Description name ABC</dcc:content> - </dcc:name> - <dcc:content>Description ABC</dcc:content> - </dcc:description> - <dcc:namespace>basic</dcc:namespace> - <dcc:link>https://www.ptb.de/dcc/refType/basic/draft_basic.xml</dcc:link> - <dcc:release>0.1</dcc:release> - <dcc:value>Value ABC</dcc:value> - <dcc:procedure>Procedure ABC</dcc:procedure> - </dcc:refTypeDefinition> - </dcc:refTypeDefinitions> - <dcc:coreData> - <dcc:countryCodeISO3166_1>DE</dcc:countryCodeISO3166_1> - <dcc:usedLangCodeISO639_1>en</dcc:usedLangCodeISO639_1> - <dcc:usedLangCodeISO639_1>de</dcc:usedLangCodeISO639_1> - <dcc:mandatoryLangCodeISO639_1>en</dcc:mandatoryLangCodeISO639_1> - <dcc:uniqueIdentifier>GP_DCC_temperature_minimal_3.2.0_Complete</dcc:uniqueIdentifier> - <dcc:identifications> - <dcc:identification> - <dcc:issuer>calibrationLaboratory</dcc:issuer> - <dcc:value>string-calibrationLaboratory-coreData</dcc:value> - <dcc:name> - <dcc:content lang="de">Auftrags Nr.</dcc:content> - <dcc:content lang="en">Order no.</dcc:content> - </dcc:name> - </dcc:identification> - </dcc:identifications> - <dcc:receiptDate>1957-08-13</dcc:receiptDate> - <dcc:beginPerformanceDate>1957-08-13</dcc:beginPerformanceDate> - <dcc:endPerformanceDate>1957-08-13</dcc:endPerformanceDate> - <dcc:performanceLocation>laboratory</dcc:performanceLocation> - <dcc:issueDate>2022-12-31</dcc:issueDate> - <!-- TODO: dcc:previousReport --> - </dcc:coreData> - <dcc:items> - <dcc:item refType="test_items"> - <dcc:name> - <dcc:content lang="de">Temperatur-Fühler</dcc:content> - <dcc:content lang="en">Temperature sensor</dcc:content> - </dcc:name> - <dcc:manufacturer> - <dcc:name> - <dcc:content>String</dcc:content> - </dcc:name> - </dcc:manufacturer> - <dcc:model>String</dcc:model> - <dcc:identifications> - <dcc:identification> - <dcc:issuer>manufacturer</dcc:issuer> - <dcc:value>string-manufacturer-item</dcc:value> - <dcc:name> - <dcc:content lang="de">Serien Nr.</dcc:content> - <dcc:content lang="en">Serial no.</dcc:content> - </dcc:name> - </dcc:identification> - <dcc:identification> - <dcc:issuer>customer</dcc:issuer> - <dcc:value>string-customer-item</dcc:value> - <dcc:name> - <dcc:content lang="de">Messmittel Nr.</dcc:content> - <dcc:content lang="en">Measurement equipment no.</dcc:content> - </dcc:name> - </dcc:identification> - <dcc:identification> - <dcc:issuer>calibrationLaboratory</dcc:issuer> - <dcc:value>string-calibrationLaboratory-item</dcc:value> - <dcc:name> - <dcc:content lang="de">Equipment Nr.</dcc:content> - <dcc:content lang="en">Equipment no.</dcc:content> - </dcc:name> - </dcc:identification> - </dcc:identifications> - <dcc:itemQuantities> - <dcc:itemQuantity> - <dcc:name> - <dcc:content lang="de">Name der ItemQuantity</dcc:content> - <dcc:content lang="en">Name of the item quantity</dcc:content> - </dcc:name> - <dcc:description> - <dcc:content>Membrandurchmesser</dcc:content> - </dcc:description> - <si:real> - <si:value>0.05</si:value> - <si:unit>\metre</si:unit> - </si:real> - </dcc:itemQuantity> - <dcc:itemQuantity> - <dcc:description> - <dcc:content>Membranstärke</dcc:content> - </dcc:description> - <si:real> - <si:value>0.0003</si:value> - <si:unit>\metre</si:unit> - </si:real> - </dcc:itemQuantity> - </dcc:itemQuantities> - </dcc:item> - </dcc:items> - <dcc:calibrationLaboratory> - <dcc:contact> - <dcc:name> - <dcc:content>Kalibrierfirma GmbH</dcc:content> - </dcc:name> - <dcc:eMail>info@kalibrierfirma.xx</dcc:eMail> - <dcc:phone>+49 123 4567-89</dcc:phone> - <dcc:fax>+49 123 4567-90</dcc:fax> - <dcc:location> - <dcc:city>Musterstadt</dcc:city> - <dcc:countryCode>DE</dcc:countryCode> - <dcc:postCode>00900</dcc:postCode> - <dcc:street>Musterstraße</dcc:street> - <dcc:streetNo>1</dcc:streetNo> - <dcc:further> - <dcc:content>www.kalibrierfirma.xx</dcc:content> - </dcc:further> - </dcc:location> - </dcc:contact> - <dcc:cryptElectronicSeal>true</dcc:cryptElectronicSeal> - <dcc:cryptElectronicSignature>false</dcc:cryptElectronicSignature> - <dcc:cryptElectronicTimeStamp>true</dcc:cryptElectronicTimeStamp> - </dcc:calibrationLaboratory> - <dcc:respPersons> - <dcc:respPerson refType="test_respPerson"> - <dcc:person> - <dcc:name> - <dcc:content>Michaela Musterfrau</dcc:content> - </dcc:name> - </dcc:person> - <dcc:mainSigner>true</dcc:mainSigner> - </dcc:respPerson> - <dcc:respPerson> - <dcc:person> - <dcc:name> - <dcc:content>Michael Mustermann</dcc:content> - </dcc:name> - </dcc:person> - </dcc:respPerson> - </dcc:respPersons> - <dcc:customer> - <dcc:name> - <dcc:content>Kunde GmbH</dcc:content> - </dcc:name> - <dcc:eMail>info@kunde.xx</dcc:eMail> - <dcc:location> - <dcc:city>Musterstadt</dcc:city> - <dcc:countryCode>DE</dcc:countryCode> - <dcc:postCode>00900</dcc:postCode> - <dcc:further> - <dcc:content lang="de">Kunden Nr. 1024418</dcc:content> - <dcc:content lang="en">Customer ID no. 1024418</dcc:content> - </dcc:further> - </dcc:location> - </dcc:customer> - <dcc:statements> - <dcc:statement refType="basic_conformity"> - <dcc:name> - <dcc:content lang="de">Name der Konformitätsaussage</dcc:content> - <dcc:content lang="en">Name of conformity statement</dcc:content> - </dcc:name> - <dcc:description> - <dcc:content lang="de">Beschreibung der Konformitätsaussage</dcc:content> - <dcc:content lang="en">Description of conformity statement</dcc:content> - </dcc:description> - <dcc:declaration> - <dcc:content lang="de">Die Konformitätsaussage erfolgt anhand der Vorgaben des Kunden. Sie sind im DCC mit aufgeführt.</dcc:content> - <dcc:content lang="en">The conformity statement is made on the basis of the customer's specifications. They are listed in the DCC.</dcc:content> - </dcc:declaration> - <dcc:respAuthority> - <dcc:name> - <dcc:content>Kunde GmbH</dcc:content> - </dcc:name> - <dcc:eMail>info@kunde.xx</dcc:eMail> - <dcc:location> - <dcc:city>Musterstadt</dcc:city> - <dcc:countryCode>DE</dcc:countryCode> - <dcc:postCode>00900</dcc:postCode> - </dcc:location> - </dcc:respAuthority> - <dcc:conformity>pass</dcc:conformity> - <dcc:data> - <dcc:quantity> - <dcc:name> - <dcc:content lang="de">Übertragungskoeffizient Phasenverschiebung</dcc:content> - <dcc:content lang="en">Transmission coefficient phase shift</dcc:content> - </dcc:name> - <si:realListXMLList> - <si:valueXMLList>-0.02 -0.03 -0.02 -0.02 -0.01</si:valueXMLList> - <si:unitXMLList>\degree</si:unitXMLList> - <si:expandedUncXMLList> - <si:uncertaintyXMLList>0.3 0.3 0.3 0.3 0.3</si:uncertaintyXMLList> - <si:coverageFactorXMLList>2</si:coverageFactorXMLList> - <si:coverageProbabilityXMLList>0.95</si:coverageProbabilityXMLList> - <si:distributionXMLList>normal</si:distributionXMLList> - </si:expandedUncXMLList> - </si:realListXMLList> - <dcc:measurementMetaData> - <dcc:metaData> - <dcc:declaration> - <dcc:content lang="de">Kommentar ist gültig für den dritten und fünften Eintrag.</dcc:content> - <dcc:content lang="en">Comment is valid for the 3rd and 5th entry.</dcc:content> - </dcc:declaration> - <dcc:validXMLList>false false true false true</dcc:validXMLList> - </dcc:metaData> - <dcc:metaData> - <dcc:declaration> - <dcc:content lang="de">Kommentar ist gültig für den dritten Eintrag.</dcc:content> - <dcc:content lang="en">Comment is valid for the 3rd entry.</dcc:content> - </dcc:declaration> - <dcc:validXMLList>false false true false false</dcc:validXMLList> - </dcc:metaData> - </dcc:measurementMetaData> - </dcc:quantity> - </dcc:data> - </dcc:statement> - <dcc:statement refType="basic_recalibration"> - <dcc:declaration> - <dcc:content lang="de">Datum, wann nach der Festlegung durch den Kunden spätestens der Kalibriergegenstand rekalibriert werden soll:</dcc:content> - <dcc:content lang="en">Date when the calibration item is to be recalibrated at the latest according to the customer's specification:</dcc:content> - </dcc:declaration> - <dcc:date>1959-10-22</dcc:date> - <dcc:respAuthority> - <dcc:name> - <dcc:content>Kunde GmbH</dcc:content> - </dcc:name> - <dcc:eMail>info@kunde.xx</dcc:eMail> - <dcc:location> - <dcc:city>Musterstadt</dcc:city> - <dcc:countryCode>DE</dcc:countryCode> - <dcc:postCode>00900</dcc:postCode> - </dcc:location> - </dcc:respAuthority> - </dcc:statement> - </dcc:statements> - </dcc:administrativeData> - <dcc:measurementResults> - <dcc:measurementResult> - <dcc:name> - <dcc:content lang="de">Messergebnisse</dcc:content> - <dcc:content lang="en">Measurement results</dcc:content> - </dcc:name> - <dcc:usedMethods> - <dcc:usedMethod refType="gp_temperatureSensor"> - <dcc:name> - <dcc:content lang="de">Kalibrierung von Temperaturmessfühlern</dcc:content> - <dcc:content lang="en">Calibration of temperature sensors</dcc:content> - </dcc:name> - </dcc:usedMethod> - </dcc:usedMethods> - <dcc:measuringEquipments> - <dcc:measuringEquipment refType="basic_normalUsed"> - <dcc:name> - <dcc:content lang="de">Pt 100 Widerstandsthermometer</dcc:content> - <dcc:content lang="en">Pt 100 thermometer</dcc:content> - </dcc:name> - <dcc:identifications> - <dcc:identification> - <dcc:issuer>manufacturer</dcc:issuer> - <dcc:value>string-manufacturer-measuringEquipment-1</dcc:value> - </dcc:identification> - </dcc:identifications> - </dcc:measuringEquipment> - </dcc:measuringEquipments> - <dcc:influenceConditions> - <dcc:influenceCondition refType="basic_temperature"> - <dcc:name> - <dcc:content lang="de">Umgebungsbedingung Temperatur</dcc:content> - <dcc:content lang="en">Ambient condition temperature</dcc:content> - </dcc:name> - <dcc:description> - <dcc:content lang="de">Diese Werte wurden nicht gemessen, sondern wurden anhand der typischen Wetterbedingungen zu einer Jahreszeit angegeben. [^1]</dcc:content> - <dcc:content lang="en">These values were not measured, but were given based on typical weather conditions at a time of year. [^1]</dcc:content> - </dcc:description> - <dcc:data> - <dcc:quantity refType="basic_temperatureMin"> - <dcc:name> - <dcc:content lang="de">Temperatur min</dcc:content> - <dcc:content lang="en">temperature min</dcc:content> - </dcc:name> - <si:real> - <si:value>293</si:value> - <si:unit>\kelvin</si:unit> - </si:real> - </dcc:quantity> - <dcc:quantity refType="basic_temperatureMax"> - <dcc:name> - <dcc:content lang="de">Temperatur max</dcc:content> - <dcc:content lang="en">temperature max</dcc:content> - </dcc:name> - <si:real> - <si:value>299</si:value> - <si:unit>\kelvin</si:unit> - </si:real> - </dcc:quantity> - </dcc:data> - </dcc:influenceCondition> - <dcc:influenceCondition refType="basic_humidityRelative"> - <dcc:name> - <dcc:content lang="de">Umgebungsbedingung relative Luftfeuchte</dcc:content> - <dcc:content lang="en">Ambient condition relative humidity</dcc:content> - </dcc:name> - <dcc:description> - <dcc:content lang="de">Diese Werte wurden nicht gemessen, sondern wurden anhand der typischen Wetterbedingungen zu einer Jahreszeit angegeben. [^1]</dcc:content> - <dcc:content lang="en">These values were not measured, but were given based on typical weather conditions at a time of year. [^1]</dcc:content> - </dcc:description> - <dcc:data> - <dcc:quantity refType="basic_humidityRelativeMin"> - <dcc:name> - <dcc:content lang="de">Feuchte min</dcc:content> - <dcc:content lang="en">humidity min</dcc:content> - </dcc:name> - <si:real> - <si:value>0.20</si:value> - <si:unit>\one</si:unit> - </si:real> - </dcc:quantity> - <dcc:quantity refType="basic_humidityRelativeMax"> - <dcc:name> - <dcc:content lang="de">Feuchte max</dcc:content> - <dcc:content lang="en">humidity max</dcc:content> - </dcc:name> - <si:real> - <si:value>0.70</si:value> - <si:unit>\one</si:unit> - </si:real> - </dcc:quantity> - </dcc:data> - </dcc:influenceCondition> - </dcc:influenceConditions> - <dcc:results> - <dcc:result refType="gp_measuringResult1"> - <dcc:name> - <dcc:content lang="de">Messergebnisse</dcc:content> - <dcc:content lang="en">Measuring results</dcc:content> - </dcc:name> - <dcc:data> - <dcc:list refType="gp_table1"> - <dcc:quantity refType="basic_referenceValue"> - <dcc:name> - <dcc:content lang="de">Bezugswert</dcc:content> - <dcc:content lang="en">Reference value</dcc:content> - </dcc:name> - <si:hybrid> - <si:realListXMLList> - <si:valueXMLList>306.248 373.121 448.253 523.319 593.154</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - </si:realListXMLList> - <si:realListXMLList> - <si:valueXMLList>33.098 99.971 175.103 250.169 320.004</si:valueXMLList> - <si:unitXMLList>\degreecelsius</si:unitXMLList> - </si:realListXMLList> - </si:hybrid> - </dcc:quantity> - <dcc:quantity refType="basic_measuredValue"> - <dcc:name> - <dcc:content lang="de">Angezeigter Messwert Kalibriergegenstand</dcc:content> - <dcc:content lang="en">Indicated measured value probe</dcc:content> - </dcc:name> - <si:hybrid> - <si:realListXMLList> - <si:valueXMLList>306.32 373.21 448.36 523.31 593.07</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - </si:realListXMLList> - <si:realListXMLList> - <si:valueXMLList>33.17 100.06 175.21 250.16 319.92</si:valueXMLList> - <si:unitXMLList>\degreecelsius</si:unitXMLList> - </si:realListXMLList> - </si:hybrid> - </dcc:quantity> - <dcc:quantity refType="basic_measurementError"> - <dcc:name> - <dcc:content lang="de">Messabweichung</dcc:content> - <dcc:content lang="en">Measurement error</dcc:content> - </dcc:name> - <si:realListXMLList> - <si:valueXMLList>0.072 0.089 0.107 -0.009 -0.084</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - <si:expandedUncXMLList> - <si:uncertaintyXMLList>0.061</si:uncertaintyXMLList> - <si:coverageFactorXMLList>2</si:coverageFactorXMLList> - <si:coverageProbabilityXMLList>0.95</si:coverageProbabilityXMLList> - <si:distributionXMLList>normal</si:distributionXMLList> - </si:expandedUncXMLList> - </si:realListXMLList> - <dcc:measurementMetaData> - <dcc:metaData refType="basic_conformity"> - <dcc:name> - <dcc:content lang="de">Metadaten 1</dcc:content> - <dcc:content lang="en">Meta data 1</dcc:content> - </dcc:name> - <dcc:description> - <dcc:content lang="de">Beschreibung der Metadaten 1</dcc:content> - <dcc:content lang="en">Description of Meta data 1</dcc:content> - </dcc:description> - <dcc:declaration> - <dcc:name> - <dcc:content lang="de">Konformität</dcc:content> - <dcc:content lang="en">Conformity</dcc:content> - </dcc:name> - </dcc:declaration> - <dcc:conformityXMLList>pass</dcc:conformityXMLList> - <dcc:data> - <dcc:quantity refType="basic_acceptanceLimitLower"> - <dcc:name> - <dcc:content lang="de">Unteres Akzeptanzlimit</dcc:content> - <dcc:content lang="en">Lower acceptance limit</dcc:content> - </dcc:name> - <si:realListXMLList> - <si:valueXMLList>-0.23 -0.23 -0.23 -0.30 -0.30</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - </si:realListXMLList> - </dcc:quantity> - <dcc:quantity refType="basic_acceptanceLimitUpper"> - <dcc:name> - <dcc:content lang="de">Oberes Akzeptanzlimit</dcc:content> - <dcc:content lang="en">Upper acceptance limit</dcc:content> - </dcc:name> - <si:realListXMLList> - <si:valueXMLList>0.23 0.23 0.23 0.30 0.30</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - </si:realListXMLList> - </dcc:quantity> - </dcc:data> - </dcc:metaData> - </dcc:measurementMetaData> - </dcc:quantity> - </dcc:list> - <dcc:quantity refType="test_noQuantity"> - <dcc:noQuantity> - <dcc:name> - <dcc:content>Example name</dcc:content> - </dcc:name> - <dcc:content>Example text</dcc:content> - <dcc:file refType="examplePicture"> - <dcc:fileName>examplePicture.png</dcc:fileName> - <dcc:mimeType>image/png</dcc:mimeType> - <dcc:dataBase64>iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAEDmlDQ1BrQ0dDb2xvclNwYWNlR2VuZXJpY1JHQgAAOI2NVV1oHFUUPpu5syskzoPUpqaSDv41lLRsUtGE2uj+ZbNt3CyTbLRBkMns3Z1pJjPj/KRpKT4UQRDBqOCT4P9bwSchaqvtiy2itFCiBIMo+ND6R6HSFwnruTOzu5O4a73L3PnmnO9+595z7t4LkLgsW5beJQIsGq4t5dPis8fmxMQ6dMF90A190C0rjpUqlSYBG+PCv9rt7yDG3tf2t/f/Z+uuUEcBiN2F2Kw4yiLiZQD+FcWyXYAEQfvICddi+AnEO2ycIOISw7UAVxieD/Cyz5mRMohfRSwoqoz+xNuIB+cj9loEB3Pw2448NaitKSLLRck2q5pOI9O9g/t/tkXda8Tbg0+PszB9FN8DuPaXKnKW4YcQn1Xk3HSIry5ps8UQ/2W5aQnxIwBdu7yFcgrxPsRjVXu8HOh0qao30cArp9SZZxDfg3h1wTzKxu5E/LUxX5wKdX5SnAzmDx4A4OIqLbB69yMesE1pKojLjVdoNsfyiPi45hZmAn3uLWdpOtfQOaVmikEs7ovj8hFWpz7EV6mel0L9Xy23FMYlPYZenAx0yDB1/PX6dledmQjikjkXCxqMJS9WtfFCyH9XtSekEF+2dH+P4tzITduTygGfv58a5VCTH5PtXD7EFZiNyUDBhHnsFTBgE0SQIA9pfFtgo6cKGuhooeilaKH41eDs38Ip+f4At1Rq/sjr6NEwQqb/I/DQqsLvaFUjvAx+eWirddAJZnAj1DFJL0mSg/gcIpPkMBkhoyCSJ8lTZIxk0TpKDjXHliJzZPO50dR5ASNSnzeLvIvod0HG/mdkmOC0z8VKnzcQ2M/Yz2vKldduXjp9bleLu0ZWn7vWc+l0JGcaai10yNrUnXLP/8Jf59ewX+c3Wgz+B34Df+vbVrc16zTMVgp9um9bxEfzPU5kPqUtVWxhs6OiWTVW+gIfywB9uXi7CGcGW/zk98k/kmvJ95IfJn/j3uQ+4c5zn3Kfcd+AyF3gLnJfcl9xH3OfR2rUee80a+6vo7EK5mmXUdyfQlrYLTwoZIU9wsPCZEtP6BWGhAlhL3p2N6sTjRdduwbHsG9kq32sgBepc+xurLPW4T9URpYGJ3ym4+8zA05u44QjST8ZIoVtu3qE7fWmdn5LPdqvgcZz8Ww8BWJ8X3w0PhQ/wnCDGd+LvlHs8dRy6bLLDuKMaZ20tZrqisPJ5ONiCq8yKhYM5cCgKOu66Lsc0aYOtZdo5QCwezI4wm9J/v0X23mlZXOfBjj8Jzv3WrY5D+CsA9D7aMs2gGfjve8ArD6mePZSeCfEYt8CONWDw8FXTxrPqx/r9Vt4biXeANh8vV7/+/16ffMD1N8AuKD/A/8leAvFY9bLAAAAOGVYSWZNTQAqAAAACAABh2kABAAAAAEAAAAaAAAAAAACoAIABAAAAAEAAAAUoAMABAAAAAEAAAAUAAAAAJEV0scAAAAtSURBVDgRY2RgYPgPxFQDTFQzCWrQqIGUh+hoGI6GIRkhMJpsyAg0NC0jMAwBzu4BJ2FWhpgAAAAASUVORK5CYII=</dcc:dataBase64> - </dcc:file> - <dcc:formula> - <dcc:latex>E = mc^2</dcc:latex> - </dcc:formula> - </dcc:noQuantity> - </dcc:quantity> - <dcc:quantity refType="test_charsXMLList"> - <dcc:charsXMLList>A B C D E F</dcc:charsXMLList> - </dcc:quantity> - <dcc:quantity refType="test_constant"> - <si:constant> - <si:label>exampleLabel</si:label> - <si:value>306.248</si:value> - <si:unit>\kelvin</si:unit> - <si:dateTime>1111-11-11T11:11:11</si:dateTime> - </si:constant> - </dcc:quantity> - <dcc:quantity refType="test_real"> - <si:real> - <si:label>exampleLabel</si:label> - <si:value>306.248</si:value> - <si:unit>\kelvin</si:unit> - <si:dateTime>1111-11-11T11:11:11</si:dateTime> - </si:real> - </dcc:quantity> - <dcc:quantity refType="test_realListXMLList"> - <si:realListXMLList> - <si:labelXMLList>exampleLabel</si:labelXMLList> - <si:valueXMLList>306.248 373.121 448.253 523.319 593.154</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - <si:dateTimeXMLList>1111-11-11T11:11:11 1111-11-11T11:11:12 1111-11-11T11:11:13 1111-11-11T11:11:14 1111-11-11T11:11:15</si:dateTimeXMLList> - </si:realListXMLList> - </dcc:quantity> - <dcc:quantity refType="test_hybridConstant"> - <si:hybrid> - <si:constant> - <si:label>exampleLabel</si:label> - <si:value>306.248</si:value> - <si:unit>\kelvin</si:unit> - <si:dateTime>1111-11-11T11:11:11</si:dateTime> - </si:constant> - <si:constant> - <si:label>exampleLabel</si:label> - <si:value>33.098</si:value> - <si:unit>\degreecelsius</si:unit> - <si:dateTime>1111-11-11T11:11:11</si:dateTime> - </si:constant> - </si:hybrid> - </dcc:quantity> - <dcc:quantity refType="test_hybridReal"> - <si:hybrid> - <si:real> - <si:label>exampleLabel</si:label> - <si:value>306.248</si:value> - <si:unit>\kelvin</si:unit> - <si:dateTime>1111-11-11T11:11:11</si:dateTime> - </si:real> - <si:real> - <si:label>exampleLabel</si:label> - <si:value>33.098</si:value> - <si:unit>\degreecelsius</si:unit> - <si:dateTime>1111-11-11T11:11:11</si:dateTime> - </si:real> - </si:hybrid> - </dcc:quantity> - <dcc:quantity refType="test_hybridRealListXMLList"> - <si:hybrid> - <si:realListXMLList> - <si:labelXMLList>exampleLabel</si:labelXMLList> - <si:valueXMLList>306.248 373.121 448.253 523.319 593.154</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - <si:dateTimeXMLList>1111-11-11T11:11:11 1111-11-11T11:11:12 1111-11-11T11:11:13 1111-11-11T11:11:14 1111-11-11T11:11:15</si:dateTimeXMLList> - </si:realListXMLList> - <si:realListXMLList> - <si:labelXMLList>exampleLabel</si:labelXMLList> - <si:valueXMLList>33.098 99.971 175.103 250.169 320.004</si:valueXMLList> - <si:unitXMLList>\degreecelsius</si:unitXMLList> - <si:dateTimeXMLList>1111-11-11T11:11:11 1111-11-11T11:11:12 1111-11-11T11:11:13 1111-11-11T11:11:14 1111-11-11T11:11:15</si:dateTimeXMLList> - </si:realListXMLList> - </si:hybrid> - </dcc:quantity> - </dcc:data> - </dcc:result> - </dcc:results> - </dcc:measurementResult> - </dcc:measurementResults> -</dcc:digitalCalibrationCertificate> \ No newline at end of file diff --git a/tests/resources/GP_Temperature_v3.2.1_DCC.xml b/tests/resources/GP_Temperature_v3.2.1_DCC.xml deleted file mode 100644 index 29db7ff3243471fbd9f06126154eeaca36b737de..0000000000000000000000000000000000000000 --- a/tests/resources/GP_Temperature_v3.2.1_DCC.xml +++ /dev/null @@ -1,552 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<dcc:digitalCalibrationCertificate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dcc="https://ptb.de/dcc" xmlns:si="https://ptb.de/si" xsi:schemaLocation="https://ptb.de/dcc https://ptb.de/dcc/v3.2.1/dcc.xsd" schemaVersion="3.2.1"> - <dcc:administrativeData> - <dcc:dccSoftware> - <dcc:software> - <dcc:name> - <dcc:content>Notepad++ (32-bit)</dcc:content> - </dcc:name> - <dcc:release>v 8.2</dcc:release> - <dcc:type>application</dcc:type> - <dcc:description> - <dcc:name> - <dcc:content>Open source text editor</dcc:content> - </dcc:name> - <dcc:content>https://notepad-plus-plus.org/downloads/</dcc:content> - </dcc:description> - </dcc:software> - </dcc:dccSoftware> - <dcc:refTypeDefinitions> - <dcc:refTypeDefinition> - <dcc:name> - <dcc:content>Cross-Community refType Definition</dcc:content> - </dcc:name> - <dcc:description> - <dcc:name> - <dcc:content>Description name ABC</dcc:content> - </dcc:name> - <dcc:content>Description ABC</dcc:content> - </dcc:description> - <dcc:namespace>basic</dcc:namespace> - <dcc:link>https://www.ptb.de/dcc/refType/basic/draft_basic.xml</dcc:link> - <dcc:release>0.1</dcc:release> - <dcc:value>Value ABC</dcc:value> - <dcc:procedure>Procedure ABC</dcc:procedure> - </dcc:refTypeDefinition> - </dcc:refTypeDefinitions> - <dcc:coreData> - <dcc:countryCodeISO3166_1>DE</dcc:countryCodeISO3166_1> - <dcc:usedLangCodeISO639_1>en</dcc:usedLangCodeISO639_1> - <dcc:usedLangCodeISO639_1>de</dcc:usedLangCodeISO639_1> - <dcc:mandatoryLangCodeISO639_1>en</dcc:mandatoryLangCodeISO639_1> - <dcc:uniqueIdentifier>GP_DCC_temperature_minimal_1.1_Complete</dcc:uniqueIdentifier> - <dcc:identifications> - <dcc:identification> - <dcc:issuer>calibrationLaboratory</dcc:issuer> - <dcc:value>string-calibrationLaboratory-coreData</dcc:value> - <dcc:name> - <dcc:content lang="de">Auftrags Nr.</dcc:content> - <dcc:content lang="en">Order no.</dcc:content> - </dcc:name> - </dcc:identification> - </dcc:identifications> - <dcc:receiptDate>1957-08-13</dcc:receiptDate> - <dcc:beginPerformanceDate>1957-08-13</dcc:beginPerformanceDate> - <dcc:endPerformanceDate>1957-08-13</dcc:endPerformanceDate> - <dcc:performanceLocation>laboratory</dcc:performanceLocation> - <dcc:issueDate>2022-12-31</dcc:issueDate> - <dcc:reportAmendedSubstituted id="R2D2" refType="test_reportAmendedSubstituted"> <!-- TODO: refType und id hinzufügen --> - <dcc:typeOfChange>amended</dcc:typeOfChange> - <dcc:replacedUniqueIdentifier>GP_DCC_temperature_minimal_3.2.0_Complete</dcc:replacedUniqueIdentifier> - </dcc:reportAmendedSubstituted> - <!-- TODO: dcc:previousReport --> - </dcc:coreData> - <dcc:items> - <dcc:manufacturer> - <dcc:name> - <dcc:content>Cyberdyne Systems</dcc:content> - </dcc:name> - </dcc:manufacturer> - <dcc:item refType="test_items"> - <dcc:name> - <dcc:content lang="de">Temperatur-Fühler</dcc:content> - <dcc:content lang="en">Temperature sensor</dcc:content> - </dcc:name> - <dcc:model>String</dcc:model> - <dcc:identifications> - <dcc:identification> - <dcc:issuer>manufacturer</dcc:issuer> - <dcc:value>string-manufacturer-item</dcc:value> - <dcc:name> - <dcc:content lang="de">Serien Nr.</dcc:content> - <dcc:content lang="en">Serial no.</dcc:content> - </dcc:name> - </dcc:identification> - <dcc:identification> - <dcc:issuer>customer</dcc:issuer> - <dcc:value>string-customer-item</dcc:value> - <dcc:name> - <dcc:content lang="de">Messmittel Nr.</dcc:content> - <dcc:content lang="en">Measurement equipment no.</dcc:content> - </dcc:name> - </dcc:identification> - <dcc:identification> - <dcc:issuer>calibrationLaboratory</dcc:issuer> - <dcc:value>string-calibrationLaboratory-item</dcc:value> - <dcc:name> - <dcc:content lang="de">Equipment Nr.</dcc:content> - <dcc:content lang="en">Equipment no.</dcc:content> - </dcc:name> - </dcc:identification> - </dcc:identifications> - <dcc:itemQuantities> - <dcc:itemQuantity> - <dcc:name> - <dcc:content lang="de">Name der ItemQuantity</dcc:content> - <dcc:content lang="en">Name of the item quantity</dcc:content> - </dcc:name> - <dcc:description> - <dcc:content>Membrandurchmesser</dcc:content> - </dcc:description> - <si:real> - <si:value>0.05</si:value> - <si:unit>\metre</si:unit> - </si:real> - </dcc:itemQuantity> - <dcc:itemQuantity> - <dcc:description> - <dcc:content>Membranstärke</dcc:content> - </dcc:description> - <si:real> - <si:value>0.0003</si:value> - <si:unit>\metre</si:unit> - </si:real> - </dcc:itemQuantity> - </dcc:itemQuantities> - </dcc:item> - </dcc:items> - <dcc:calibrationLaboratory> - <dcc:contact> - <dcc:name> - <dcc:content>Kalibrierfirma GmbH</dcc:content> - </dcc:name> - <dcc:eMail>info@kalibrierfirma.xx</dcc:eMail> - <dcc:phone>+49 123 4567-89</dcc:phone> - <dcc:fax>+49 123 4567-90</dcc:fax> - <dcc:location> - <dcc:city>Musterstadt</dcc:city> - <dcc:countryCode>DE</dcc:countryCode> - <dcc:postCode>00900</dcc:postCode> - <dcc:street>Musterstraße</dcc:street> - <dcc:streetNo>1</dcc:streetNo> - <dcc:further> - <dcc:content>www.kalibrierfirma.xx</dcc:content> - </dcc:further> - </dcc:location> - </dcc:contact> - <dcc:cryptElectronicSeal>true</dcc:cryptElectronicSeal> - <dcc:cryptElectronicSignature>false</dcc:cryptElectronicSignature> - <dcc:cryptElectronicTimeStamp>true</dcc:cryptElectronicTimeStamp> - </dcc:calibrationLaboratory> - <dcc:respPersons> - <dcc:respPerson refType="test_respPerson"> - <dcc:person> - <dcc:name> - <dcc:content>Michaela Musterfrau</dcc:content> - </dcc:name> - </dcc:person> - <dcc:mainSigner>true</dcc:mainSigner> - </dcc:respPerson> - <dcc:respPerson> - <dcc:person> - <dcc:name> - <dcc:content>Michael Mustermann</dcc:content> - </dcc:name> - </dcc:person> - </dcc:respPerson> - </dcc:respPersons> - <dcc:customer> - <dcc:name> - <dcc:content>Kunde GmbH</dcc:content> - </dcc:name> - <dcc:eMail>info@kunde.xx</dcc:eMail> - <dcc:location> - <dcc:city>Musterstadt</dcc:city> - <dcc:countryCode>DE</dcc:countryCode> - <dcc:postCode>00900</dcc:postCode> - <dcc:further> - <dcc:content lang="de">Kunden Nr. 1024418</dcc:content> - <dcc:content lang="en">Customer ID no. 1024418</dcc:content> - </dcc:further> - </dcc:location> - </dcc:customer> - <dcc:statements> - <dcc:statement refType="basic_conformity"> - <dcc:name> - <dcc:content lang="de">Name der Konformitätsaussage</dcc:content> - <dcc:content lang="en">Name of conformity statement</dcc:content> - </dcc:name> - <dcc:description> - <dcc:content lang="de">Beschreibung der Konformitätsaussage</dcc:content> - <dcc:content lang="en">Description of conformity statement</dcc:content> - </dcc:description> - <dcc:declaration> - <dcc:content lang="de">Die Konformitätsaussage erfolgt anhand der Vorgaben des Kunden. Sie sind im DCC mit aufgeführt.</dcc:content> - <dcc:content lang="en">The conformity statement is made on the basis of the customer's specifications. They are listed in the DCC.</dcc:content> - </dcc:declaration> - <dcc:respAuthority> - <dcc:name> - <dcc:content>Kunde GmbH</dcc:content> - </dcc:name> - <dcc:eMail>info@kunde.xx</dcc:eMail> - <dcc:location> - <dcc:city>Musterstadt</dcc:city> - <dcc:countryCode>DE</dcc:countryCode> - <dcc:postCode>00900</dcc:postCode> - </dcc:location> - </dcc:respAuthority> - <dcc:conformity>pass</dcc:conformity> - <dcc:data> - <dcc:quantity> - <dcc:name> - <dcc:content lang="de">Übertragungskoeffizient Phasenverschiebung</dcc:content> - <dcc:content lang="en">Transmission coefficient phase shift</dcc:content> - </dcc:name> - <si:realListXMLList> - <si:valueXMLList>-0.02 -0.03 -0.02 -0.02 -0.01</si:valueXMLList> - <si:unitXMLList>\degree</si:unitXMLList> - <si:expandedUncXMLList> - <si:uncertaintyXMLList>0.3 0.3 0.3 0.3 0.3</si:uncertaintyXMLList> - <si:coverageFactorXMLList>2</si:coverageFactorXMLList> - <si:coverageProbabilityXMLList>0.95</si:coverageProbabilityXMLList> - <si:distributionXMLList>normal</si:distributionXMLList> - </si:expandedUncXMLList> - </si:realListXMLList> - <dcc:measurementMetaData> - <dcc:metaData> - <dcc:declaration> - <dcc:content lang="de">Kommentar ist gültig für den dritten und fünften Eintrag.</dcc:content> - <dcc:content lang="en">Comment is valid for the 3rd and 5th entry.</dcc:content> - </dcc:declaration> - <dcc:validXMLList>false false true false true</dcc:validXMLList> - </dcc:metaData> - <dcc:metaData> - <dcc:declaration> - <dcc:content lang="de">Kommentar ist gültig für den dritten Eintrag.</dcc:content> - <dcc:content lang="en">Comment is valid for the 3rd entry.</dcc:content> - </dcc:declaration> - <dcc:validXMLList>false false true false false</dcc:validXMLList> - </dcc:metaData> - </dcc:measurementMetaData> - </dcc:quantity> - </dcc:data> - </dcc:statement> - <dcc:statement refType="basic_recalibration"> - <dcc:declaration> - <dcc:content lang="de">Datum, wann nach der Festlegung durch den Kunden spätestens der Kalibriergegenstand rekalibriert werden soll:</dcc:content> - <dcc:content lang="en">Date when the calibration item is to be recalibrated at the latest according to the customer's specification:</dcc:content> - </dcc:declaration> - <dcc:date>1959-10-22</dcc:date> - <dcc:respAuthority> - <dcc:name> - <dcc:content>Kunde GmbH</dcc:content> - </dcc:name> - <dcc:eMail>info@kunde.xx</dcc:eMail> - <dcc:location> - <dcc:city>Musterstadt</dcc:city> - <dcc:countryCode>DE</dcc:countryCode> - <dcc:postCode>00900</dcc:postCode> - </dcc:location> - </dcc:respAuthority> - </dcc:statement> - </dcc:statements> - </dcc:administrativeData> - <dcc:measurementResults> - <dcc:measurementResult> - <dcc:name> - <dcc:content lang="de">Messergebnisse</dcc:content> - <dcc:content lang="en">Measurement results</dcc:content> - </dcc:name> - <dcc:usedMethods> - <dcc:usedMethod refType="gp_temperatureSensor"> - <dcc:name> - <dcc:content lang="de">Kalibrierung von Temperaturmessfühlern</dcc:content> - <dcc:content lang="en">Calibration of temperature sensors</dcc:content> - </dcc:name> - </dcc:usedMethod> - </dcc:usedMethods> - <dcc:measuringEquipments> - <dcc:measuringEquipment refType="basic_normalUsed"> - <dcc:name> - <dcc:content lang="de">Pt 100 Widerstandsthermometer</dcc:content> - <dcc:content lang="en">Pt 100 thermometer</dcc:content> - </dcc:name> - <dcc:identifications> - <dcc:identification> - <dcc:issuer>manufacturer</dcc:issuer> - <dcc:value>string-manufacturer-measuringEquipment-1</dcc:value> - </dcc:identification> - </dcc:identifications> - </dcc:measuringEquipment> - </dcc:measuringEquipments> - <dcc:influenceConditions> - <dcc:influenceCondition refType="basic_temperature"> - <dcc:name> - <dcc:content lang="de">Umgebungsbedingung Temperatur</dcc:content> - <dcc:content lang="en">Ambient condition temperature</dcc:content> - </dcc:name> - <dcc:description> - <dcc:content lang="de">Diese Werte wurden nicht gemessen, sondern wurden anhand der typischen Wetterbedingungen zu einer Jahreszeit angegeben. [^1]</dcc:content> - <dcc:content lang="en">These values were not measured, but were given based on typical weather conditions at a time of year. [^1]</dcc:content> - </dcc:description> - <dcc:data> - <dcc:quantity refType="basic_temperatureMin"> - <dcc:name> - <dcc:content lang="de">Temperatur min</dcc:content> - <dcc:content lang="en">temperature min</dcc:content> - </dcc:name> - <si:real> - <si:value>293</si:value> - <si:unit>\kelvin</si:unit> - </si:real> - </dcc:quantity> - <dcc:quantity refType="basic_temperatureMax"> - <dcc:name> - <dcc:content lang="de">Temperatur max</dcc:content> - <dcc:content lang="en">temperature max</dcc:content> - </dcc:name> - <si:real> - <si:value>299</si:value> - <si:unit>\kelvin</si:unit> - </si:real> - </dcc:quantity> - </dcc:data> - </dcc:influenceCondition> - <dcc:influenceCondition refType="basic_humidityRelative"> - <dcc:name> - <dcc:content lang="de">Umgebungsbedingung relative Luftfeuchte</dcc:content> - <dcc:content lang="en">Ambient condition relative humidity</dcc:content> - </dcc:name> - <dcc:description> - <dcc:content lang="de">Diese Werte wurden nicht gemessen, sondern wurden anhand der typischen Wetterbedingungen zu einer Jahreszeit angegeben. [^1]</dcc:content> - <dcc:content lang="en">These values were not measured, but were given based on typical weather conditions at a time of year. [^1]</dcc:content> - </dcc:description> - <dcc:data> - <dcc:quantity refType="basic_humidityRelativeMin"> - <dcc:name> - <dcc:content lang="de">Feuchte min</dcc:content> - <dcc:content lang="en">humidity min</dcc:content> - </dcc:name> - <si:real> - <si:value>0.20</si:value> - <si:unit>\one</si:unit> - </si:real> - </dcc:quantity> - <dcc:quantity refType="basic_humidityRelativeMax"> - <dcc:name> - <dcc:content lang="de">Feuchte max</dcc:content> - <dcc:content lang="en">humidity max</dcc:content> - </dcc:name> - <si:real> - <si:value>0.70</si:value> - <si:unit>\one</si:unit> - </si:real> - </dcc:quantity> - </dcc:data> - </dcc:influenceCondition> - </dcc:influenceConditions> - <dcc:results> - <dcc:result refType="gp_measuringResult1"> - <dcc:name> - <dcc:content lang="de">Messergebnisse</dcc:content> - <dcc:content lang="en">Measuring results</dcc:content> - </dcc:name> - <dcc:data> - <dcc:list refType="gp_table1"> - <dcc:quantity refType="basic_referenceValue"> - <dcc:name> - <dcc:content lang="de">Bezugswert</dcc:content> - <dcc:content lang="en">Reference value</dcc:content> - </dcc:name> - <si:hybrid> - <si:realListXMLList> - <si:valueXMLList>306.248 373.121 448.253 523.319 593.154</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - </si:realListXMLList> - <si:realListXMLList> - <si:valueXMLList>33.098 99.971 175.103 250.169 320.004</si:valueXMLList> - <si:unitXMLList>\degreecelsius</si:unitXMLList> - </si:realListXMLList> - </si:hybrid> - </dcc:quantity> - <dcc:quantity refType="basic_measuredValue"> - <dcc:name> - <dcc:content lang="de">Angezeigter Messwert Kalibriergegenstand</dcc:content> - <dcc:content lang="en">Indicated measured value probe</dcc:content> - </dcc:name> - <si:hybrid> - <si:realListXMLList> - <si:valueXMLList>306.32 373.21 448.36 523.31 593.07</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - </si:realListXMLList> - <si:realListXMLList> - <si:valueXMLList>33.17 100.06 175.21 250.16 319.92</si:valueXMLList> - <si:unitXMLList>\degreecelsius</si:unitXMLList> - </si:realListXMLList> - </si:hybrid> - </dcc:quantity> - <dcc:quantity refType="basic_measurementError"> - <dcc:name> - <dcc:content lang="de">Messabweichung</dcc:content> - <dcc:content lang="en">Measurement error</dcc:content> - </dcc:name> - <si:realListXMLList> - <si:valueXMLList>0.072 0.089 0.107 -0.009 -0.084</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - <si:expandedUncXMLList> - <si:uncertaintyXMLList>0.061</si:uncertaintyXMLList> - <si:coverageFactorXMLList>2</si:coverageFactorXMLList> - <si:coverageProbabilityXMLList>0.95</si:coverageProbabilityXMLList> - <si:distributionXMLList>normal</si:distributionXMLList> - </si:expandedUncXMLList> - </si:realListXMLList> - <dcc:measurementMetaData> - <dcc:metaData refType="basic_conformity"> - <dcc:name> - <dcc:content lang="de">Metadaten 1</dcc:content> - <dcc:content lang="en">Meta data 1</dcc:content> - </dcc:name> - <dcc:description> - <dcc:content lang="de">Beschreibung der Metadaten 1</dcc:content> - <dcc:content lang="en">Description of Meta data 1</dcc:content> - </dcc:description> - <dcc:declaration> - <dcc:name> - <dcc:content lang="de">Konformität</dcc:content> - <dcc:content lang="en">Conformity</dcc:content> - </dcc:name> - </dcc:declaration> - <dcc:conformityXMLList>pass</dcc:conformityXMLList> - <dcc:data> - <dcc:quantity refType="basic_acceptanceLimitLower"> - <dcc:name> - <dcc:content lang="de">Unteres Akzeptanzlimit</dcc:content> - <dcc:content lang="en">Lower acceptance limit</dcc:content> - </dcc:name> - <si:realListXMLList> - <si:valueXMLList>-0.23 -0.23 -0.23 -0.30 -0.30</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - </si:realListXMLList> - </dcc:quantity> - <dcc:quantity refType="basic_acceptanceLimitUpper"> - <dcc:name> - <dcc:content lang="de">Oberes Akzeptanzlimit</dcc:content> - <dcc:content lang="en">Upper acceptance limit</dcc:content> - </dcc:name> - <si:realListXMLList> - <si:valueXMLList>0.23 0.23 0.23 0.30 0.30</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - </si:realListXMLList> - </dcc:quantity> - </dcc:data> - </dcc:metaData> - </dcc:measurementMetaData> - </dcc:quantity> - </dcc:list> - <dcc:quantity refType="test_noQuantity"> - <dcc:noQuantity> - <dcc:name> - <dcc:content>Example name</dcc:content> - </dcc:name> - <dcc:content>Example text</dcc:content> - <dcc:file refType="examplePicture"> - <dcc:fileName>examplePicture.png</dcc:fileName> - <dcc:mimeType>image/png</dcc:mimeType> - <dcc:dataBase64>iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAEDmlDQ1BrQ0dDb2xvclNwYWNlR2VuZXJpY1JHQgAAOI2NVV1oHFUUPpu5syskzoPUpqaSDv41lLRsUtGE2uj+ZbNt3CyTbLRBkMns3Z1pJjPj/KRpKT4UQRDBqOCT4P9bwSchaqvtiy2itFCiBIMo+ND6R6HSFwnruTOzu5O4a73L3PnmnO9+595z7t4LkLgsW5beJQIsGq4t5dPis8fmxMQ6dMF90A190C0rjpUqlSYBG+PCv9rt7yDG3tf2t/f/Z+uuUEcBiN2F2Kw4yiLiZQD+FcWyXYAEQfvICddi+AnEO2ycIOISw7UAVxieD/Cyz5mRMohfRSwoqoz+xNuIB+cj9loEB3Pw2448NaitKSLLRck2q5pOI9O9g/t/tkXda8Tbg0+PszB9FN8DuPaXKnKW4YcQn1Xk3HSIry5ps8UQ/2W5aQnxIwBdu7yFcgrxPsRjVXu8HOh0qao30cArp9SZZxDfg3h1wTzKxu5E/LUxX5wKdX5SnAzmDx4A4OIqLbB69yMesE1pKojLjVdoNsfyiPi45hZmAn3uLWdpOtfQOaVmikEs7ovj8hFWpz7EV6mel0L9Xy23FMYlPYZenAx0yDB1/PX6dledmQjikjkXCxqMJS9WtfFCyH9XtSekEF+2dH+P4tzITduTygGfv58a5VCTH5PtXD7EFZiNyUDBhHnsFTBgE0SQIA9pfFtgo6cKGuhooeilaKH41eDs38Ip+f4At1Rq/sjr6NEwQqb/I/DQqsLvaFUjvAx+eWirddAJZnAj1DFJL0mSg/gcIpPkMBkhoyCSJ8lTZIxk0TpKDjXHliJzZPO50dR5ASNSnzeLvIvod0HG/mdkmOC0z8VKnzcQ2M/Yz2vKldduXjp9bleLu0ZWn7vWc+l0JGcaai10yNrUnXLP/8Jf59ewX+c3Wgz+B34Df+vbVrc16zTMVgp9um9bxEfzPU5kPqUtVWxhs6OiWTVW+gIfywB9uXi7CGcGW/zk98k/kmvJ95IfJn/j3uQ+4c5zn3Kfcd+AyF3gLnJfcl9xH3OfR2rUee80a+6vo7EK5mmXUdyfQlrYLTwoZIU9wsPCZEtP6BWGhAlhL3p2N6sTjRdduwbHsG9kq32sgBepc+xurLPW4T9URpYGJ3ym4+8zA05u44QjST8ZIoVtu3qE7fWmdn5LPdqvgcZz8Ww8BWJ8X3w0PhQ/wnCDGd+LvlHs8dRy6bLLDuKMaZ20tZrqisPJ5ONiCq8yKhYM5cCgKOu66Lsc0aYOtZdo5QCwezI4wm9J/v0X23mlZXOfBjj8Jzv3WrY5D+CsA9D7aMs2gGfjve8ArD6mePZSeCfEYt8CONWDw8FXTxrPqx/r9Vt4biXeANh8vV7/+/16ffMD1N8AuKD/A/8leAvFY9bLAAAAOGVYSWZNTQAqAAAACAABh2kABAAAAAEAAAAaAAAAAAACoAIABAAAAAEAAAAUoAMABAAAAAEAAAAUAAAAAJEV0scAAAAtSURBVDgRY2RgYPgPxFQDTFQzCWrQqIGUh+hoGI6GIRkhMJpsyAg0NC0jMAwBzu4BJ2FWhpgAAAAASUVORK5CYII=</dcc:dataBase64> - </dcc:file> - <dcc:formula> - <dcc:latex>E = mc^2</dcc:latex> - </dcc:formula> - </dcc:noQuantity> - </dcc:quantity> - <dcc:quantity refType="test_charsXMLList"> - <dcc:charsXMLList>A B C D E F</dcc:charsXMLList> - </dcc:quantity> - <dcc:quantity refType="test_constant"> - <si:constant> - <si:label>exampleLabel</si:label> - <si:value>306.248</si:value> - <si:unit>\kelvin</si:unit> - <si:dateTime>1111-11-11T11:11:11</si:dateTime> - </si:constant> - </dcc:quantity> - <dcc:quantity refType="test_real"> - <si:real> - <si:label>exampleLabel</si:label> - <si:value>306.248</si:value> - <si:unit>\kelvin</si:unit> - <si:dateTime>1111-11-11T11:11:11</si:dateTime> - </si:real> - </dcc:quantity> - <dcc:quantity refType="test_realListXMLList"> - <si:realListXMLList> - <si:labelXMLList>exampleLabel</si:labelXMLList> - <si:valueXMLList>306.248 373.121 448.253 523.319 593.154</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - <si:dateTimeXMLList>1111-11-11T11:11:11 1111-11-11T11:11:12 1111-11-11T11:11:13 1111-11-11T11:11:14 1111-11-11T11:11:15</si:dateTimeXMLList> - </si:realListXMLList> - </dcc:quantity> - <dcc:quantity refType="test_hybridConstant"> - <si:hybrid> - <si:constant> - <si:label>exampleLabel</si:label> - <si:value>306.248</si:value> - <si:unit>\kelvin</si:unit> - <si:dateTime>1111-11-11T11:11:11</si:dateTime> - </si:constant> - <si:constant> - <si:label>exampleLabel</si:label> - <si:value>33.098</si:value> - <si:unit>\degreecelsius</si:unit> - <si:dateTime>1111-11-11T11:11:11</si:dateTime> - </si:constant> - </si:hybrid> - </dcc:quantity> - <dcc:quantity refType="test_hybridReal"> - <si:hybrid> - <si:real> - <si:label>exampleLabel</si:label> - <si:value>306.248</si:value> - <si:unit>\kelvin</si:unit> - <si:dateTime>1111-11-11T11:11:11</si:dateTime> - </si:real> - <si:real> - <si:label>exampleLabel</si:label> - <si:value>33.098</si:value> - <si:unit>\degreecelsius</si:unit> - <si:dateTime>1111-11-11T11:11:11</si:dateTime> - </si:real> - </si:hybrid> - </dcc:quantity> - <dcc:quantity refType="test_hybridRealListXMLList"> - <si:hybrid> - <si:realListXMLList> - <si:labelXMLList>exampleLabel</si:labelXMLList> - <si:valueXMLList>306.248 373.121 448.253 523.319 593.154</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - <si:dateTimeXMLList>1111-11-11T11:11:11 1111-11-11T11:11:12 1111-11-11T11:11:13 1111-11-11T11:11:14 1111-11-11T11:11:15</si:dateTimeXMLList> - </si:realListXMLList> - <si:realListXMLList> - <si:labelXMLList>exampleLabel</si:labelXMLList> - <si:valueXMLList>33.098 99.971 175.103 250.169 320.004</si:valueXMLList> - <si:unitXMLList>\degreecelsius</si:unitXMLList> - <si:dateTimeXMLList>1111-11-11T11:11:11 1111-11-11T11:11:12 1111-11-11T11:11:13 1111-11-11T11:11:14 1111-11-11T11:11:15</si:dateTimeXMLList> - </si:realListXMLList> - </si:hybrid> - </dcc:quantity> - </dcc:data> - </dcc:result> - </dcc:results> - </dcc:measurementResult> - </dcc:measurementResults> -</dcc:digitalCalibrationCertificate> \ No newline at end of file diff --git a/tests/resources/example.xml b/tests/resources/example.xml deleted file mode 100644 index f2e67bf394a180785836ea1e2f411a4420fb5aad..0000000000000000000000000000000000000000 --- a/tests/resources/example.xml +++ /dev/null @@ -1,441 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<dcc:digitalCalibrationCertificate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dcc="https://ptb.de/dcc" xmlns:si="https://ptb.de/si" xsi:schemaLocation="https://ptb.de/dcc https://ptb.de/dcc/v3.2.0/dcc.xsd" schemaVersion="3.2.0"> - <dcc:administrativeData> - <dcc:dccSoftware> - <dcc:software> - <dcc:name> - <dcc:content>Notepad++ (32-bit)</dcc:content> - </dcc:name> - <dcc:release>v 8.2</dcc:release> - </dcc:software> - </dcc:dccSoftware> - <dcc:coreData> - <dcc:countryCodeISO3166_1>DE</dcc:countryCodeISO3166_1> - <dcc:usedLangCodeISO639_1>de</dcc:usedLangCodeISO639_1> - <dcc:usedLangCodeISO639_1>en</dcc:usedLangCodeISO639_1> - <dcc:mandatoryLangCodeISO639_1>de</dcc:mandatoryLangCodeISO639_1> - <dcc:uniqueIdentifier>GP_DCC_temperature_typical_1.1.1</dcc:uniqueIdentifier> - <dcc:identifications> - <dcc:identification> - <dcc:issuer>calibrationLaboratory</dcc:issuer> - <dcc:value>string-calibrationLaboratory-coreData</dcc:value> - <dcc:name> - <dcc:content lang="de">Auftrags Nr.</dcc:content> - <dcc:content lang="en">Order no.</dcc:content> - </dcc:name> - </dcc:identification> - </dcc:identifications> - <dcc:receiptDate>1957-08-13</dcc:receiptDate> - <dcc:beginPerformanceDate>1957-08-13</dcc:beginPerformanceDate> - <dcc:endPerformanceDate>1957-08-13</dcc:endPerformanceDate> - <dcc:performanceLocation>laboratory</dcc:performanceLocation> - </dcc:coreData> - <dcc:items> - <dcc:item> - <dcc:name> - <dcc:content lang="de">Temperatur-Fühler</dcc:content> - <dcc:content lang="en">Temperature sensor</dcc:content> - </dcc:name> - <dcc:manufacturer> - <dcc:name> - <dcc:content>String</dcc:content> - </dcc:name> - </dcc:manufacturer> - <dcc:model>String</dcc:model> - <dcc:identifications> - <dcc:identification> - <dcc:issuer>manufacturer</dcc:issuer> - <dcc:value>string-manufacturer-item</dcc:value> - <dcc:name> - <dcc:content lang="de">Serien Nr.</dcc:content> - <dcc:content lang="en">Serial no.</dcc:content> - </dcc:name> - </dcc:identification> - <dcc:identification> - <dcc:issuer>customer</dcc:issuer> - <dcc:value>string-customer-item</dcc:value> - <dcc:name> - <dcc:content lang="de">Messmittel Nr.</dcc:content> - <dcc:content lang="en">Measurement equipment no.</dcc:content> - </dcc:name> - </dcc:identification> - <dcc:identification> - <dcc:issuer>calibrationLaboratory</dcc:issuer> - <dcc:value>string-calibrationLaboratory-item</dcc:value> - <dcc:name> - <dcc:content lang="de">Equipment Nr.</dcc:content> - <dcc:content lang="en">Equipment no.</dcc:content> - </dcc:name> - </dcc:identification> - </dcc:identifications> - </dcc:item> - </dcc:items> - <dcc:calibrationLaboratory> - <dcc:contact> - <dcc:name> - <dcc:content>Kalibrierfirma GmbH</dcc:content> - </dcc:name> - <dcc:eMail>info@kalibrierfirma.xx</dcc:eMail> - <dcc:phone>+49 123 4567-89</dcc:phone> - <dcc:fax>+49 123 4567-90</dcc:fax> - <dcc:location> - <dcc:city>Musterstadt</dcc:city> - <dcc:countryCode>DE</dcc:countryCode> - <dcc:postCode>00900</dcc:postCode> - <dcc:street>Musterstraße</dcc:street> - <dcc:streetNo>1</dcc:streetNo> - <dcc:further> - <dcc:content>www.kalibrierfirma.xx</dcc:content> - </dcc:further> - </dcc:location> - </dcc:contact> - </dcc:calibrationLaboratory> - <dcc:respPersons> - <dcc:respPerson> - <dcc:person> - <dcc:name> - <dcc:content>Michaela Musterfrau</dcc:content> - </dcc:name> - </dcc:person> - <dcc:mainSigner>true</dcc:mainSigner> - </dcc:respPerson> - <dcc:respPerson> - <dcc:person> - <dcc:name> - <dcc:content>Michael Mustermann</dcc:content> - </dcc:name> - </dcc:person> - </dcc:respPerson> - </dcc:respPersons> - <dcc:customer> - <dcc:name> - <dcc:content>Kunde GmbH</dcc:content> - </dcc:name> - <dcc:eMail>info@kunde.xx</dcc:eMail> - <dcc:location> - <dcc:city>Musterstadt</dcc:city> - <dcc:countryCode>DE</dcc:countryCode> - <dcc:postCode>00900</dcc:postCode> - <dcc:further> - <dcc:content lang="de">Kunden Nr. 1024418</dcc:content> - <dcc:content lang="en">Customer ID no. 1024418</dcc:content> - </dcc:further> - </dcc:location> - </dcc:customer> - <dcc:statements> - <dcc:statement> - <dcc:norm>ISO/IEC 17025:2018-03</dcc:norm> - <dcc:reference>7.8.4.3</dcc:reference> - <dcc:declaration> - <dcc:content lang="de">Die Ergebnisse gelten zum Zeitpunkt der Kalibrierung. Es obliegt dem Antragsteller, zu gegebener Zeit eine Rekalibrierung zu veranlassen.</dcc:content> - <dcc:content lang="en">The results refer only to the object calibrated in this DCC. The measurement results are valid at the time of calibration. The applicant is responsible for arranging a recalibration in due time.</dcc:content> - </dcc:declaration> - </dcc:statement> - <dcc:statement refType="basic_validityRange"> - <dcc:declaration> - <dcc:content lang="de">Angabe des Temperaturbereichs, in dem kalibriert wurde:</dcc:content> - <dcc:content lang="en">Specification of the temperature range in which calibration was performed:</dcc:content> - </dcc:declaration> - <dcc:data> - <dcc:quantity refType="basic_validityRangeMin"> - <dcc:name> - <dcc:content lang="de">Unteres Limit</dcc:content> - <dcc:content lang="en">Lower limit</dcc:content> - </dcc:name> - <si:real> - <si:value>306</si:value> - <si:unit>\kelvin</si:unit> - </si:real> - </dcc:quantity> - <dcc:quantity refType="basic_validityRangeMax"> - <dcc:name> - <dcc:content lang="de">Oberes Limit</dcc:content> - <dcc:content lang="en">Upper limit</dcc:content> - </dcc:name> - <si:real> - <si:value>593</si:value> - <si:unit>\kelvin</si:unit> - </si:real> - </dcc:quantity> - </dcc:data> - </dcc:statement> - <dcc:statement refType="basic_conformity"> - <dcc:declaration> - <dcc:content lang="de">Die Konformitätsaussage erfolgt anhand der Vorgaben des Kunden. Sie sind im DCC mit aufgeführt.</dcc:content> - <dcc:content lang="en">The conformity statement is made on the basis of the customer's specifications. They are listed in the DCC.</dcc:content> - </dcc:declaration> - <dcc:respAuthority> - <dcc:name> - <dcc:content>Kunde GmbH</dcc:content> - </dcc:name> - <dcc:eMail>info@kunde.xx</dcc:eMail> - <dcc:location> - <dcc:city>Musterstadt</dcc:city> - <dcc:countryCode>DE</dcc:countryCode> - <dcc:postCode>00900</dcc:postCode> - </dcc:location> - </dcc:respAuthority> - <dcc:conformity>pass</dcc:conformity> - </dcc:statement> - <dcc:statement refType="basic_recalibration"> - <dcc:declaration> - <dcc:content lang="de">Datum, wann nach der Festlegung durch den Kunden spätestens der Kalibriergegenstand rekalibriert werden soll:</dcc:content> - <dcc:content lang="de">Date when the calibration item is to be recalibrated at the latest according to the customer's specification:</dcc:content> - </dcc:declaration> - <dcc:date>1959-10-22</dcc:date> - <dcc:respAuthority> - <dcc:name> - <dcc:content>Kunde GmbH</dcc:content> - </dcc:name> - <dcc:eMail>info@kunde.xx</dcc:eMail> - <dcc:location> - <dcc:city>Musterstadt</dcc:city> - <dcc:countryCode>DE</dcc:countryCode> - <dcc:postCode>00900</dcc:postCode> - </dcc:location> - </dcc:respAuthority> - </dcc:statement> - </dcc:statements> - </dcc:administrativeData> - <dcc:measurementResults> - <dcc:measurementResult> - <dcc:name> - <dcc:content lang="de">Messergebnisse</dcc:content> - <dcc:content lang="en">Measurement results</dcc:content> - </dcc:name> - <dcc:usedMethods> - <dcc:usedMethod refType="basic_uncertainty"> - <dcc:name> - <dcc:content lang="de">Erweiterte Messunsicherheit</dcc:content> - <dcc:content lang="en">Expanded uncertainty</dcc:content> - </dcc:name> - <dcc:description> - <dcc:content lang="de">Angegeben ist die erweiterte Messunsicherheit, die sich aus der Standardmessunsicherheit durch Multiplikation mit dem Erweiterungsfaktor k=2 ergibt. Sie wurde gemäß dem „Guide to the Expression of Uncertainty in Measurement (GUM)“ ermittelt. Der Wert der Messgröße liegt dann im Regelfall mit einer Wahrscheinlichkeit von annähernd 95 % im zugeordneten Überdeckungsintervall.</dcc:content> - <dcc:content lang="en">The expanded uncertainty was calculated from the contributions of uncertainty originating from the standards used, from the weighings and the air buoyancy corrections. The reported uncertainty does not include an estimate of long-term variations.</dcc:content> - </dcc:description> - <dcc:norm>GUM</dcc:norm> - </dcc:usedMethod> - <dcc:usedMethod refType="gp_temperatureSensor"> - <dcc:name> - <dcc:content lang="de">Kalibrierung von Temperaturmessfühlern</dcc:content> - <dcc:content lang="en">Calibration of temperature sensors</dcc:content> - </dcc:name> - <dcc:norm>DKD-R 5-1:2018</dcc:norm> - </dcc:usedMethod> - </dcc:usedMethods> - <dcc:measuringEquipments> - <dcc:measuringEquipment refType="basic_normalUsed"> - <dcc:name> - <dcc:content lang="de">Pt 100 Widerstandsthermometer</dcc:content> - <dcc:content lang="en">Pt 100 thermometer</dcc:content> - </dcc:name> - <dcc:identifications> - <dcc:identification> - <dcc:issuer>manufacturer</dcc:issuer> - <dcc:value>string-manufacturer-measuringEquipment-1</dcc:value> - </dcc:identification> - </dcc:identifications> - </dcc:measuringEquipment> - </dcc:measuringEquipments> - <dcc:influenceConditions> - <dcc:influenceCondition refType="gp_immersionDepth"> - <dcc:name> - <dcc:content lang="de">Eintauchtiefe im Wasserbad</dcc:content> - <dcc:content lang="en">Immersion depth in water bath</dcc:content> - </dcc:name> - <dcc:data> - <dcc:quantity> - <dcc:name> - <dcc:content lang="de">Eintauchtiefe</dcc:content> - <dcc:content lang="en">Immersion depth</dcc:content> - </dcc:name> - <si:real> - <si:value>0.1</si:value> - <si:unit>\metre</si:unit> - </si:real> - </dcc:quantity> - </dcc:data> - </dcc:influenceCondition> - <dcc:influenceCondition refType="basic_temperature"> - <dcc:name> - <dcc:content lang="de">Umgebungsbedingung Temperatur</dcc:content> - <dcc:content lang="en">Ambient condition temperature</dcc:content> - </dcc:name> - <dcc:description> - <dcc:content lang="de">Diese Werte wurden nicht gemessen, sondern wurden anhand der typischen Wetterbedingungen zu einer Jahreszeit angegeben. [^1]</dcc:content> - <dcc:content lang="en">These values were not measured, but were given based on typical weather conditions at a time of year. [^1]</dcc:content> - </dcc:description> - <dcc:data> - <dcc:quantity refType="basic_temperatureMin"> - <dcc:name> - <dcc:content lang="de">Temperatur min</dcc:content> - <dcc:content lang="en">temperature min</dcc:content> - </dcc:name> - <si:real> - <si:value>293</si:value> - <si:unit>\kelvin</si:unit> - </si:real> - </dcc:quantity> - <dcc:quantity refType="basic_temperatureMax"> - <dcc:name> - <dcc:content lang="de">Temperatur max</dcc:content> - <dcc:content lang="en">temperature max</dcc:content> - </dcc:name> - <si:real> - <si:value>299</si:value> - <si:unit>\kelvin</si:unit> - </si:real> - </dcc:quantity> - </dcc:data> - </dcc:influenceCondition> - <dcc:influenceCondition refType="basic_humidityRelative"> - <dcc:name> - <dcc:content lang="de">Umgebungsbedingung relative Luftfeuchte</dcc:content> - <dcc:content lang="en">Ambient condition relative humidity</dcc:content> - </dcc:name> - <dcc:description> - <dcc:content lang="de">Diese Werte wurden nicht gemessen, sondern wurden anhand der typischen Wetterbedingungen zu einer Jahreszeit angegeben. [^1]</dcc:content> - <dcc:content lang="en">These values were not measured, but were given based on typical weather conditions at a time of year. [^1]</dcc:content> - </dcc:description> - <dcc:data> - <dcc:quantity refType="basic_humidityRelativeMin"> - <dcc:name> - <dcc:content lang="de">Feuchte min</dcc:content> - <dcc:content lang="en">humidity min</dcc:content> - </dcc:name> - <si:real> - <si:value>0.20</si:value> - <si:unit>\one</si:unit> - </si:real> - </dcc:quantity> - <dcc:quantity refType="basic_humidityRelativeMax"> - <dcc:name> - <dcc:content lang="de">Feuchte max</dcc:content> - <dcc:content lang="en">humidity max</dcc:content> - </dcc:name> - <si:real> - <si:value>0.70</si:value> - <si:unit>\one</si:unit> - </si:real> - </dcc:quantity> - </dcc:data> - </dcc:influenceCondition> - </dcc:influenceConditions> - <dcc:results> - <dcc:result refType="gp_measuringResult1"> - <dcc:name> - <dcc:content lang="de">Messergebnisse</dcc:content> - <dcc:content lang="en">Measuring results</dcc:content> - </dcc:name> - <dcc:data> - <dcc:list refType="gp_table1"> - <dcc:quantity refType="basic_referenceValue"> - <dcc:name> - <dcc:content lang="de">Bezugswert</dcc:content> - <dcc:content lang="en">Reference value</dcc:content> - </dcc:name> - <si:hybrid> - <si:realListXMLList> - <si:valueXMLList>306.248 373.121 448.253 523.319 593.154</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - </si:realListXMLList> - <si:realListXMLList> - <si:valueXMLList>33.098 99.971 175.103 250.169 320.004</si:valueXMLList> - <si:unitXMLList>\degreecelsius</si:unitXMLList> - </si:realListXMLList> - </si:hybrid> - <dcc:measurementMetaData> - <dcc:metaData refType="basic_calibrationValue"> - <dcc:declaration> - <dcc:content lang="de">Kalibrierpunkt</dcc:content> - <dcc:content lang="en">Calibration value</dcc:content> - </dcc:declaration> - <dcc:data> - <dcc:quantity> - <si:hybrid> - <si:realListXMLList> - <si:valueXMLList>306 373 448 523 593</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - </si:realListXMLList> - <si:realListXMLList> - <si:valueXMLList>32.85 99.85 174.85 249.85 319.85</si:valueXMLList> - <si:unitXMLList>\degreecelsius</si:unitXMLList> - </si:realListXMLList> - </si:hybrid> - </dcc:quantity> - </dcc:data> - </dcc:metaData> - </dcc:measurementMetaData> - </dcc:quantity> - <dcc:quantity refType="basic_measuredValue"> - <dcc:name> - <dcc:content lang="de">Angezeigter Messwert Kalibriergegenstand</dcc:content> - <dcc:content lang="en">Indicated measured value probe</dcc:content> - </dcc:name> - <si:hybrid> - <si:realListXMLList> - <si:valueXMLList>306.32 373.21 448.36 523.31 593.07</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - </si:realListXMLList> - <si:realListXMLList> - <si:valueXMLList>33.17 100.06 175.21 250.16 319.92</si:valueXMLList> - <si:unitXMLList>\degreecelsius</si:unitXMLList> - </si:realListXMLList> - </si:hybrid> - </dcc:quantity> - <dcc:quantity refType="basic_measurementError"> - <dcc:name> - <dcc:content lang="de">Messabweichung</dcc:content> - <dcc:content lang="en">Measurement error</dcc:content> - </dcc:name> - <si:realListXMLList> - <si:valueXMLList>0.072 0.089 0.107 -0.009 -0.084</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - <si:expandedUncXMLList> - <si:uncertaintyXMLList>0.061</si:uncertaintyXMLList> - <si:coverageFactorXMLList>2</si:coverageFactorXMLList> - <si:coverageProbabilityXMLList>0.95</si:coverageProbabilityXMLList> - <si:distributionXMLList>normal</si:distributionXMLList> - </si:expandedUncXMLList> - </si:realListXMLList> - <dcc:measurementMetaData> - <dcc:metaData refType="basic_conformity"> - <dcc:declaration> - <dcc:name> - <dcc:content lang="de">Konformität</dcc:content> - <dcc:content lang="en">Conformity</dcc:content> - </dcc:name> - </dcc:declaration> - <dcc:conformityXMLList>pass</dcc:conformityXMLList> - <dcc:data> - <dcc:quantity refType="basic_acceptanceLimitLower"> - <dcc:name> - <dcc:content lang="de">Unteres Akzeptanzlimit</dcc:content> - <dcc:content lang="en">Lower acceptance limit</dcc:content> - </dcc:name> - <si:realListXMLList> - <si:valueXMLList>-0.23 -0.23 -0.23 -0.30 -0.30</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - </si:realListXMLList> - </dcc:quantity> - <dcc:quantity refType="basic_acceptanceLimitUpper"> - <dcc:name> - <dcc:content lang="de">Oberes Akzeptanzlimit</dcc:content> - <dcc:content lang="en">Upper acceptance limit</dcc:content> - </dcc:name> - <si:realListXMLList> - <si:valueXMLList>0.23 0.23 0.23 0.30 0.30</si:valueXMLList> - <si:unitXMLList>\kelvin</si:unitXMLList> - </si:realListXMLList> - </dcc:quantity> - </dcc:data> - </dcc:metaData> - </dcc:measurementMetaData> - </dcc:quantity> - </dcc:list> - </dcc:data> - </dcc:result> - </dcc:results> - </dcc:measurementResult> - </dcc:measurementResults> -</dcc:digitalCalibrationCertificate> \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 47182282ddc5b7edc59d7eefe88e555a7d3546b0..27ed0c0f33b450ddba701d232e56d7c765f11010 100644 Binary files a/yarn.lock and b/yarn.lock differ