learning F#, it seems pretty cool, favourite functional language so far.
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.

QueenAttackTests.fs 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. // This file was auto-generated based on version 2.3.0 of the canonical data.
  2. module QueenAttackTests
  3. open FsUnit.Xunit
  4. open Xunit
  5. open QueenAttack
  6. [<Fact>]
  7. let ``Queen with a valid position`` () =
  8. create (2, 2) |> should equal true
  9. [<Fact>]
  10. let ``Queen must have positive row`` () =
  11. create (-2, 2) |> should equal false
  12. [<Fact>]
  13. let ``Queen must have row on board`` () =
  14. create (8, 4) |> should equal false
  15. [<Fact>]
  16. let ``Queen must have positive column`` () =
  17. create (2, -2) |> should equal false
  18. [<Fact>]
  19. let ``Queen must have column on board`` () =
  20. create (4, 8) |> should equal false
  21. [<Fact>]
  22. let ``Can not attack`` () =
  23. let whiteQueen = (2, 4)
  24. let blackQueen = (6, 6)
  25. canAttack blackQueen whiteQueen |> should equal false
  26. [<Fact>]
  27. let ``Can attack on same row`` () =
  28. let whiteQueen = (2, 4)
  29. let blackQueen = (2, 6)
  30. canAttack blackQueen whiteQueen |> should equal true
  31. [<Fact>]
  32. let ``Can attack on same column`` () =
  33. let whiteQueen = (4, 5)
  34. let blackQueen = (2, 5)
  35. canAttack blackQueen whiteQueen |> should equal true
  36. [<Fact>]
  37. let ``Can attack on first diagonal`` () =
  38. let whiteQueen = (2, 2)
  39. let blackQueen = (0, 4)
  40. canAttack blackQueen whiteQueen |> should equal true
  41. [<Fact>]
  42. let ``Can attack on second diagonal`` () =
  43. let whiteQueen = (2, 2)
  44. let blackQueen = (3, 1)
  45. canAttack blackQueen whiteQueen |> should equal true
  46. [<Fact>]
  47. let ``Can attack on third diagonal`` () =
  48. let whiteQueen = (2, 2)
  49. let blackQueen = (1, 1)
  50. canAttack blackQueen whiteQueen |> should equal true
  51. [<Fact>]
  52. let ``Can attack on fourth diagonal`` () =
  53. let whiteQueen = (1, 7)
  54. let blackQueen = (0, 6)
  55. canAttack blackQueen whiteQueen |> should equal true