1# Copyright 2014 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. 4 5import unittest 6 7import telemetry.web_perf.metrics.timeline_based_metric as tbm_module 8 9 10class TimelineBasedMetricTest(unittest.TestCase): 11 12 # pylint: disable=W0212 13 def testTimeRangesHasOverlap(self): 14 # Test cases with overlap on one side 15 self.assertTrue(tbm_module._TimeRangesHasOverlap([(10, 20), (5, 15)])) 16 self.assertTrue(tbm_module._TimeRangesHasOverlap([(5, 15), (10, 20)])) 17 self.assertTrue(tbm_module._TimeRangesHasOverlap( 18 [(5, 15), (25, 30), (10, 20)])) 19 20 # Test cases with one range fall in the middle of other 21 self.assertTrue(tbm_module._TimeRangesHasOverlap([(10, 20), (15, 18)])) 22 self.assertTrue(tbm_module._TimeRangesHasOverlap([(15, 18), (10, 20)])) 23 self.assertTrue(tbm_module._TimeRangesHasOverlap( 24 [(15, 18), (40, 50), (10, 20)])) 25 26 self.assertFalse(tbm_module._TimeRangesHasOverlap([(15, 18), (20, 25)])) 27 self.assertFalse(tbm_module._TimeRangesHasOverlap( 28 [(1, 2), (2, 3), (0, 1)])) 29