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) ]))
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"), [])
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"])
def setUp(self): self.pkg_collection = PackageCollection(packages=[ PackageAPI.from_json(self.py_pkg_file), PackageAPI.from_json(self.r_pkg_file), ])