first_element, second_element = s_elements.split(",")#!/usr/bin/env ruby
class Microwave
def on
puts "Microwave is on"
end
end
m = Microwave.new
m.on
class Microwave
alias :old_on1 :on
def on
puts "Warning: Do not insert metal objects!"
old_on1
end
end
m.on # Message for this specific microwave
class <<m
alias :old_on2 :on
def on
puts "This microwave is weak, add extra time"
old_on2
end
end
m.on # Displays extra message
m2 = Microwave.new
m2.on # Does not display extra message#!/usr/bin/ruby
$stdout = File.open "output.log", "a"
puts "Ruby"
puts "Java"
$stdout.close
$stdout = STDOUT
puts "Python"| Syntaxe | Type |
|---|---|
%w[this will be splitted into an array] |
Array |
%r[this_is_my_regex] |
Regex |
%x[ echo 'hi' ] |
Will run this as a shell command |
Using Test:
def add_percent(number, percent)
throw NotImplementedError.new "TODO: add_percent"
# Wich is simply `number * (1 + (percent / 100))`.
end
describe "add_percent" do
it "works for some examples" do
Test.assert_equals(add_percent(1000, 5), 1050.0)
Test.assert_equals(add_percent(1000, 1.625), 1016.25)
Test.assert_equals(add_percent(1000, 2), 1020.0)
end
it "works for random input" do
100.times do
Test.assert_equals(add_percent(rand(100 .. 2000), rand(0 .. 10)), something_sure_to_output_solution)
end
end
endYou could also just do (but the error report will be much less clear):
Test.assert_equals(add_percent(1000, 5), 1050.0)
Test.assert_equals(add_percent(1000, 1.625), 1016.25)
Test.assert_equals(add_percent(1000, 2), 1020.0)Using expect():
def add_percent(number, percent)
throw NotImplementedError.new "TODO: add_percent"
# Wich is simply `number * (1 + (percent / 100))`.
end
describe "add_percent" do
def add_percent(number, percent, expected)
actual = add_percent(number.dup, percent.dup)
message = "number = #{number.inspect}\npercent = #{percent.inspect}\n" +
"actual = #{actual.inspect}\nexpected = #{expected.inspect}"
expect(actual).to eq(expected), message
end
it "works for some examples" do
do_test(1000, 5, 1050.0)
do_test(1000, 1.625, 1016.25)
do_test(1000, 2, 1020.0)
end
it "works for random input" do
100.times do
do_test(rand(100 .. 2000), rand(0 .. 10), something_sure_to_output_solution)
end
end
endSimpler use case of expect() (but the error report will be less clear):
describe "Basic Tests" do
it "Basic Test Cases" do
expect(add_percent(1000, 5)).to eq 1050.0
expect(add_percent(1000, 1.625)).to eq 1016.25
expect(add_percent(1000, 2)).to eq 1020.0
end
end