def test_add(self): s = Solution(**self.d) s2 = Solution(components=[{'classification':{'CHEBI':'1234'}, 'concentration':2 * ureg.micromolar}], container={"ctype":"micro-1.5"}, volume=1*ureg.milliliter) s.add(s2, 10 * ureg.microliter) assert (s.components[0]['concentration'] - 1.01*ureg.micromolar) < 0.001*ureg.micromolar s3 = Solution(volume=1*ureg.liter) s3.add(s2, 10*ureg.microliter)
def test_add(self): s = Solution(**self.d) s2 = Solution(components=[{ 'classification': { 'CHEBI': '1234' }, 'concentration': 2 * ureg.micromolar }], container={"ctype": "micro-1.5"}, volume=1 * ureg.milliliter) s.add(s2, 10 * ureg.microliter) assert (s.components[0]['concentration'] - 1.01 * ureg.micromolar) < 0.001 * ureg.micromolar s3 = Solution(volume=1 * ureg.liter) s3.add(s2, 10 * ureg.microliter)
def test_dist(self): #A distance measure for comparing solution objects, specifically #for use in the non-constraint, component-only portion of solution #optimization. s1 = Solution(**self.d) s2 = Solution(**self.d1) s3 = Solution(**self.d2) # Coincidence, non-negativity assert s1.dist(s2) == 0 assert s1.dist(s1) == 0 s1.add(s1, 1*ureg.microliter) assert s1.dist(s2) < 0.00001 s2.add(s3, 1 * ureg.microliter) assert s1.dist(s2) > 0 # Symmetry assert (s1.dist(s2) - s2.dist(s1)) < 0.00001 # Triangle inequality s3.add(s1, 10 * ureg.microliter) s3.add(s2, 10 * ureg.microliter) assert s3.dist(s2) <= s3.dist(s1) + s1.dist(s2)
def test_dist(self): #A distance measure for comparing solution objects, specifically #for use in the non-constraint, component-only portion of solution #optimization. s1 = Solution(**self.d) s2 = Solution(**self.d1) s3 = Solution(**self.d2) # Coincidence, non-negativity assert s1.dist(s2) == 0 assert s1.dist(s1) == 0 s1.add(s1, 1 * ureg.microliter) assert s1.dist(s2) < 0.00001 s2.add(s3, 1 * ureg.microliter) assert s1.dist(s2) > 0 # Symmetry assert (s1.dist(s2) - s2.dist(s1)) < 0.00001 # Triangle inequality s3.add(s1, 10 * ureg.microliter) s3.add(s2, 10 * ureg.microliter) assert s3.dist(s2) <= s3.dist(s1) + s1.dist(s2)