1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# Copyright 2014 The Chromium Authors. All rights reserved.
2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be
3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)# found in the LICENSE file.
4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)import unittest
5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
6f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)from telemetry.timeline import bounds
7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)class BoundsTests(unittest.TestCase):
10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)
11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  def testGetOverlap(self):
12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    # Non overlap cases.
13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    self.assertEquals(0, bounds.Bounds.GetOverlap(10, 20, 30, 40))
14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    self.assertEquals(0, bounds.Bounds.GetOverlap(30, 40, 10, 20))
15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    # Overlap cases.
16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    self.assertEquals(10, bounds.Bounds.GetOverlap(10, 30, 20, 40))
17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    self.assertEquals(10, bounds.Bounds.GetOverlap(20, 40, 10, 30))
18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    # Inclusive cases.
19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    self.assertEquals(10, bounds.Bounds.GetOverlap(10, 40, 20, 30))
20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)    self.assertEquals(10, bounds.Bounds.GetOverlap(20, 30, 10, 40))
21