Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. #[warn(dead_code)]
  2. fn main() {
  3. let spade = Suit::Spade;
  4.  
  5. println!("{:?}", spade);
  6. }
  7.  
  8. #[derive(Debug, PartialEq, PartialOrd)]
  9. enum Suit {
  10. Spade,
  11. Club,
  12. Heart,
  13. Diamond,
  14. }
  15.  
  16. #[derive(Debug, PartialEq)]
  17. enum Rank {
  18. Ace,
  19. King,
  20. Queen,
  21. Jack,
  22. Ten,
  23. Nine,
  24. Eight,
  25. Seven,
  26. Six,
  27. Five,
  28. Four,
  29. Three,
  30. Two,
  31. }
  32.  
  33. fn suit_to_char(suit: &Suit) -> char {
  34. match suit {
  35. Suit::Spade => '♠',
  36. Suit::Club => '♣',
  37. Suit::Heart => '♥',
  38. Suit::Diamond => '♦',
  39. }
  40. }
  41.  
  42. fn rank_to_str(rank: &Rank) -> &str {
  43. match rank {
  44. Rank::Ace => "A",
  45. Rank::King => "K",
  46. Rank::Queen => "Q",
  47. Rank::Jack => "J",
  48. Rank::Ten => "10",
  49. Rank::Nine => "9",
  50. Rank::Eight => "8",
  51. Rank::Seven => "7",
  52. Rank::Six => "6",
  53. Rank::Five => "5",
  54. Rank::Four => "4",
  55. Rank::Three => "3",
  56. Rank::Two => "2",
  57. }
  58. }
  59.  
  60. #[test]
  61. fn test_suit_to_char() {
  62. let char = '♠';
  63. let suit = Suit::Spade;
  64. assert_eq!(char, suit_to_char(&suit));
  65. }
  66.  
  67. #[test]
  68. fn test_suit_order() {
  69. let spade = Suit::Spade;
  70. let diamond = Suit::Diamond;
  71. assert!(spade > diamond);
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement