Esempio n. 1
0
    def test_sample_arm_add(self):
        """Test SampleArm's __add__ overload operator."""
        arm1 = SampleArm(win=2, loss=1, total=3)
        arm2 = SampleArm(win=3, loss=2, total=5)
        arm3 = arm1 + arm2
        T.assert_equals(arm3.json_payload(), SampleArm(win=5, loss=3, total=8).json_payload())
        # Verify that the + operator does not modify arm1 and arm2
        T.assert_equals(arm1.json_payload(), SampleArm(win=2, loss=1, total=3).json_payload())
        T.assert_equals(arm2.json_payload(), SampleArm(win=3, loss=2, total=5).json_payload())

        arm1 += arm2
        arm2 += arm1
        T.assert_equals(arm1.json_payload(), SampleArm(win=5, loss=3, total=8).json_payload())
        T.assert_equals(arm2.json_payload(), SampleArm(win=8, loss=5, total=13).json_payload())
        # Verify that modifying arm1 and arm2 does not change arm3
        T.assert_equals(arm3.json_payload(), SampleArm(win=5, loss=3, total=8).json_payload())
Esempio n. 2
0
    def test_sample_arm_add(self):
        """Test SampleArm's __add__ overload operator."""
        arm1 = SampleArm(win=2, loss=1, total=3)
        arm2 = SampleArm(win=3, loss=2, total=5)
        arm3 = arm1 + arm2
        T.assert_equals(arm3.json_payload(),
                        SampleArm(win=5, loss=3, total=8).json_payload())
        # Verify that the + operator does not modify arm1 and arm2
        T.assert_equals(arm1.json_payload(),
                        SampleArm(win=2, loss=1, total=3).json_payload())
        T.assert_equals(arm2.json_payload(),
                        SampleArm(win=3, loss=2, total=5).json_payload())

        arm1 += arm2
        arm2 += arm1
        T.assert_equals(arm1.json_payload(),
                        SampleArm(win=5, loss=3, total=8).json_payload())
        T.assert_equals(arm2.json_payload(),
                        SampleArm(win=8, loss=5, total=13).json_payload())
        # Verify that modifying arm1 and arm2 does not change arm3
        T.assert_equals(arm3.json_payload(),
                        SampleArm(win=5, loss=3, total=8).json_payload())
Esempio n. 3
0
    def test_sample_arm_iadd(self):
        """Test SampleArm's __iadd__ overload operator.

        Verify that after x += y, x gets the new value x + y and still retains its old id.

        """
        arm1 = SampleArm(win=2, loss=1, total=3)
        arm2 = SampleArm(win=3, loss=2, total=5)
        arm3 = arm1 + arm2
        arm1_old_id = id(arm1)
        arm1 += arm2
        arm1_new_id = id(arm1)
        assert arm1_old_id == arm1_new_id
        assert arm1.json_payload() == arm3.json_payload()
Esempio n. 4
0
    def test_sample_arm_iadd(self):
        """Test SampleArm's __iadd__ overload operator.

        Verify that after x += y, x gets the new value x + y and still retains its old id.

        """
        arm1 = SampleArm(win=2, loss=1, total=3)
        arm2 = SampleArm(win=3, loss=2, total=5)
        arm3 = arm1 + arm2
        arm1_old_id = id(arm1)
        arm1 += arm2
        arm1_new_id = id(arm1)
        assert arm1_old_id == arm1_new_id
        assert arm1.json_payload() == arm3.json_payload()