From 79956cfe3bcde0131a977e5d01bcad62c4e04eef Mon Sep 17 00:00:00 2001 From: Keith Bennett Date: Fri, 29 Jan 2021 19:54:24 -0500 Subject: [PATCH 1/3] #3 adds Tms.to_h, fixes test require. --- lib/benchmark.rb | 11 +++++++++++ test/benchmark/test_benchmark.rb | 10 +++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/lib/benchmark.rb b/lib/benchmark.rb index 5ce9710..55e34dd 100644 --- a/lib/benchmark.rb +++ b/lib/benchmark.rb @@ -527,6 +527,17 @@ def to_a [@label, @utime, @stime, @cutime, @cstime, @real] end + def to_h + { + label: @label, + utime: @utime, + stime: @stime, + cutime: @cutime, + cstime: @cstime, + real: @real + } + end + protected # diff --git a/test/benchmark/test_benchmark.rb b/test/benchmark/test_benchmark.rb index 0eb331a..7c8d3d1 100644 --- a/test/benchmark/test_benchmark.rb +++ b/test/benchmark/test_benchmark.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true require 'test/unit' -require 'benchmark' +require_relative '../../lib/benchmark' class TestBenchmark < Test::Unit::TestCase BENCH_FOR_TIMES_UPTO = lambda do |x| @@ -155,4 +155,12 @@ def test_realtime_output realtime = Benchmark.realtime { sleep sleeptime } assert_operator sleeptime, :<, realtime end + + def test_tms_to_h + tms = Benchmark::Tms.new(1.1, 2.2, 3.3, 4.4, 5.5, 'my label') + expected_hash = { + utime: 1.1, stime: 2.2, cutime: 3.3, cstime: 4.4, real: 5.5, label: 'my label' + } + assert_equal(expected_hash, tms.to_h) + end end From 7e2ad1181486a3bc40b2dff9d1af5739187bdd13 Mon Sep 17 00:00:00 2001 From: Keith Bennett Date: Sat, 30 Jan 2021 12:47:21 -0500 Subject: [PATCH 2/3] #3 Add comments. --- lib/benchmark.rb | 3 +++ test/benchmark/test_benchmark.rb | 1 + 2 files changed, 4 insertions(+) diff --git a/lib/benchmark.rb b/lib/benchmark.rb index 55e34dd..4cfc0d8 100644 --- a/lib/benchmark.rb +++ b/lib/benchmark.rb @@ -527,6 +527,9 @@ def to_a [@label, @utime, @stime, @cutime, @cstime, @real] end + # + # Returns a hash containing the same data as `to_a`. + # def to_h { label: @label, diff --git a/test/benchmark/test_benchmark.rb b/test/benchmark/test_benchmark.rb index 7c8d3d1..be7be0a 100644 --- a/test/benchmark/test_benchmark.rb +++ b/test/benchmark/test_benchmark.rb @@ -156,6 +156,7 @@ def test_realtime_output assert_operator sleeptime, :<, realtime end + # Test that `to_h` returns a hash with the expected data. def test_tms_to_h tms = Benchmark::Tms.new(1.1, 2.2, 3.3, 4.4, 5.5, 'my label') expected_hash = { From 8a217eeed1313f10eed054d46209dc9bc9de0a1d Mon Sep 17 00:00:00 2001 From: Keith Bennett Date: Sun, 31 Jan 2021 16:08:53 -0500 Subject: [PATCH 3/3] #3 Revert to original `require 'benchmark'`. --- test/benchmark/test_benchmark.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/benchmark/test_benchmark.rb b/test/benchmark/test_benchmark.rb index be7be0a..3030bc5 100644 --- a/test/benchmark/test_benchmark.rb +++ b/test/benchmark/test_benchmark.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true require 'test/unit' -require_relative '../../lib/benchmark' +require 'benchmark' class TestBenchmark < Test::Unit::TestCase BENCH_FOR_TIMES_UPTO = lambda do |x|