Advertisement
Guest User

Untitled

a guest
Jul 18th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. # Desired Behavior Module
  2.  
  3. # Unit Testing, Why and How
  4.  
  5. # MiniTest Example
  6. class FizzBuzzTest < MiniTest::Test
  7. def setup
  8. @fizz_buzz = FizzBuzz.new
  9. end
  10.  
  11. def test_three
  12. assert_equal "1, 2, Fizz", @fizz_buzz.talk(3)
  13. end
  14.  
  15. def test_five
  16. assert_equal "1, 2, Fizz, 4, Buzz", @fizz_buzz.talk(5)
  17. end
  18. end
  19.  
  20. # Rspec Example (Same tests)
  21. describe FizzBuzz do
  22. it "replaces divisors of 3 with Fizz" do
  23. expect(subject.talk(3)).to eq "1, 2, Fizz"
  24. end
  25.  
  26. it "replaces divisors of 5 with Buzz" do
  27. expect(subject.talk(5)).to eq "1, 2, Fizz, 4, Buzz"
  28. end
  29. end
  30.  
  31. # Out First Unit Test using MiniTest
  32.  
  33. # movie.rb
  34. class Movie
  35. # Built-in language getters and setters
  36. attr_accessor :director, :genre, :release_date, :rotten_tomatoes, :title
  37.  
  38. def initialize(csv_row)
  39. @director = csv_row[:director]
  40. @genre = csv_row[:genre]
  41. @title = csv_row[:title]
  42. @release_date = csv_row[:release_date]
  43. @rotten_tomatoes = csv_row[:rotten_tomatoes]
  44. end
  45.  
  46. end
  47.  
  48. # movie_test.rb
  49. require 'minitest/autorun'
  50. require_relative 'movie'
  51.  
  52. class MovieTest < MiniTest::test
  53. def setup
  54. @movie = Movie.new({
  55. :title => "Star Wars",
  56. :genre => "Science Fiction",
  57. :director => "George Lucas",
  58. :release_date => "1977-05-25",
  59. :rotten_tomatoes => "93",
  60. })
  61. end
  62.  
  63. def test_director
  64. assert_equal "George Lucas", @movie.director
  65. end
  66.  
  67. def test_genre
  68. assert_equal "Science Fiction", @movie.genre
  69. end
  70.  
  71. def test_rotten_tomatoes
  72. assert_equal 93, @movie.rotten_tomatoes
  73. end
  74.  
  75. def test_title
  76. assert_equal "Star Wars", @movie.title
  77. end
  78. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement