From 412c8745c1c380313db007f9a60eeb23eee1066f Mon Sep 17 00:00:00 2001 From: rask24 <70057885+rask24@users.noreply.github.com> Date: Tue, 27 Feb 2024 17:59:10 +0900 Subject: [PATCH] add review.rb (#49) Co-authored-by: reasuke --- test/e2e/review.rb | 23 +++++++++++++++++++++++ test/e2e/spec/checker_spec.rb | 18 +++++++++--------- 2 files changed, 32 insertions(+), 9 deletions(-) create mode 100644 test/e2e/review.rb diff --git a/test/e2e/review.rb b/test/e2e/review.rb new file mode 100644 index 0000000..fc5b3f6 --- /dev/null +++ b/test/e2e/review.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +require_relative "./helper/command_helper" +require "descriptive_statistics" + +size = 100 +iters = 20 + +results = [] + +iters.times do + input = (-10000..10000).to_a.sample(size).map(&:to_s) + stdout, _stderr, _status = execute_push_swap(*input) + count = stdout.split("\n").count + + results << count + stdout, _stderr, _status = execute_checker(*input) + print "#{count}, #{stdout}" +end + +puts "max: #{results.max}" +puts "min: #{results.min}" +puts "average: #{results.mean}" diff --git a/test/e2e/spec/checker_spec.rb b/test/e2e/spec/checker_spec.rb index 4ba8c5e..2de59b7 100644 --- a/test/e2e/spec/checker_spec.rb +++ b/test/e2e/spec/checker_spec.rb @@ -3,15 +3,15 @@ require_relative "../helper/command_helper" describe("Performance test for push_swap") do - [1, 2, 3, 4, 5, 10, 50, 100, 200, 500, 1000].each do |size| - it "measures operations for random input of size #{size}" do - input = (-10000..10000).to_a.sample(size).map(&:to_s) - _stdout, _stderr, status = execute_push_swap(*input) - expect(status.exitstatus).to(eq(0)) + size = 100 - stdout, _stderr, status = execute_checker(*input) - expect(status.exitstatus).to(eq(0)) - expect(stdout).to(eq("OK\n")) - end + it "measures operations for random input of size #{size}" do + input = (-10000..10000).to_a.sample(size).map(&:to_s) + _stdout, _stderr, status = execute_push_swap(*input) + expect(status.exitstatus).to(eq(0)) + + stdout, _stderr, status = execute_checker(*input) + expect(status.exitstatus).to(eq(0)) + expect(stdout).to(eq("OK\n")) end end