Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Desired Behavior Module
- # Unit Testing, Why and How
- # MiniTest Example
- class FizzBuzzTest < MiniTest::Test
- def setup
- @fizz_buzz = FizzBuzz.new
- end
- def test_three
- assert_equal "1, 2, Fizz", @fizz_buzz.talk(3)
- end
- def test_five
- assert_equal "1, 2, Fizz, 4, Buzz", @fizz_buzz.talk(5)
- end
- end
- # Rspec Example (Same tests)
- describe FizzBuzz do
- it "replaces divisors of 3 with Fizz" do
- expect(subject.talk(3)).to eq "1, 2, Fizz"
- end
- it "replaces divisors of 5 with Buzz" do
- expect(subject.talk(5)).to eq "1, 2, Fizz, 4, Buzz"
- end
- end
- # Out First Unit Test using MiniTest
- # movie.rb
- class Movie
- # Built-in language getters and setters
- attr_accessor :director, :genre, :release_date, :rotten_tomatoes, :title
- def initialize(csv_row)
- @director = csv_row[:director]
- @genre = csv_row[:genre]
- @title = csv_row[:title]
- @release_date = csv_row[:release_date]
- @rotten_tomatoes = csv_row[:rotten_tomatoes]
- end
- end
- # movie_test.rb
- require 'minitest/autorun'
- require_relative 'movie'
- class MovieTest < MiniTest::test
- def setup
- @movie = Movie.new({
- :title => "Star Wars",
- :genre => "Science Fiction",
- :director => "George Lucas",
- :release_date => "1977-05-25",
- :rotten_tomatoes => "93",
- })
- end
- def test_director
- assert_equal "George Lucas", @movie.director
- end
- def test_genre
- assert_equal "Science Fiction", @movie.genre
- end
- def test_rotten_tomatoes
- assert_equal 93, @movie.rotten_tomatoes
- end
- def test_title
- assert_equal "Star Wars", @movie.title
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement