| # Copyright 2013 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| import unittest |
| |
| from telemetry.internal.platform import gpu_device |
| |
| |
| class TestGPUDevice(unittest.TestCase): |
| |
| def testConstruction(self): |
| device = gpu_device.GPUDevice(1000, 2000, 'test_vendor', 'test_device') |
| self.assertEquals(device.vendor_id, 1000) |
| self.assertEquals(device.device_id, 2000) |
| self.assertEquals(device.vendor_string, 'test_vendor') |
| self.assertEquals(device.device_string, 'test_device') |
| |
| def testFromDict(self): |
| dictionary = {'vendor_id': 3000, |
| 'device_id': 4000, |
| 'vendor_string': 'test_vendor_2', |
| 'device_string': 'test_device_2'} |
| device = gpu_device.GPUDevice.FromDict(dictionary) |
| self.assertEquals(device.vendor_id, 3000) |
| self.assertEquals(device.device_id, 4000) |
| self.assertEquals(device.vendor_string, 'test_vendor_2') |
| self.assertEquals(device.device_string, 'test_device_2') |
| |
| def testMissingAttrsFromDict(self): |
| data = { |
| 'vendor_id': 1, |
| 'device_id': 2, |
| 'vendor_string': 'a', |
| 'device_string': 'b' |
| } |
| |
| for k in data: |
| data_copy = data.copy() |
| del data_copy[k] |
| try: |
| gpu_device.GPUDevice.FromDict(data_copy) |
| self.fail('Should raise exception if attribute "%s" is missing' % k) |
| except AssertionError: |
| raise |
| except KeyError: |
| pass |