aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/testing/performance_test.rb
blob: 74d7dae9e76de624a7b7f7309457146bf06fa33d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
require 'abstract_unit'
require 'active_support/testing/performance'


module ActiveSupport
  module Testing
    class PerformanceTest < ActiveSupport::TestCase
      def test_amount_format
        amount_metric = ActiveSupport::Testing::Performance::Metrics[:amount].new
        assert_equal "0", amount_metric.format(0)
        assert_equal "1", amount_metric.format(1.23)
        assert_equal "40,000,000", amount_metric.format(40000000)
      end
      
      def test_time_format
        time_metric = ActiveSupport::Testing::Performance::Metrics[:time].new
        assert_equal "0 ms", time_metric.format(0)
        assert_equal "40 ms", time_metric.format(0.04)
        assert_equal "41 ms", time_metric.format(0.0415)
        assert_equal "1.23 sec", time_metric.format(1.23)
        assert_equal "40000.00 sec", time_metric.format(40000)
        assert_equal "-5000 ms", time_metric.format(-5)
      end
      
      def test_space_format
        space_metric = ActiveSupport::Testing::Performance::Metrics[:digital_information_unit].new
        assert_equal "0 Bytes", space_metric.format(0)
        assert_equal "0 Bytes", space_metric.format(0.4)
        assert_equal "1 Byte", space_metric.format(1.23)
        assert_equal "123 Bytes", space_metric.format(123)
        assert_equal "123 Bytes", space_metric.format(123.45)
        assert_equal "12 KB", space_metric.format(12345)
        assert_equal "1.2 MB", space_metric.format(1234567)
        assert_equal "9.3 GB", space_metric.format(10**10)
        assert_equal "91 TB", space_metric.format(10**14)
        assert_equal "910000 TB", space_metric.format(10**18)
      end
    end
  end
end