# How to use average method of Sort Package

Best Active_mocker_ruby code snippet using Sort.average

test.rb

Source:test.rb

`...10puts("\nLinear Search:")11lower_bound = Benchmark.realtime { linear_search(arr.clone, 1) / 1000 } * 100012middle_bound = Benchmark.realtime { linear_search(arr.clone, 500_000) / 1000 } * 100013upper_bound = Benchmark.realtime { linear_search(arr.clone, 1_000_000) } * 100014average = (lower_bound + middle_bound + upper_bound) / 315puts("lower: #{lower_bound.to_s}, middle: #{middle_bound.to_s}, upper: #{upper_bound.to_s},16average: #{average.to_s}")17puts("\nBinary Search:")18lower_bound = Benchmark.realtime { binary_search(arr.clone, 1) / 1000 } * 100019middle_bound = Benchmark.realtime { binary_search(arr.clone, 500_000) / 1000 } * 100020upper_bound = Benchmark.realtime { binary_search(arr.clone, 1_000_000) } * 100021average = (lower_bound + middle_bound + upper_bound) / 322puts("lower: #{lower_bound.to_s}, middle: #{middle_bound.to_s}, upper: #{upper_bound.to_s},23average: #{average.to_s}")24puts("\nBubble Sort:")25worst_case = Benchmark.realtime { bubble_sort(arr.take(2_000).clone.reverse) } * 100026average_case = Benchmark.realtime { bubble_sort(arr.take(2_000).clone.shuffle) } * 100027best_case = Benchmark.realtime { bubble_sort(arr.take(2_000).clone) } * 100028puts("worst: #{worst_case.to_s}, average: #{average_case.to_s}, best: #{best_case.to_s}")29puts("\nSelection Sort:")30worst_case = Benchmark.realtime { selection_sort(arr.take(2_000).clone.reverse) } * 100031average_case = Benchmark.realtime { selection_sort(arr.take(2_000).clone.shuffle) } * 100032best_case = Benchmark.realtime { selection_sort(arr.take(2_000).clone) } * 100033puts("worst: #{worst_case.to_s}, average: #{average_case.to_s}, best: #{best_case.to_s}")34puts("\nInsertion Sort:")35worst_case = Benchmark.realtime { insertion_sort(arr.take(2_000).clone.reverse) } * 100036average_case = Benchmark.realtime { insertion_sort(arr.take(2_000).clone.shuffle) } * 100037best_case = Benchmark.realtime { insertion_sort(arr.take(2_000).clone) } * 100038puts("worst: #{worst_case.to_s}, average: #{average_case.to_s}, best: #{best_case.to_s}")39puts("\nQuick Sort:")40array = arr.take(2_000)41worst_case = Benchmark.realtime { QuickSort.new(array.clone.reverse).run!(0, array.length - 1) } * 100042average_case = Benchmark.realtime { QuickSort.new(array.clone.shuffle).run!(0, array.length - 1) } * 100043best_case = Benchmark.realtime { QuickSort.new(array.clone).run!(0, array.length - 1) } * 100044puts("worst: #{worst_case.to_s}, average: #{average_case.to_s}, best: #{best_case.to_s}")...`

textbnb.rb

Source:textbnb.rb

`...25 puts "Holds #{hm.capacity} people"26 puts "Price: #{hm.price}"27 end28end29def average(array)30 prices = array.map { |home|31 home.price32 }33 puts prices34 average_price = prices.reduce { |total, price|35 total += price36 }/prices.length37 puts "Average Price:"38 puts average_price39 puts ""40end41sort_price_low = homes.sort { |x, y| x.price <=> y.price}42sort_price_high = homes.sort { |x, y| y.price <=> x.price}43sort_capacity = homes.sort_by { |home|44 -home.capacity45}46puts "Homes sorted by price, low to high: "47print_homes(sort_price_low)48average(sort_price_low)49puts "Other sorting options: "50puts "type 'high' to sort by descending price"51puts "type 'capacity' to sort by capacity(descending)"52puts "type 'city' to see only homes from that city"53puts "type 'find' to see homees by specific price"54user_input = gets.chomp55def home_filter(array, input)56 array.select { |home|57 home.city.downcase == input.downcase58 }59end60if user_input.downcase == 'high'61 print_homes(sort_price_high)62 average(sort_price_high)63elsif user_input.downcase == 'capacity'64 print_homes(sort_capacity)65 average(sort_capacity)66elsif user_input.downcase == 'city'67 puts "Please enter a city"68 city_input = gets.chomp69 puts "Filtered by: #{city_input}"70 filter = home_filter(homes, city_input)71 print_homes(filter)72 average(filter)73elsif user_input.downcase == 'find'74 puts "Please name your price: "75 find_query = gets.chomp.to_i76 find = homes.find_all { |home|77 home.price == find_query78 }79 print_homes(find)80end...`

exercises_planner.rb

Source:exercises_planner.rb

`...9 def plan_by_calories10 time_used, final_exercises = 0, []11 sorted_exercises(available_exercises).each do |exercise|12 break if time_used == time # No space for exercises anymore13 if time_used + exercise[:average_span] <= time14 final_exercises << exercise15 time_used += exercise[:average_span]16 @total_calorie_consumption += exercise[:average_calorie_consumption]17 end18 end19 [total_calorie_consumption, final_exercises]20 end21 private22 def available_exercises23 exercises.select { |exercise|24 exercise[:average_span] <= time25 }26 end27 def sorted_exercises(exercises_list, sort_direction = :desc)28 sort_multiplier = sort_direction == :desc ? -1 : 129 # Sort by "average_calorie_consumption" in "desc" order30 # if "average_calorie_consumption" is same, next is sort by "average_span"31 # in "inc" order to have maximum efficiency for a plan32 exercises_list.sort_by { |exercise|33 [34 sort_multiplier * exercise[:average_calorie_consumption],35 sort_multiplier * sort_multiplier * exercise[:average_span]36 ]37 }38 end39end`

## Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

## LambdaTest Learning Hubs:

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

## Run Active_mocker_ruby automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

## Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!