Guest User

Untitled

a guest
Jan 20th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. module Test.Main where
  2.  
  3. import Prelude
  4. import Control.Monad.Eff (Eff)
  5. import Control.Monad.Aff.AVar (AVAR)
  6. import Control.Monad.Eff.Console (CONSOLE)
  7. import Test.Unit (TestSuite, suite, test)
  8. import Test.Unit.Console (TESTOUTPUT)
  9. import Test.Unit.Main (runTest)
  10. import Test.Unit.Assert as Assert
  11. import PhoneNumber (phoneNumber)
  12.  
  13. main :: forall eff
  14. . Eff ( avar :: AVAR
  15. , console :: CONSOLE
  16. , testOutput :: TESTOUTPUT
  17. | eff
  18. )
  19. Unit
  20. main = runTest suites
  21.  
  22. suites :: forall e. TestSuite e
  23. suites = do
  24. suite "PhoneNumber.phoneNumber" do
  25. test "cleans the number" do
  26. Assert.equal "2234567890" $ phoneNumber "(223) 456-7890"
  27. test "cleans numbers with dots" do
  28. Assert.equal "2234567890" $ phoneNumber "223.456.7890"
  29. test "cleans numbers with multiple spaces" do
  30. Assert.equal "2234567890" $ phoneNumber "223 456 7890 "
  31. test "invalid when 9 digits" do
  32. Assert.equal "None" $ phoneNumber "123456789"
  33. test "invalid when 11 digits does not start with a 1" do
  34. Assert.equal "None" $ phoneNumber "22234567890"
  35. test "valid when 11 digits and starting with 1" do
  36. Assert.equal "2234567890" $ phoneNumber "12234567890"
  37. test "valid when 11 digits and starting with 1 even with punctuation" do
  38. Assert.equal "2234567890" $ phoneNumber "+1 (223) 456-7890"
  39. test "invalid when more than 11 digits" do
  40. Assert.equal "None" $ phoneNumber "321234567890"
  41. test "invalid with letters" do
  42. Assert.equal "None" $ phoneNumber "123-abc-7890"
  43. test "invalid with punctuations" do
  44. Assert.equal "None" $ phoneNumber "123-@:!-7890"
  45. test "invalid if area code does not start with 2-9" do
  46. Assert.equal "None" $ phoneNumber "(123) 456-7890"
  47. test "invalid if exchange code does not start with 2-9" do
  48. Assert.equal "None" $ phoneNumber "(223) 056-7890"
Add Comment
Please, Sign In to add comment