From d78957cb1cc01deddb0fda1f8f7a3ba66723283e Mon Sep 17 00:00:00 2001 From: Jan Loewe <jan.loewe@ptb.de> Date: Thu, 13 Jul 2023 12:19:19 +0000 Subject: [PATCH] Refactor Test Resources --- .idea/dcc-js.iml | 2 + package.json | 1 + src/DCCDocument.ts | 4 +- ...strativeData.CalibrationLaboratory.test.ts | 79 -- .../AdministrativeData.CoreDataType.test.ts | 119 --- tests/DCC/AdministrativeData.Customer.test.ts | 76 -- tests/DCC/AdministrativeData.Items.test.ts | 116 --- .../AdministrativeData.RespPersons.test.ts | 55 -- ...dministrativeData.SoftwareListType.test.ts | 40 - .../DCC/AdministrativeData.Statements.test.ts | 212 ----- tests/DCC/AdministrativeData.test.ts | 18 - .../DigitalCalibrationCertificateType.test.ts | 20 - ...strativeData.CalibrationLaboratory.test.ts | 42 + .../AdministrativeData.CoreDataType.test.ts | 52 ++ .../AdministrativeData.Items.test.ts | 54 ++ ...ministrativeData.RefTypeDefinitons.test.ts | 4 +- .../AdministrativeData.RespPersons.test.ts | 25 + .../AdministrativeData.Statements.test.ts | 82 ++ .../EquipmentClass.test.ts | 63 ++ ...asurementResults.MeasurementResult.test.ts | 44 ++ .../AdministrativeData.CoreDataType.test.ts | 4 +- .../AdministrativeData.Items.Item.test.ts | 4 +- .../AdministrativeData.Items.test.ts | 4 +- .../AdministrativeData.CoreDataType.test.ts | 5 + .../AdministrativeData.Items.test.ts | 103 ++- .../AdministrativeData.Statements.test.ts | 225 ++++-- ...surementResult.InfluenceConditions.test.ts | 296 +++---- ...tResults.MeasurementResult.Results.test.ts | 66 ++ ...ults.MeasurementResult.UsedMethods.test.ts | 74 +- .../AdministrativeData.Items_variant.test.ts | 36 - ...inistrativeData.Statements_variant.test.ts | 94 --- ...strativeData.CalibrationLaboratory.test.ts | 83 -- .../AdministrativeData.CoreDataType.test.ts | 127 --- .../AdministrativeData.Customer.test.ts | 69 -- .../AdministrativeData.Items.test.ts | 143 ---- .../AdministrativeData.RespPersons.test.ts | 55 -- ...dministrativeData.SoftwareListType.test.ts | 59 -- .../AdministrativeData.Statements.test.ts | 151 ---- .../DigitalCalibrationCertificateType.test.ts | 20 - ...surementResult.InfluenceConditions.test.ts | 217 ------ ...surementResult.MeasuringEquipments.test.ts | 57 -- ...mentResults.MeasurementResult.Name.test.ts | 34 - ...tResults.MeasurementResult.Results.test.ts | 736 ------------------ ...ults.MeasurementResult.UsedMethods.test.ts | 43 - ...surementResult.InfluenceConditions.test.ts | 248 ------ ...surementResult.MeasuringEquipments.test.ts | 57 -- ...mentResults.MeasurementResult.Name.test.ts | 34 - ...tResults.MeasurementResult.Results.test.ts | 301 ------- ...ults.MeasurementResult.UsedMethods.test.ts | 80 -- tests/DCCDocument.test.ts | 4 +- tests/GP_Temperature/CharsXMLList.test.ts | 24 - tests/GP_Temperature/noQuantity.test.ts | 55 -- tests/resources/Features_DCC_v3.2.0.xml | 256 ++++++ tests/resources/Features_DCC_v3.2.1.xml | 2 +- tests/resources/GP_Temperature_Simplified.xml | 106 ++- .../GP_Temperature_Simplified_variant.xml | 365 --------- tests/resources/GP_Temperature_v3.2.0_DCC.xml | 548 ------------- tests/resources/GP_Temperature_v3.2.1_DCC.xml | 552 ------------- tests/resources/example.xml | 441 ----------- yarn.lock | Bin 146353 -> 149813 bytes 60 files changed, 1260 insertions(+), 5626 deletions(-) delete mode 100644 tests/DCC/AdministrativeData.CalibrationLaboratory.test.ts delete mode 100644 tests/DCC/AdministrativeData.CoreDataType.test.ts delete mode 100644 tests/DCC/AdministrativeData.Customer.test.ts delete mode 100644 tests/DCC/AdministrativeData.Items.test.ts delete mode 100644 tests/DCC/AdministrativeData.RespPersons.test.ts delete mode 100644 tests/DCC/AdministrativeData.SoftwareListType.test.ts delete mode 100644 tests/DCC/AdministrativeData.Statements.test.ts delete mode 100644 tests/DCC/AdministrativeData.test.ts delete mode 100644 tests/DCC/DigitalCalibrationCertificateType.test.ts create mode 100644 tests/DCC/Features_DCC_v3.2.0/AdministrativeData.CalibrationLaboratory.test.ts create mode 100644 tests/DCC/Features_DCC_v3.2.0/AdministrativeData.CoreDataType.test.ts create mode 100644 tests/DCC/Features_DCC_v3.2.0/AdministrativeData.Items.test.ts rename tests/DCC/{GP_Temperatur_v3.2.0_DCC => Features_DCC_v3.2.0}/AdministrativeData.RefTypeDefinitons.test.ts (93%) create mode 100644 tests/DCC/Features_DCC_v3.2.0/AdministrativeData.RespPersons.test.ts create mode 100644 tests/DCC/Features_DCC_v3.2.0/AdministrativeData.Statements.test.ts create mode 100644 tests/DCC/Features_DCC_v3.2.0/EquipmentClass.test.ts create mode 100644 tests/DCC/Features_DCC_v3.2.0/MeasurementResults.MeasurementResult.test.ts rename tests/DCC/{GP_Temperatur_v3.2.1_DCC => Features_DCC_v3.2.1}/AdministrativeData.CoreDataType.test.ts (90%) rename tests/DCC/{GP_Temperatur_v3.2.1_DCC => Features_DCC_v3.2.1}/AdministrativeData.Items.Item.test.ts (72%) rename tests/DCC/{GP_Temperatur_v3.2.1_DCC => Features_DCC_v3.2.1}/AdministrativeData.Items.test.ts (84%) delete mode 100644 tests/DCC/GP_DCC_Temperature_Simplified_variant/AdministrativeData.Items_variant.test.ts delete mode 100644 tests/DCC/GP_DCC_Temperature_Simplified_variant/AdministrativeData.Statements_variant.test.ts delete mode 100644 tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.CalibrationLaboratory.test.ts delete mode 100644 tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.CoreDataType.test.ts delete mode 100644 tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Customer.test.ts delete mode 100644 tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Items.test.ts delete mode 100644 tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.RespPersons.test.ts delete mode 100644 tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.SoftwareListType.test.ts delete mode 100644 tests/DCC/GP_Temperatur_v3.2.0_DCC/AdministrativeData.Statements.test.ts delete mode 100644 tests/DCC/GP_Temperatur_v3.2.0_DCC/DigitalCalibrationCertificateType.test.ts delete mode 100644 tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.InfluenceConditions.test.ts delete mode 100644 tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.MeasuringEquipments.test.ts delete mode 100644 tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.Name.test.ts delete mode 100644 tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.Results.test.ts delete mode 100644 tests/DCC/GP_Temperatur_v3.2.0_DCC/MeasurementResults.MeasurementResult.UsedMethods.test.ts delete mode 100644 tests/DCC/MeasurementResults.MeasurementResult.InfluenceConditions.test.ts delete mode 100644 tests/DCC/MeasurementResults.MeasurementResult.MeasuringEquipments.test.ts delete mode 100644 tests/DCC/MeasurementResults.MeasurementResult.Name.test.ts delete mode 100644 tests/DCC/MeasurementResults.MeasurementResult.Results.test.ts delete mode 100644 tests/DCC/MeasurementResults.MeasurementResult.UsedMethods.test.ts delete mode 100644 tests/GP_Temperature/CharsXMLList.test.ts delete mode 100644 tests/GP_Temperature/noQuantity.test.ts create mode 100644 tests/resources/Features_DCC_v3.2.0.xml delete mode 100644 tests/resources/GP_Temperature_Simplified_variant.xml delete mode 100644 tests/resources/GP_Temperature_v3.2.0_DCC.xml delete mode 100644 tests/resources/GP_Temperature_v3.2.1_DCC.xml delete mode 100644 tests/resources/example.xml diff --git a/.idea/dcc-js.iml b/.idea/dcc-js.iml index fd00761..0f25bd8 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 71ce29b..1782746 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 04592c1..80e3fb9 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 60139b1..0000000 --- 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 5f62a27..0000000 --- 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 911936b..0000000 --- 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 ce71db4..0000000 --- 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 101c5d2..0000000 --- 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 3486290..0000000 --- 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 f3de295..0000000 --- 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 920cf98..0000000 --- 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 917b0b9..0000000 --- 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 0000000..b7ef4db --- /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 0000000..e098212 --- /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 0000000..cd30cc8 --- /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 25f3e65..a1645e3 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 0000000..f236dcd --- /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 0000000..1b8beda --- /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 0000000..f6403f5 --- /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 0000000..a5a9327 --- /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 8df1fe8..cb52693 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 12eb493..6a715ff 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 ac03d09..4a99c8f 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 de86693..94287d5 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 5b62ce3..4878fb0 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 2b135b1..d70a3a1 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 863afe1..bd58acf 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 eba3b9c..a722896 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 3702d11..2c04734 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 68a193b..0000000 --- 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 2ed48e7..0000000 --- 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 a62165f..0000000 --- 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 773f073..0000000 --- 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 4404f78..0000000 --- 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 e5e1e48..0000000 --- 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 73c8b82..0000000 --- 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 95c0088..0000000 --- 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 16ba06e..0000000 --- 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 467d936..0000000 --- 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 ce1bb26..0000000 --- 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 ffdb5cd..0000000 --- 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 05660a4..0000000 --- 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 63aa159..0000000 --- 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 8352a94..0000000 --- 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 4607750..0000000 --- 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 187b54d..0000000 --- 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 1dc5e99..0000000 --- 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 39e6b5e..0000000 --- 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 cb502b6..0000000 --- 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 8ad62d1..7204737 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 1d0f83c..0000000 --- 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 4eec495..0000000 --- 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 0000000..ddd90b6 --- /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 0719ad4..6218436 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 7d299d4..d35372c 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 6001e42..0000000 --- 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 203838f..0000000 --- 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 29db7ff..0000000 --- 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 f2e67bf..0000000 --- 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 GIT binary patch delta 2548 zcmZuz%Wqs)8P_!lZPJw1c@PU~7z|Yuhuoa+ypJ0-VbKjpt+D~6K+AVt?GV4}8Ak~; z44eJ|?Nu}^DzPX#kXmFRvto<7U_mSX0Mr!{tzdx=tMa=u1TrqN<j1+^o;ly|>0kfz z(cipz;@$TzOuzN{r4y(2hie;y7e%XNs}KHg;YX`C%4mFLlwK)YJi5NUyS4G646SX& z+Q!Mj;C9&?4R^LT2J<zn?3K~Z=KgrLxOV-AM_=yub>9dpleO!k;da{O;og<;-Q5y* z?#w?|y4K?ud|tXW+TYq3Bq0n@vLRI;NO^WSIIV@wijA;>t8yk9HZq3fog|Y3d8bH* zsJu*!m#J21Vz$`|6Aa<yixCeg=TuDfB9IW8Efr_Aaha9Lk*Z0Cl<jVOu-?7&%~M_5 zJl6g6xswO=x%Zx&?Cxyd;w$@mn{!C06|K0uUG9uqc?6k<AJL}(T0CcA@7f{^&Klg? zX61v|6NzhPt3u(Za&k^&ib82jVnuLKR!%};xGWVw;>_0TB8+huGel`jQnIjR(wc*D z$*1hKw3<waMw^;gD8ji?`jEYMz9(gqw_o1pm&^0qz4QC04%%;j*i4SHILAY@J&%hL znXi2cf&Y8Jf8Jj}K!})~vXYfnK}cez!nX|OE+PvS#e-{Qh*dT^Sz#lQsW~N$ktmYQ z(SmKQqOQfU^htT^y^*R&$w6lwa#loGvp!m5s>nJUQH7FOIHr!if9c@#cR&8x<HHA2 z_AZ&eac=2Mqr0E)uROj#e=@gE_vdF<x|?^;Hu^p<J*8{i<Z+pq%eMlf4F>(nxMZxU zR<>@ow#(yJ`d!rGYr1oOY4x$;-fb*MXiRlq`OcZ?-(F}w+x_nL=O&`1!Btum3Wo7L zr7C%<N&_aLwO2BbW~G#@+PNsQt<{qz3&b!S5Hp^Fb-`HJOb|m#JshgI<Z|SK-KrYJ zK9uOQtR}d0R;1u#a3y<Jb+9EAW4h(_OWntJ9y$2rweL0EM|U3WK6&kl=3$h&XYOI4 z<JZr3@!qqO(3%+>|FgWy9yG|LxH4Pivl2=7j73*c$&f(A9US|FM2I9R%Nm@qQAP{- zXJ;L0i4!n+Ey39&Q}l^kAj%lHMis!TSH)&|I>wBF4HTrMR4!)OTmInYPyX@x@fl^^ zkDp$h^n@*B+nmms5JU??7g?~#p&Cpnf^c8Knu<0-VhWdwD~<^Mh4P#)Rgg>4Myv6? zO7>oG5T*3Cw$32TVyss@^h-Xa5Ja^`n3NsG5|m2TLE?CV^eWg{$$+EokJr`@UpUr$ zbnNWcAINMj+L_W0ubycBGCIDuHQXxQt3O+vifhgCu`T>Ped${B#YqY-WY#+N2bRd} z3s=V)N$iR@RAtsFYRjsRmQ<pHJdjQnASN;_atRz#q2!~FY^yC4y(L%+wp2!jAY&zm z6qA~gKoGMr&{BnXotwT9oAtw|?=`Ppn3}hn)8}UzS&WmuNv8Z(bLQM$8ISK?t~+~M zJf6+?pk!7S3#c!cc~4E>eY?3h0cl5sCm51PWXNDLN(G6aB*~}>Oj2_N_~;p<i`Ui% zlUN~7vT{Lau#9RUV56+c)p<!O7pNCTicxxSj4a988c?4yXTzsqxGal@njLtoaO-sW zt>)6<{a-Zq9+^J*%jQ($r+>fSoWYMD99ud&*(;pJmxuEjCXdKCqPpUcRFOSJXiY*p zMKc89ijb(s4Ai}^!D<P|lB>OA42F={L8=r6_EjpRVGV(WEjhYg2PAQItJYxf3RO7O zOFGwpqy^KEtkZ~+Y*guPh>M3${HpoW>SqvI-SnCE<OsjaS()D0Z@zGK?fQQ^uP5Z; z%A1E`ufnZ)0?zpv48}WS-W-m`Q?c8en-mE$G$iVj0l=trR9A*$VDlV`3KVJ;MOy?o z!cf8-#v!`0j!r~GAt)#gBTEy|l9bRVDM#TIDl-|KgH+a=1c{<lkPX_T<P_4#C1Y$C z-&sHW@V#c`tH)=znodIVrEcTR<;jC<&c;<x*O6$(zY{<b!B#;-4N#gRf$ruYtD+oB zZ)HMTC7Ti#St^{txNj8!*OElAV-DIN69Wn=J86@Z8m7@v^Oq&s3(1V2$Q&>iyHpXC Vg{n3fxLdw?>F{5FZGQXwzX51S=otV2 delta 98 zcmV-o0G<D}k_oZ*2(Z#8v+O5z9g{Fl3X?7Y3$wFE(-4#5SQoRnSjz#kms{^7vtEK* z0ka*2^@X<$3<2x}m&l(15Vsu>0oil6@r40#C%4J20elCyN4Eje9k*%L0T&~;fBFHo EPHB`X=Kufz -- GitLab