17db96d56Sopenharmony_ciimport unittest 27db96d56Sopenharmony_cifrom test.support import import_helper 37db96d56Sopenharmony_ciimport types 47db96d56Sopenharmony_ci 57db96d56Sopenharmony_cixxlimited = import_helper.import_module('xxlimited') 67db96d56Sopenharmony_cixxlimited_35 = import_helper.import_module('xxlimited_35') 77db96d56Sopenharmony_ci 87db96d56Sopenharmony_ci 97db96d56Sopenharmony_ciclass CommonTests: 107db96d56Sopenharmony_ci module: types.ModuleType 117db96d56Sopenharmony_ci 127db96d56Sopenharmony_ci def test_xxo_new(self): 137db96d56Sopenharmony_ci xxo = self.module.Xxo() 147db96d56Sopenharmony_ci 157db96d56Sopenharmony_ci def test_xxo_attributes(self): 167db96d56Sopenharmony_ci xxo = self.module.Xxo() 177db96d56Sopenharmony_ci with self.assertRaises(AttributeError): 187db96d56Sopenharmony_ci xxo.foo 197db96d56Sopenharmony_ci with self.assertRaises(AttributeError): 207db96d56Sopenharmony_ci del xxo.foo 217db96d56Sopenharmony_ci 227db96d56Sopenharmony_ci xxo.foo = 1234 237db96d56Sopenharmony_ci self.assertEqual(xxo.foo, 1234) 247db96d56Sopenharmony_ci 257db96d56Sopenharmony_ci del xxo.foo 267db96d56Sopenharmony_ci with self.assertRaises(AttributeError): 277db96d56Sopenharmony_ci xxo.foo 287db96d56Sopenharmony_ci 297db96d56Sopenharmony_ci def test_foo(self): 307db96d56Sopenharmony_ci # the foo function adds 2 numbers 317db96d56Sopenharmony_ci self.assertEqual(self.module.foo(1, 2), 3) 327db96d56Sopenharmony_ci 337db96d56Sopenharmony_ci def test_str(self): 347db96d56Sopenharmony_ci self.assertTrue(issubclass(self.module.Str, str)) 357db96d56Sopenharmony_ci self.assertIsNot(self.module.Str, str) 367db96d56Sopenharmony_ci 377db96d56Sopenharmony_ci custom_string = self.module.Str("abcd") 387db96d56Sopenharmony_ci self.assertEqual(custom_string, "abcd") 397db96d56Sopenharmony_ci self.assertEqual(custom_string.upper(), "ABCD") 407db96d56Sopenharmony_ci 417db96d56Sopenharmony_ci def test_new(self): 427db96d56Sopenharmony_ci xxo = self.module.new() 437db96d56Sopenharmony_ci self.assertEqual(xxo.demo("abc"), "abc") 447db96d56Sopenharmony_ci 457db96d56Sopenharmony_ci 467db96d56Sopenharmony_ciclass TestXXLimited(CommonTests, unittest.TestCase): 477db96d56Sopenharmony_ci module = xxlimited 487db96d56Sopenharmony_ci 497db96d56Sopenharmony_ci def test_xxo_demo(self): 507db96d56Sopenharmony_ci xxo = self.module.Xxo() 517db96d56Sopenharmony_ci other = self.module.Xxo() 527db96d56Sopenharmony_ci self.assertEqual(xxo.demo("abc"), "abc") 537db96d56Sopenharmony_ci self.assertEqual(xxo.demo(xxo), xxo) 547db96d56Sopenharmony_ci self.assertEqual(xxo.demo(other), other) 557db96d56Sopenharmony_ci self.assertEqual(xxo.demo(0), None) 567db96d56Sopenharmony_ci 577db96d56Sopenharmony_ci def test_error(self): 587db96d56Sopenharmony_ci with self.assertRaises(self.module.Error): 597db96d56Sopenharmony_ci raise self.module.Error 607db96d56Sopenharmony_ci 617db96d56Sopenharmony_ci def test_buffer(self): 627db96d56Sopenharmony_ci xxo = self.module.Xxo() 637db96d56Sopenharmony_ci self.assertEqual(xxo.x_exports, 0) 647db96d56Sopenharmony_ci b1 = memoryview(xxo) 657db96d56Sopenharmony_ci self.assertEqual(xxo.x_exports, 1) 667db96d56Sopenharmony_ci b2 = memoryview(xxo) 677db96d56Sopenharmony_ci self.assertEqual(xxo.x_exports, 2) 687db96d56Sopenharmony_ci b1[0] = 1 697db96d56Sopenharmony_ci self.assertEqual(b1[0], 1) 707db96d56Sopenharmony_ci self.assertEqual(b2[0], 1) 717db96d56Sopenharmony_ci 727db96d56Sopenharmony_ci 737db96d56Sopenharmony_ciclass TestXXLimited35(CommonTests, unittest.TestCase): 747db96d56Sopenharmony_ci module = xxlimited_35 757db96d56Sopenharmony_ci 767db96d56Sopenharmony_ci def test_xxo_demo(self): 777db96d56Sopenharmony_ci xxo = self.module.Xxo() 787db96d56Sopenharmony_ci other = self.module.Xxo() 797db96d56Sopenharmony_ci self.assertEqual(xxo.demo("abc"), "abc") 807db96d56Sopenharmony_ci self.assertEqual(xxo.demo(0), None) 817db96d56Sopenharmony_ci 827db96d56Sopenharmony_ci def test_roj(self): 837db96d56Sopenharmony_ci # the roj function always fails 847db96d56Sopenharmony_ci with self.assertRaises(SystemError): 857db96d56Sopenharmony_ci self.module.roj(0) 867db96d56Sopenharmony_ci 877db96d56Sopenharmony_ci def test_null(self): 887db96d56Sopenharmony_ci null1 = self.module.Null() 897db96d56Sopenharmony_ci null2 = self.module.Null() 907db96d56Sopenharmony_ci self.assertNotEqual(null1, null2) 91