• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/python3
2# Copyright 2021 The Chromium OS Authors. All rights reserved.
3# Use of this source code is governed by a BSD-style license that can be
4# found in the LICENSE file.
5"""Unit tests for Comparators."""
6
7import unittest
8
9import common
10
11from autotest_lib.client.common_lib.test_utils import comparators
12
13
14class TestComparators(unittest.TestCase):
15    """Unittests for Seven comparator helpers."""
16
17    def testIsA(self):
18        class MockedClass(object):
19            pass
20
21        class FooClass(object):
22            pass
23
24        foo = comparators.IsA(MockedClass)
25        self.assertTrue(foo == MockedClass)
26        self.assertFalse(foo == FooClass)
27
28    def testAnyStringWith(self):
29        """Test AnyStringWith evaluates properly."""
30        f = comparators.Substring("foobar")
31        self.assertTrue(f == "foobarfizz")
32        self.assertTrue("foobarfizz" == f)
33        self.assertTrue(f == "fizzfoobar")
34        self.assertTrue(f == "foobar")
35        self.assertFalse(f == "fizzfoobuzzbar")
36        self.assertFalse(f == "foo")
37
38    def testAndComparitor(self):
39        """Test AndComparator evaluates properly."""
40        foo = comparators.Substrings(["host", "name", "cros"])
41        self.assertTrue(foo == "a.host.name.cros")
42        self.assertFalse(foo == "a.host.cros")
43
44
45if __name__ == "__main__":
46    unittest.TestCase()
47