| Index: tools/telemetry/telemetry/util/classes_unittest.py
|
| diff --git a/tools/telemetry/telemetry/util/classes_unittest.py b/tools/telemetry/telemetry/util/classes_unittest.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..87173682de429b9497a13715aafc999ee54de912
|
| --- /dev/null
|
| +++ b/tools/telemetry/telemetry/util/classes_unittest.py
|
| @@ -0,0 +1,45 @@
|
| +# Copyright 2014 The Chromium Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +import unittest
|
| +
|
| +from telemetry.util import classes
|
| +
|
| +
|
| +class ClassWithoutInitDefOne: # pylint: disable=W0232
|
| + pass
|
| +
|
| +
|
| +class ClassWithoutInitDefTwo(object):
|
| + pass
|
| +
|
| +
|
| +class ClassWhoseInitOnlyHasSelf(object):
|
| + def __init__(self):
|
| + pass
|
| +
|
| +
|
| +class ClassWhoseInitWithDefaultArguments(object):
|
| + def __init__(self, dog=1, cat=None, cow=None, fud='a'):
|
| + pass
|
| +
|
| +
|
| +class ClassWhoseInitWithDefaultArgumentsAndNonDefaultArguments(object):
|
| + def __init__(self, x, dog=1, cat=None, fish=None, fud='a'):
|
| + pass
|
| +
|
| +
|
| +class ClassesUnitTest(unittest.TestCase):
|
| +
|
| + def testIsDirectlyConstructableReturnsTrue(self):
|
| + self.assertTrue(classes.IsDirectlyConstructable(ClassWithoutInitDefOne))
|
| + self.assertTrue(classes.IsDirectlyConstructable(ClassWithoutInitDefTwo))
|
| + self.assertTrue(classes.IsDirectlyConstructable(ClassWhoseInitOnlyHasSelf))
|
| + self.assertTrue(
|
| + classes.IsDirectlyConstructable(ClassWhoseInitWithDefaultArguments))
|
| +
|
| + def testIsDirectlyConstructableReturnsFalse(self):
|
| + self.assertFalse(
|
| + classes.IsDirectlyConstructable(
|
| + ClassWhoseInitWithDefaultArgumentsAndNonDefaultArguments))
|
|
|