1# Copyright 2013 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4import os 5import unittest 6 7from telemetry import value 8from telemetry.page import page_set 9 10class TestBase(unittest.TestCase): 11 def setUp(self): 12 self.page_set = page_set.PageSet(file_path=os.path.dirname(__file__)) 13 self.page_set.AddPageWithDefaultRunNavigate("http://www.bar.com/") 14 self.page_set.AddPageWithDefaultRunNavigate("http://www.baz.com/") 15 self.page_set.AddPageWithDefaultRunNavigate("http://www.foo.com/") 16 17 @property 18 def pages(self): 19 return self.page_set.pages 20 21class ValueTest(TestBase): 22 def testCompat(self): 23 page0 = self.pages[0] 24 page1 = self.pages[0] 25 26 a = value.Value(page0, 'x', 'unit', important=False) 27 b = value.Value(page1, 'x', 'unit', important=False) 28 self.assertTrue(b.IsMergableWith(a)) 29 30 def testIncompat(self): 31 page0 = self.pages[0] 32 33 a = value.Value(page0, 'x', 'unit', important=False) 34 b = value.Value(page0, 'x', 'incompatUnit', important=False) 35 self.assertFalse(b.IsMergableWith(a)) 36 37 a = value.Value(page0, 'x', 'unit', important=False) 38 b = value.Value(page0, 'x', 'unit', important=True) 39 self.assertFalse(b.IsMergableWith(a)) 40 41 a = value.Value(page0, 'x', 'unit', important=False) 42 b = value.ScalarValue(page0, 'x', 'unit', 3, important=True) 43 self.assertFalse(b.IsMergableWith(a)) 44