Skip to content

Commit 797e845

Browse files
authored
Merge pull request #3 from toropok/patch-6
Update ARAnalysesFieldWithPartitions.rst
2 parents 3cc0de0 + 4a5da47 commit 797e845

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

src/senaite/core/tests/doctests/ARAnalysesFieldWithPartitions.rst

+34
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,11 @@ Create some basic objects for the test:
6767
>>> Fe = api.create(setup.bika_analysisservices, "AnalysisService", title="Iron", Keyword="Fe", Price="10", Category=category.UID())
6868
>>> Au = api.create(setup.bika_analysisservices, "AnalysisService", title="Gold", Keyword="Au", Price="20", Category=category.UID())
6969
>>> Mg = api.create(setup.bika_analysisservices, "AnalysisService", title="Magnesium", Keyword="Mg", Price="20", Category=category.UID())
70+
>>> Ca = api.create(setup.bika_analysisservices, "AnalysisService", title="Calcium", Keyword="Ca", Price="20", Category=category.UID())
71+
>>> THCaCO3 = api.create(setup.bika_analysisservices, "AnalysisService", title="Calcium", Keyword="THCaCO3", Price="20", Category=category.UID())
72+
>>> calc = api.create(setup.bika_calculations, "Calculation", title="Total Hardness")
73+
>>> calc.setFormula("[Ca] + [Mg]")
74+
>>> THCaCO3.setCalculation(calc)
7075

7176

7277
Creation of a Sample with a Partition
@@ -330,3 +335,32 @@ partition, nothing will happen:
330335
[<Analysis at /plone/clients/client-1/W-0001/Mg>]
331336
>>> partition.objectValues("Analysis")
332337
[<Analysis at /plone/clients/client-1/W-0001-P01/Cu>, <Analysis at /plone/clients/client-1/W-0001-P01/Fe>, <Analysis at /plone/clients/client-1/W-0001-P01/Au>]
338+
339+
340+
Test calculation when dependant service assigned to a partition subsample:
341+
..........................................................................
342+
343+
Create a Sample and receive:
344+
345+
>>> sample2 = new_sample([Ca, Mg, THCaCO3])
346+
347+
Create a Partition containing of the Sample, containing the analysis `Ca`:
348+
349+
>>> ca = get_analysis_from(sample2, Ca)
350+
>>> partition2 = create_partition(sample, request, [ca])
351+
352+
Set result values to analysis (Ca, Mg)
353+
354+
>>> analyses = sample2.getAnalyses(full_objects=True)
355+
>>> ca_analysis = filter(lambda an: an.getKeyword()=="Ca", analyses)[0]
356+
>>> mg_analysis = filter(lambda an: an.getKeyword()=="Mg", analyses)[0]
357+
>>> ca_analysis.setResult(10)
358+
>>> mg_analysis.setResult(10)
359+
360+
Calculate dependant result and make sure it's correct:
361+
>>> th_analysis = filter(lambda an: an.getKeyword()=="THCaCO3", analyses)[0]
362+
>>> th_analysis.calculateResult()
363+
True
364+
>>> th_analysis.getResult()
365+
'20.0'
366+

0 commit comments

Comments
 (0)