You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.7KB

  1. (module test-database ()
  2. (import scheme)
  3. (import (chicken base))
  4. (import (chicken syntax))
  5. (import test)
  6. (import database)
  7. (test-group "database"
  8. (test '((test . ((test-key . 3)))) (begin (database-null)
  9. (database-set 'test 'test-key 3)
  10. *database*))
  11. (test 3 (begin (database-null)
  12. (database-set 'test 'test-key 3)
  13. (database-get 'test 'test-key #f)))
  14. (test '((test . ((test-key . 3)))) (begin (database-null)
  15. (database-set 'test 'test-key 3)
  16. (database-save "test.sav")
  17. (database-null)
  18. (database-load "test.sav")))
  19. (test '() (begin (database-null)
  20. (database-set 'test 'test-key 3)
  21. (database-remove 'test)
  22. *database*))
  23. (test '(test) (begin (database-null)
  24. (database-set 'test 'test-key 3)
  25. (get-all-objects)))
  26. (test-group "object-exists?"
  27. (test #t (begin (database-null)
  28. (database-set 'test 'test-key 3)
  29. (object-exists? 'test)))
  30. (test #f (begin (database-null)
  31. (object-exists? 'test))))
  32. (test-group "has-property?"
  33. (test #t (begin (database-null)
  34. (database-set 'test 'test-key 3)
  35. (has-property? 'test 'test-key)))
  36. (test #f (begin (database-null)
  37. (database-set 'test 'test-key 3)
  38. (has-property? 'test 'nosuch-key))))
  39. (test-group "toggle-flag"
  40. (test #t (begin (database-null)
  41. (database-set 'test 'test-key #f)
  42. (toggle-flag 'test 'test-key)
  43. (database-get 'test 'test-key #f)))
  44. (test #f (begin (database-null)
  45. (database-set 'test 'test-key #t)
  46. (toggle-flag 'test 'test-key)
  47. (database-get 'test 'test-key #t))))))