Esempio n. 1
0
 def test_xor_combinations(self):
     assert_equal(
         (volA ^ volB),
         volume.UnionVolume(volume.CVDefinedVolume(op_id, -0.5, 0.25),
                            volume.CVDefinedVolume(op_id, 0.5, 0.75)))
     assert_equal((volA ^ volA2),
                  volume.SymmetricDifferenceVolume(volA, volA2))
Esempio n. 2
0
 def test_CVRangeVolumeSet(self):
     mins = [-1.5, -3.5]
     maxs = [2.0, 4.0]
     lv0 = volume.CVDefinedVolume(op_id, mins[0], maxs[0])
     lv1 = volume.CVDefinedVolume(op_id, mins[1], maxs[1])
     assert_equal([lv0, lv1],
                  volume.VolumeFactory.CVRangeVolumeSet(op_id, mins, maxs))
Esempio n. 3
0
def setup_module():
    global op_id, volA, volB, volC, volD, volA2
    op_id = CallIdentity()
    volA = volume.CVDefinedVolume(op_id, -0.5, 0.5)
    volB = volume.CVDefinedVolume(op_id, 0.25, 0.75)
    volC = volume.CVDefinedVolume(op_id, -0.75, -0.25)
    volD = volume.CVDefinedVolume(op_id, -0.75, 0.75)
    volA2 = volume.CVDefinedVolume(Identity2(), -0.5, 0.5)
Esempio n. 4
0
 def test_sub_combinations(self):
     assert (volA - volB) == volume.CVDefinedVolume(op_id, -0.5, 0.25)
     assert (volB - volC) == volB
     assert (volA - volD) == volume.EmptyVolume()
     assert (volB - volA) == volume.CVDefinedVolume(op_id, 0.5, 0.75)
     assert ((volD - volA) == volume.UnionVolume(
         volume.CVDefinedVolume(op_id, -0.75, -0.5),
         volume.CVDefinedVolume(op_id, 0.5, 0.75)))
     assert (volA2 - volA) == volume.RelativeComplementVolume(volA2, volA)
Esempio n. 5
0
 def test_and_combinations(self):
     assert (volA & volB) == volume.CVDefinedVolume(op_id, 0.25, 0.5)
     assert (volA & volB)(0.45) is True
     assert (volA & volB)(0.55) is False
     assert (volB & volC) == volume.EmptyVolume()
     # go to VolumeCombination if order parameter isn't the same
     assert (volA & volA2) == volume.VolumeCombination(
         volA, volA2, lambda a, b: a and b, '{0} and {1}')
Esempio n. 6
0
    def test_or_combinations(self):
        assert_equal((volA | volB), volume.CVDefinedVolume(op_id, -0.5, 0.75))
        assert_equal((volB | volC), volume.UnionVolume(volB, volC))
        assert_equal((volB | volC)(0.0), False)
        assert_equal((volB | volC)(0.5), True)
        assert_equal((volB | volC)(-0.5), True)

        # go to VolumeCombination if order parameters isn't the same
        assert_equal((volA2 | volB), volume.UnionVolume(volA2, volB))
Esempio n. 7
0
    def test_or_combinations(self):
        assert (volA | volB) == volume.CVDefinedVolume(op_id, -0.5, 0.75)
        assert (volB | volC) == volume.UnionVolume(volB, volC)
        assert (volB | volC)(0.0) is False
        assert (volB | volC)(0.5) is True
        assert (volB | volC)(-0.5) is True

        # go to VolumeCombination if order parameters isn't the same
        assert (volA2 | volB) == volume.UnionVolume(volA2, volB)
Esempio n. 8
0
 def test_and_combinations(self):
     assert_equal((volA & volB), volume.CVDefinedVolume(op_id, 0.25, 0.5))
     assert_equal((volA & volB)(0.45), True)
     assert_equal((volA & volB)(0.55), False)
     assert_equal((volB & volC), volume.EmptyVolume())
     # go to VolumeCombination if order parameter isn't the same
     assert_equal(
         (volA & volA2),
         volume.VolumeCombination(volA, volA2, lambda a, b: a and b,
                                  '{0} and {1}'))
Esempio n. 9
0
    def test_unit_support(self):
        import simtk.unit as u

        vol = volume.CVDefinedVolume(op_id, -0.5 * u.nanometers,
                                     0.25 * u.nanometers)

        assert (vol(-0.25 * u.nanometers))
        assert (not vol(-0.75 * u.nanometers))

        vol = volume.PeriodicCVDefinedVolume(op_id, -30 * u.nanometers,
                                             90 * u.nanometers,
                                             -180 * u.nanometers,
                                             180 * u.nanometers)

        assert (vol(50 * u.nanometers))
        assert (not vol(-70 * u.nanometers))
Esempio n. 10
0
    def test_unit_support(self):
        u = unit

        vol = volume.CVDefinedVolume(op_id, -0.5 * u.nanometers,
                                     0.25 * u.nanometers)

        assert vol(-0.25 * u.nanometers)
        assert not vol(-0.75 * u.nanometers)

        vol = volume.PeriodicCVDefinedVolume(op_id, -30 * u.nanometers,
                                             90 * u.nanometers,
                                             -180 * u.nanometers,
                                             180 * u.nanometers)

        assert vol(50 * u.nanometers)
        assert not vol(-70 * u.nanometers)
Esempio n. 11
0
    def test_unit_support(self):
        if not paths.integration_tools.HAS_SIMTK_UNIT:
            raise SkipTest
        u = unit

        vol = volume.CVDefinedVolume(op_id, -0.5 * u.nanometers,
                                     0.25 * u.nanometers)

        assert (vol(-0.25 * u.nanometers))
        assert (not vol(-0.75 * u.nanometers))

        vol = volume.PeriodicCVDefinedVolume(op_id, -30 * u.nanometers,
                                             90 * u.nanometers,
                                             -180 * u.nanometers,
                                             180 * u.nanometers)

        assert (vol(50 * u.nanometers))
        assert (not vol(-70 * u.nanometers))
Esempio n. 12
0
 def test_inf_upper_boundary(self):
     volX = volume.CVDefinedVolume(op_id, 0, float('inf'))
     assert volA(float('inf')) is False
     assert volX(float('inf')) is True
Esempio n. 13
0
 def test_inf_lower_boundary(self):
     volX = volume.CVDefinedVolume(op_id, float('-inf'), 0)
     assert volA(float('-inf')) is False
     assert volX(float('-inf')) is True