def test_not_equal_on_not_equal_unique_identifier(self):
        """
        Test that the inequality operator returns True when comparing two
        GetUsageAllocation response payloads with different unique identifiers.
        """
        a = payloads.GetUsageAllocationResponsePayload(unique_identifier='a')
        b = payloads.GetUsageAllocationResponsePayload(unique_identifier='b')

        self.assertTrue(a != b)
        self.assertTrue(b != a)
    def test_init(self):
        """
        Test that a GetUsageAllocation response payload can be constructed
        with no arguments.
        """
        payload = payloads.GetUsageAllocationResponsePayload()

        self.assertEqual(None, payload.unique_identifier)
    def test_not_equal_on_equal(self):
        """
        Test that the inequality operator returns False when comparing two
        GetUsageAllocation response payloads with the same data.
        """
        a = payloads.GetUsageAllocationResponsePayload()
        b = payloads.GetUsageAllocationResponsePayload()

        self.assertFalse(a != b)
        self.assertFalse(b != a)

        a = payloads.GetUsageAllocationResponsePayload(
            unique_identifier='49a1ca88-6bea-4fb2-b450-7e58802c3038')
        b = payloads.GetUsageAllocationResponsePayload(
            unique_identifier='49a1ca88-6bea-4fb2-b450-7e58802c3038')

        self.assertFalse(a != b)
        self.assertFalse(b != a)
    def test_not_equal_on_type_mismatch(self):
        """
        Test that the inequality operator returns True when comparing two
        GetUsageAllocation response payloads with different types.
        """
        a = payloads.GetUsageAllocationResponsePayload()
        b = 'invalid'

        self.assertTrue(a != b)
        self.assertTrue(b != a)
    def test_init_with_args(self):
        """
        Test that a GetUsageAllocation response payload can be constructed
        with valid values.
        """
        payload = payloads.GetUsageAllocationResponsePayload(
            unique_identifier='00000000-1111-2222-3333-444444444444')

        self.assertEqual('00000000-1111-2222-3333-444444444444',
                         payload.unique_identifier)
    def test_write_empty(self):
        """
        Test that an empty GetUsageAllocation response payload can be written
        to a data stream.
        """
        payload = payloads.GetUsageAllocationResponsePayload()
        stream = utils.BytearrayStream()
        payload.write(stream)

        self.assertEqual(len(self.empty_encoding), len(stream))
        self.assertEqual(str(self.empty_encoding), str(stream))
    def test_str(self):
        """
        Test that str can be applied to a GetUsageAllocation response payload
        """
        payload = payloads.GetUsageAllocationResponsePayload(
            unique_identifier='49a1ca88-6bea-4fb2-b450-7e58802c3038')

        expected = str(
            {'unique_identifier': '49a1ca88-6bea-4fb2-b450-7e58802c3038'})
        observed = str(payload)

        self.assertEqual(expected, observed)
    def test_repr(self):
        """
        Test that repr can be applied to a GetUsageAllocation response payload.
        """
        payload = payloads.GetUsageAllocationResponsePayload(
            unique_identifier='49a1ca88-6bea-4fb2-b450-7e58802c3038')
        expected = (
            "GetUsageAllocationResponsePayload("
            "unique_identifier='49a1ca88-6bea-4fb2-b450-7e58802c3038')")
        observed = repr(payload)

        self.assertEqual(expected, observed)
    def test_write(self):
        """
        Test that a GetUsageAllocation response payload can be written to a
        data stream.
        """
        payload = payloads.GetUsageAllocationResponsePayload(
            unique_identifier='2c23217e-f53c-4bdf-ad0a-58a31fd3d4b6')
        stream = utils.BytearrayStream()
        payload.write(stream)

        self.assertEqual(len(self.full_encoding), len(stream))
        self.assertEqual(str(self.full_encoding), str(stream))
    def test_read_empty(self):
        """
        Test that a GetUsageAllocation response payload can be read from an
        empty data stream.
        """
        payload = payloads.GetUsageAllocationResponsePayload()

        self.assertEqual(None, payload.unique_identifier)

        payload.read(self.empty_encoding)

        self.assertEqual(None, payload.unique_identifier)
    def test_read(self):
        """
        Test that a GetUsageAllocation response payload can be read from a
        data stream.
        """
        payload = payloads.GetUsageAllocationResponsePayload()

        self.assertEqual(None, payload.unique_identifier)

        payload.read(self.full_encoding)

        self.assertEqual('2c23217e-f53c-4bdf-ad0a-58a31fd3d4b6',
                         payload.unique_identifier)
    def test_invalid_unique_identifier(self):
        """
        Test that a TypeError is raised when an invalid value is used to set
        the unique identifier of a GetUsageAllocation response payload.
        """
        kwargs = {'unique_identifier': 0}
        self.assertRaisesRegex(TypeError,
                               "Unique identifier must be a string.",
                               payloads.GetUsageAllocationResponsePayload,
                               **kwargs)

        payload = payloads.GetUsageAllocationResponsePayload()
        args = (payload, 'unique_identifier', 0)
        self.assertRaisesRegex(TypeError,
                               "Unique identifier must be a string.", setattr,
                               *args)