diff --git a/Understanding assertions/Vowel Checker/test_vowels.rb b/Understanding assertions/Vowel Checker/test_vowels.rb new file mode 100644 index 0000000..6e7b8b8 --- /dev/null +++ b/Understanding assertions/Vowel Checker/test_vowels.rb @@ -0,0 +1,15 @@ +require 'minitest/autorun' + +module MiniTest::Assertions + def assert_vowel(letter) + assert %w(a e i o u).include?(letter), "Expected #{letter} to be a vowel" + end +end + +describe 'Vowel Checker' do + %w(a e i o u).each do |letter| + it "#{letter} is a vowel" do + assert_vowel letter + end + end +end \ No newline at end of file diff --git a/Understanding assertions/Vowel Checker/vowels.rb b/Understanding assertions/Vowel Checker/vowels.rb new file mode 100644 index 0000000..5799346 --- /dev/null +++ b/Understanding assertions/Vowel Checker/vowels.rb @@ -0,0 +1,5 @@ +class String + def vowel? + %w(a e i o u).include?(self) + end +end diff --git a/Understanding assertions/multiply/multiply.rb b/Understanding assertions/multiply/multiply.rb new file mode 100644 index 0000000..2a879f0 --- /dev/null +++ b/Understanding assertions/multiply/multiply.rb @@ -0,0 +1,17 @@ +class Multiply + def multiply(x, y) + x * y + end + + def multi_multiply(number) + total = 1 + if number == 0 + puts 'Can not find a valid multiple' + else + (1..number).each do |i| + total *= i + end + end + total + end +end diff --git a/Understanding assertions/multiply/test_multiply.rb b/Understanding assertions/multiply/test_multiply.rb new file mode 100644 index 0000000..f6be222 --- /dev/null +++ b/Understanding assertions/multiply/test_multiply.rb @@ -0,0 +1,16 @@ +require 'minitest/autorun' +require_relative 'multiply' + +class MutiplyTest < Minitest::Test + def test_multiplication + operation = Multiply.new + result = operation.multiply(3, 3) + assert_equal 9, result + end + + def test_mutiplication_of_n_numbers + nnumbers = Multiply.new + result = nnumbers.multi_multiply(8) + assert_equal 40320, result + end +end