Assert.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import AssertionFailedException from './AssertionFailedException'
  2. export default class Assert {
  3. static shouldNeverReachHere() {
  4. if (arguments.length === 0) {
  5. Assert.shouldNeverReachHere(null)
  6. } else if (arguments.length === 1) {
  7. const message = arguments[0]
  8. throw new AssertionFailedException('Should never reach here' + (message !== null ? ': ' + message : ''))
  9. }
  10. }
  11. static isTrue() {
  12. if (arguments.length === 1) {
  13. const assertion = arguments[0]
  14. Assert.isTrue(assertion, null)
  15. } else if (arguments.length === 2) {
  16. const assertion = arguments[0], message = arguments[1]
  17. if (!assertion)
  18. if (message === null)
  19. throw new AssertionFailedException()
  20. else
  21. throw new AssertionFailedException(message)
  22. }
  23. }
  24. static equals() {
  25. if (arguments.length === 2) {
  26. const expectedValue = arguments[0], actualValue = arguments[1]
  27. Assert.equals(expectedValue, actualValue, null)
  28. } else if (arguments.length === 3) {
  29. const expectedValue = arguments[0], actualValue = arguments[1], message = arguments[2]
  30. if (!actualValue.equals(expectedValue))
  31. throw new AssertionFailedException('Expected ' + expectedValue + ' but encountered ' + actualValue + (message !== null ? ': ' + message : ''))
  32. }
  33. }
  34. }