/test/lib/automaton/test_automaton_01.e

http://github.com/tybor/Liberty · Specman e · 53 lines · 45 code · 8 blank · 0 comment · 1 complexity · 724e1d378cb4bd9794b7468816f7c450 MD5 · raw file

  1. class TEST_AUTOMATON_01
  2. insert
  3. EIFFELTEST_TOOLS
  4. create {}
  5. make
  6. feature {}
  7. make
  8. do
  9. assert_number("1".intern, True)
  10. assert_number("a".intern, False)
  11. assert_number("1.".intern, False)
  12. assert_number("1.0".intern, True)
  13. assert_number(".3".intern, True)
  14. assert_number(".".intern, False)
  15. assert_number("24.a3".intern, False)
  16. assert_number("3.1415926535897932384626".intern, True)
  17. assert_number("2.6.31".intern, False)
  18. end
  19. assert_number (num: FIXED_STRING; is_num: BOOLEAN)
  20. local
  21. aux: AUX_AUTOMATON_01
  22. do
  23. create aux.make(num)
  24. aux.run
  25. if is_num then
  26. message_assert(agent is_a_number(num), aux.is_number)
  27. message_assert(agent expected(num, aux) + " was expected", num.is_equal(aux.found_number))
  28. else
  29. message_assert(agent is_not_a_number(num), not aux.is_number)
  30. end
  31. end
  32. feature {} -- assert messages
  33. is_a_number (num: FIXED_STRING): STRING
  34. do
  35. Result := num.out + once " is a number"
  36. end
  37. expected (num: FIXED_STRING; aux: AUX_AUTOMATON_01): STRING
  38. do
  39. Result := "Expected " + num.out + " but got " + aux.found_number.out
  40. end
  41. is_not_a_number (num: FIXED_STRING): STRING
  42. do
  43. Result := num.out + once " is not a number"
  44. end
  45. end