Пример #1
0
 def test_same_names(self):
     """
     PackageCollection should reject attempts
     to add two packages with the same name
     """
     self.assertRaisesRegex(
         ValueError,
         "All packages provided to PackageCollection must have unique names",
         lambda: PackageCollection(packages=[
             PackageAPI.from_json(self.py_pkg_file),
             PackageAPI.from_json(self.py_pkg_file)
         ]))
Пример #2
0
    def test_from_json_py(self):
        """
        PackageAPI.from_json() should work for Python packages
        """
        pkg = PackageAPI.from_json(self.py_pkg_file)

        self.assertEqual(pkg.name(), 'boombap [python]')
        self.assertEqual(pkg.num_functions(), 1)
        self.assertEqual(pkg.function_names(), ['playback'])
        self.assertEqual(pkg.functions_with_args(),
                         {'playback': {
                             'args': ['bpm', 'bass']
                         }})
        self.assertEqual(pkg.num_classes(), 1)
        self.assertEqual(pkg.class_names(), ["LupeFiasco"])
        self.assertEqual(pkg.public_methods("LupeFiasco"),
                         ["coast", "~~CONSTRUCTOR~~"])
        self.assertEqual(
            pkg.public_method_args("LupeFiasco", "~~CONSTRUCTOR~~"),
            ["kick", "push"])
        self.assertEqual(pkg.public_method_args("LupeFiasco", "coast"), [])
Пример #3
0
    def test_from_json_r(self):
        """
        PackageAPI.from_json() should work for R packages
        """
        pkg = PackageAPI.from_json(self.r_pkg_file)

        self.assertEqual(pkg.name(), "boombap [r]")
        self.assertEqual(pkg.num_functions(), 1)
        self.assertEqual(pkg.function_names(), ["playback"])
        self.assertEqual(pkg.functions_with_args(),
                         {"playback": {
                             "args": ["bpm", "bass"]
                         }})
        self.assertEqual(pkg.num_classes(), 1)
        self.assertEqual(pkg.class_names(), ["LupeFiasco"])
        self.assertEqual(pkg.public_methods("LupeFiasco"),
                         ["coast", "words", "~~CONSTRUCTOR~~"])
        self.assertEqual(
            pkg.public_method_args("LupeFiasco", "~~CONSTRUCTOR~~"),
            ["kick", "push"])
        self.assertEqual(pkg.public_method_args("LupeFiasco", "coast"), [])
        self.assertEqual(pkg.public_method_args("LupeFiasco", "words"),
                         ["i_said", "i_never_said"])
Пример #4
0
 def setUp(self):
     self.pkg_collection = PackageCollection(packages=[
         PackageAPI.from_json(self.py_pkg_file),
         PackageAPI.from_json(self.r_pkg_file),
     ])