test_modelverse.py 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. from modelverse import *
  2. from random import random
  3. username = str(random())
  4. password = str(random())
  5. model_name = str(random())
  6. model_name2 = str(random())
  7. init()
  8. login(username, password)
  9. model_add(model_name, "SimpleClassDiagrams", open("models/petrinet_ports.mvc", "r").read())
  10. print(verify("SimpleClassDiagrams"))
  11. model_modify("SimpleClassDiagrams")
  12. print(element_list())
  13. try:
  14. print(model_list())
  15. raise Exception("ERROR")
  16. except InvalidMode:
  17. print(types())
  18. try:
  19. print(read("Place"))
  20. raise Exception("ERROR")
  21. except UnknownIdentifier:
  22. print(read("Class"))
  23. try:
  24. print(read_attrs("Place"))
  25. raise Exception("ERROR")
  26. except UnknownIdentifier:
  27. print(read_attrs("Class"))
  28. try:
  29. print(instantiate("Class", None, "abc"))
  30. raise Exception("ERROR")
  31. except PermissionDenied:
  32. print(("abc", "Class") not in element_list())
  33. model_exit()
  34. print(verify(model_name))
  35. model_modify(model_name)
  36. print(element_list())
  37. print(instantiate("Class", None, "abc"))
  38. print(("abc", "Class") in element_list())
  39. model_exit()
  40. model_add(model_name2, model_name)
  41. model_modify(model_name2)
  42. p1 = instantiate("Place")
  43. p2 = instantiate("Place")
  44. t1 = instantiate("Transition")
  45. p2t = instantiate("P2T", (p1, t1))
  46. t2p = instantiate("T2P", (t1, p2))
  47. print(element_list())
  48. print(read_attrs(p1))
  49. attr_assign(p1, "name", "p1")
  50. attr_assign(p1, "tokens", 1)
  51. print(read_attrs(p1))
  52. model_exit()
  53. print(verify(model_name2))
  54. model_modify(model_name2)
  55. attr_assign(p2, "name", "p2")
  56. attr_assign(p2, "tokens", 3)
  57. model_exit()
  58. print(verify(model_name2))
  59. model_modify(model_name2)
  60. attr_assign(t1, "name", "t1")
  61. try:
  62. attr_assign(t2p, "weight", 2)
  63. raise Exception("ERROR")
  64. except NoSuchAttribute:
  65. model_exit()
  66. print(verify(model_name2))