aboutsummaryrefslogtreecommitdiff
path: root/catapult/telemetry/telemetry/internal/platform/gpu_device_unittest.py
diff options
context:
space:
mode:
Diffstat (limited to 'catapult/telemetry/telemetry/internal/platform/gpu_device_unittest.py')
-rw-r--r--catapult/telemetry/telemetry/internal/platform/gpu_device_unittest.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/catapult/telemetry/telemetry/internal/platform/gpu_device_unittest.py b/catapult/telemetry/telemetry/internal/platform/gpu_device_unittest.py
new file mode 100644
index 00000000..d4ba3849
--- /dev/null
+++ b/catapult/telemetry/telemetry/internal/platform/gpu_device_unittest.py
@@ -0,0 +1,46 @@
+# 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