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