application_insights 0.5.3 → 0.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +6 -14
- data/.travis.yml +21 -9
- data/CONTRIBUTING.md +30 -0
- data/Gemfile +4 -4
- data/LICENSE.txt +11 -11
- data/README.md +13 -14
- data/Rakefile +14 -14
- data/application_insights.gemspec +28 -29
- data/lib/application_insights.rb +9 -9
- data/lib/application_insights/channel/asynchronous_queue.rb +58 -51
- data/lib/application_insights/channel/asynchronous_sender.rb +132 -123
- data/lib/application_insights/channel/contracts/application.rb +14 -53
- data/lib/application_insights/channel/contracts/cloud.rb +14 -0
- data/lib/application_insights/channel/contracts/data.rb +14 -48
- data/lib/application_insights/channel/contracts/data_point.rb +24 -130
- data/lib/application_insights/channel/contracts/data_point_type.rb +7 -16
- data/lib/application_insights/channel/contracts/dependency_kind.rb +9 -19
- data/lib/application_insights/channel/contracts/dependency_source_type.rb +9 -19
- data/lib/application_insights/channel/contracts/device.rb +28 -257
- data/lib/application_insights/channel/contracts/envelope.rb +40 -266
- data/lib/application_insights/channel/contracts/event_data.rb +28 -77
- data/lib/application_insights/channel/contracts/exception_data.rb +37 -140
- data/lib/application_insights/channel/contracts/exception_details.rb +28 -129
- data/lib/application_insights/channel/contracts/internal.rb +14 -53
- data/lib/application_insights/channel/contracts/json_serializable.rb +59 -59
- data/lib/application_insights/channel/contracts/location.rb +16 -36
- data/lib/application_insights/channel/contracts/message_data.rb +24 -77
- data/lib/application_insights/channel/contracts/metric_data.rb +27 -60
- data/lib/application_insights/channel/contracts/operation.rb +19 -121
- data/lib/application_insights/channel/contracts/page_view_data.rb +30 -111
- data/lib/application_insights/channel/contracts/remote_dependency_data.rb +56 -260
- data/lib/application_insights/channel/contracts/request_data.rb +36 -176
- data/lib/application_insights/channel/contracts/session.rb +15 -70
- data/lib/application_insights/channel/contracts/severity_level.rb +13 -25
- data/lib/application_insights/channel/contracts/stack_frame.rb +17 -94
- data/lib/application_insights/channel/contracts/user.rb +19 -104
- data/lib/application_insights/channel/event.rb +68 -64
- data/lib/application_insights/channel/queue_base.rb +65 -62
- data/lib/application_insights/channel/sender_base.rb +79 -72
- data/lib/application_insights/channel/synchronous_queue.rb +45 -39
- data/lib/application_insights/channel/synchronous_sender.rb +17 -15
- data/lib/application_insights/channel/telemetry_channel.rb +120 -102
- data/lib/application_insights/channel/telemetry_context.rb +85 -68
- data/lib/application_insights/rack/track_request.rb +87 -84
- data/lib/application_insights/telemetry_client.rb +229 -217
- data/lib/application_insights/unhandled_exception.rb +49 -47
- data/lib/application_insights/version.rb +3 -3
- data/test/application_insights.rb +8 -9
- data/test/application_insights/channel/contracts/test_application.rb +44 -44
- data/test/application_insights/channel/contracts/test_cloud.rb +44 -0
- data/test/application_insights/channel/contracts/test_data.rb +44 -44
- data/test/application_insights/channel/contracts/test_data_point.rb +109 -109
- data/test/application_insights/channel/contracts/test_device.rb +200 -200
- data/test/application_insights/channel/contracts/test_envelope.rb +209 -209
- data/test/application_insights/channel/contracts/test_event_data.rb +62 -62
- data/test/application_insights/channel/contracts/test_exception_data.rb +111 -111
- data/test/application_insights/channel/contracts/test_exception_details.rb +106 -106
- data/test/application_insights/channel/contracts/test_internal.rb +44 -44
- data/test/application_insights/channel/contracts/test_location.rb +70 -31
- data/test/application_insights/channel/contracts/test_message_data.rb +66 -66
- data/test/application_insights/channel/contracts/test_metric_data.rb +50 -50
- data/test/application_insights/channel/contracts/test_operation.rb +109 -96
- data/test/application_insights/channel/contracts/test_page_view_data.rb +88 -88
- data/test/application_insights/channel/contracts/test_remote_dependency_data.rb +209 -209
- data/test/application_insights/channel/contracts/test_request_data.rb +153 -153
- data/test/application_insights/channel/contracts/test_session.rb +57 -57
- data/test/application_insights/channel/contracts/test_stack_frame.rb +83 -83
- data/test/application_insights/channel/contracts/test_user.rb +96 -83
- data/test/application_insights/channel/test_asynchronous_queue.rb +47 -47
- data/test/application_insights/channel/test_asynchronous_sender.rb +80 -80
- data/test/application_insights/channel/test_event.rb +52 -52
- data/test/application_insights/channel/test_queue_base.rb +88 -88
- data/test/application_insights/channel/test_sender_base.rb +87 -87
- data/test/application_insights/channel/test_synchronous_queue.rb +27 -27
- data/test/application_insights/channel/test_synchronous_sender.rb +10 -10
- data/test/application_insights/channel/test_telemetry_channel.rb +126 -102
- data/test/application_insights/channel/test_telemetry_context.rb +82 -74
- data/test/application_insights/mock_sender.rb +37 -37
- data/test/application_insights/rack/test_track_request.rb +142 -139
- data/test/application_insights/test_telemetry_client.rb +133 -123
- data/test/application_insights/test_unhandled_exception.rb +23 -24
- metadata +23 -33
@@ -1,3 +1,3 @@
|
|
1
|
-
module ApplicationInsights
|
2
|
-
VERSION = '0.5.
|
3
|
-
end
|
1
|
+
module ApplicationInsights
|
2
|
+
VERSION = '0.5.4'
|
3
|
+
end
|
@@ -1,9 +1,8 @@
|
|
1
|
-
require 'find'
|
2
|
-
|
3
|
-
test = File.expand_path('../application_insights', __FILE__)
|
4
|
-
Find.find test do |path|
|
5
|
-
if FileTest.file? path
|
6
|
-
require path
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
1
|
+
require 'find'
|
2
|
+
|
3
|
+
test = File.expand_path('../application_insights', __FILE__)
|
4
|
+
Find.find test do |path|
|
5
|
+
if FileTest.file? path
|
6
|
+
require path
|
7
|
+
end
|
8
|
+
end
|
@@ -1,44 +1,44 @@
|
|
1
|
-
require_relative '../../../../lib/application_insights/channel/contracts/application'
|
2
|
-
require 'test/unit'
|
3
|
-
|
4
|
-
include ApplicationInsights::Channel
|
5
|
-
|
6
|
-
class TestApplication < Test::Unit::TestCase
|
7
|
-
def test_initialize
|
8
|
-
item = Contracts::Application.new
|
9
|
-
assert_not_nil item
|
10
|
-
end
|
11
|
-
|
12
|
-
def test_ver_works_as_expected
|
13
|
-
expected = 'Test string'
|
14
|
-
item = Contracts::Application.new
|
15
|
-
item.ver = expected
|
16
|
-
actual = item.ver
|
17
|
-
assert_equal expected, actual
|
18
|
-
expected = 'Other string'
|
19
|
-
item.ver = expected
|
20
|
-
actual = item.ver
|
21
|
-
assert_equal expected, actual
|
22
|
-
end
|
23
|
-
|
24
|
-
def test_build_works_as_expected
|
25
|
-
expected = 'Test string'
|
26
|
-
item = Contracts::Application.new
|
27
|
-
item.build = expected
|
28
|
-
actual = item.build
|
29
|
-
assert_equal expected, actual
|
30
|
-
expected = 'Other string'
|
31
|
-
item.build = expected
|
32
|
-
actual = item.build
|
33
|
-
assert_equal expected, actual
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_to_json_works_as_expected
|
37
|
-
item = Contracts::Application.new
|
38
|
-
item.ver = 'Test string'
|
39
|
-
item.build = 'Test string'
|
40
|
-
actual = item.to_json
|
41
|
-
expected = '{"ai.application.ver":"Test string","ai.application.build":"Test string"}'
|
42
|
-
assert_equal expected, actual
|
43
|
-
end
|
44
|
-
end
|
1
|
+
require_relative '../../../../lib/application_insights/channel/contracts/application'
|
2
|
+
require 'test/unit'
|
3
|
+
|
4
|
+
include ApplicationInsights::Channel
|
5
|
+
|
6
|
+
class TestApplication < Test::Unit::TestCase
|
7
|
+
def test_initialize
|
8
|
+
item = Contracts::Application.new
|
9
|
+
assert_not_nil item
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_ver_works_as_expected
|
13
|
+
expected = 'Test string'
|
14
|
+
item = Contracts::Application.new
|
15
|
+
item.ver = expected
|
16
|
+
actual = item.ver
|
17
|
+
assert_equal expected, actual
|
18
|
+
expected = 'Other string'
|
19
|
+
item.ver = expected
|
20
|
+
actual = item.ver
|
21
|
+
assert_equal expected, actual
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_build_works_as_expected
|
25
|
+
expected = 'Test string'
|
26
|
+
item = Contracts::Application.new
|
27
|
+
item.build = expected
|
28
|
+
actual = item.build
|
29
|
+
assert_equal expected, actual
|
30
|
+
expected = 'Other string'
|
31
|
+
item.build = expected
|
32
|
+
actual = item.build
|
33
|
+
assert_equal expected, actual
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_to_json_works_as_expected
|
37
|
+
item = Contracts::Application.new
|
38
|
+
item.ver = 'Test string'
|
39
|
+
item.build = 'Test string'
|
40
|
+
actual = item.to_json
|
41
|
+
expected = '{"ai.application.ver":"Test string","ai.application.build":"Test string"}'
|
42
|
+
assert_equal expected, actual
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require_relative '../../../../lib/application_insights/channel/contracts/cloud'
|
2
|
+
require 'test/unit'
|
3
|
+
|
4
|
+
include ApplicationInsights::Channel
|
5
|
+
|
6
|
+
class TestCloud < Test::Unit::TestCase
|
7
|
+
def test_initialize
|
8
|
+
item = Contracts::Cloud.new
|
9
|
+
assert_not_nil item
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_role_name_works_as_expected
|
13
|
+
expected = 'Test string'
|
14
|
+
item = Contracts::Cloud.new
|
15
|
+
item.role_name = expected
|
16
|
+
actual = item.role_name
|
17
|
+
assert_equal expected, actual
|
18
|
+
expected = 'Other string'
|
19
|
+
item.role_name = expected
|
20
|
+
actual = item.role_name
|
21
|
+
assert_equal expected, actual
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_role_instance_works_as_expected
|
25
|
+
expected = 'Test string'
|
26
|
+
item = Contracts::Cloud.new
|
27
|
+
item.role_instance = expected
|
28
|
+
actual = item.role_instance
|
29
|
+
assert_equal expected, actual
|
30
|
+
expected = 'Other string'
|
31
|
+
item.role_instance = expected
|
32
|
+
actual = item.role_instance
|
33
|
+
assert_equal expected, actual
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_to_json_works_as_expected
|
37
|
+
item = Contracts::Cloud.new
|
38
|
+
item.role_name = 'Role name'
|
39
|
+
item.role_instance = 'Role instance'
|
40
|
+
actual = item.to_json
|
41
|
+
expected = '{"ai.cloud.role":"Role name","ai.cloud.roleInstance":"Role instance"}'
|
42
|
+
assert_equal expected, actual
|
43
|
+
end
|
44
|
+
end
|
@@ -1,44 +1,44 @@
|
|
1
|
-
require_relative '../../../../lib/application_insights/channel/contracts/data'
|
2
|
-
require 'test/unit'
|
3
|
-
|
4
|
-
include ApplicationInsights::Channel
|
5
|
-
|
6
|
-
class TestData < Test::Unit::TestCase
|
7
|
-
def test_initialize
|
8
|
-
item = Contracts::Data.new
|
9
|
-
assert_not_nil item
|
10
|
-
end
|
11
|
-
|
12
|
-
def test_base_type_works_as_expected
|
13
|
-
expected = 'Test string'
|
14
|
-
item = Contracts::Data.new
|
15
|
-
item.base_type = expected
|
16
|
-
actual = item.base_type
|
17
|
-
assert_equal expected, actual
|
18
|
-
expected = 'Other string'
|
19
|
-
item.base_type = expected
|
20
|
-
actual = item.base_type
|
21
|
-
assert_equal expected, actual
|
22
|
-
end
|
23
|
-
|
24
|
-
def test_base_data_works_as_expected
|
25
|
-
expected = { 'key' => 'value' }
|
26
|
-
item = Contracts::Data.new
|
27
|
-
item.base_data = expected
|
28
|
-
actual = item.base_data
|
29
|
-
assert_equal expected, actual
|
30
|
-
expected = { 'key' => 'value' }
|
31
|
-
item.base_data = expected
|
32
|
-
actual = item.base_data
|
33
|
-
assert_equal expected, actual
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_to_json_works_as_expected
|
37
|
-
item = Contracts::Data.new
|
38
|
-
item.base_type = 'Test string'
|
39
|
-
item.base_data = { 'key' => 'value' }
|
40
|
-
actual = item.to_json
|
41
|
-
expected = '{"baseType":"Test string","baseData":{"key":"value"}}'
|
42
|
-
assert_equal expected, actual
|
43
|
-
end
|
44
|
-
end
|
1
|
+
require_relative '../../../../lib/application_insights/channel/contracts/data'
|
2
|
+
require 'test/unit'
|
3
|
+
|
4
|
+
include ApplicationInsights::Channel
|
5
|
+
|
6
|
+
class TestData < Test::Unit::TestCase
|
7
|
+
def test_initialize
|
8
|
+
item = Contracts::Data.new
|
9
|
+
assert_not_nil item
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_base_type_works_as_expected
|
13
|
+
expected = 'Test string'
|
14
|
+
item = Contracts::Data.new
|
15
|
+
item.base_type = expected
|
16
|
+
actual = item.base_type
|
17
|
+
assert_equal expected, actual
|
18
|
+
expected = 'Other string'
|
19
|
+
item.base_type = expected
|
20
|
+
actual = item.base_type
|
21
|
+
assert_equal expected, actual
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_base_data_works_as_expected
|
25
|
+
expected = { 'key' => 'value' }
|
26
|
+
item = Contracts::Data.new
|
27
|
+
item.base_data = expected
|
28
|
+
actual = item.base_data
|
29
|
+
assert_equal expected, actual
|
30
|
+
expected = { 'key' => 'value' }
|
31
|
+
item.base_data = expected
|
32
|
+
actual = item.base_data
|
33
|
+
assert_equal expected, actual
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_to_json_works_as_expected
|
37
|
+
item = Contracts::Data.new
|
38
|
+
item.base_type = 'Test string'
|
39
|
+
item.base_data = { 'key' => 'value' }
|
40
|
+
actual = item.to_json
|
41
|
+
expected = '{"baseType":"Test string","baseData":{"key":"value"}}'
|
42
|
+
assert_equal expected, actual
|
43
|
+
end
|
44
|
+
end
|
@@ -1,109 +1,109 @@
|
|
1
|
-
require_relative '../../../../lib/application_insights/channel/contracts/data_point'
|
2
|
-
require 'test/unit'
|
3
|
-
|
4
|
-
include ApplicationInsights::Channel
|
5
|
-
|
6
|
-
class TestDataPoint < Test::Unit::TestCase
|
7
|
-
def test_initialize
|
8
|
-
item = Contracts::DataPoint.new
|
9
|
-
assert_not_nil item
|
10
|
-
end
|
11
|
-
|
12
|
-
def test_name_works_as_expected
|
13
|
-
expected = 'Test string'
|
14
|
-
item = Contracts::DataPoint.new
|
15
|
-
item.name = expected
|
16
|
-
actual = item.name
|
17
|
-
assert_equal expected, actual
|
18
|
-
expected = 'Other string'
|
19
|
-
item.name = expected
|
20
|
-
actual = item.name
|
21
|
-
assert_equal expected, actual
|
22
|
-
end
|
23
|
-
|
24
|
-
def test_kind_works_as_expected
|
25
|
-
expected = 5
|
26
|
-
item = Contracts::DataPoint.new
|
27
|
-
item.kind = expected
|
28
|
-
actual = item.kind
|
29
|
-
assert_equal expected, actual
|
30
|
-
expected = 3
|
31
|
-
item.kind = expected
|
32
|
-
actual = item.kind
|
33
|
-
assert_equal expected, actual
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_value_works_as_expected
|
37
|
-
expected = 1.5
|
38
|
-
item = Contracts::DataPoint.new
|
39
|
-
item.value = expected
|
40
|
-
actual = item.value
|
41
|
-
assert_equal expected, actual
|
42
|
-
expected = 4.8
|
43
|
-
item.value = expected
|
44
|
-
actual = item.value
|
45
|
-
assert_equal expected, actual
|
46
|
-
end
|
47
|
-
|
48
|
-
def test_count_works_as_expected
|
49
|
-
expected = 42
|
50
|
-
item = Contracts::DataPoint.new
|
51
|
-
item.count = expected
|
52
|
-
actual = item.count
|
53
|
-
assert_equal expected, actual
|
54
|
-
expected = 13
|
55
|
-
item.count = expected
|
56
|
-
actual = item.count
|
57
|
-
assert_equal expected, actual
|
58
|
-
end
|
59
|
-
|
60
|
-
def test_min_works_as_expected
|
61
|
-
expected = 1.5
|
62
|
-
item = Contracts::DataPoint.new
|
63
|
-
item.min = expected
|
64
|
-
actual = item.min
|
65
|
-
assert_equal expected, actual
|
66
|
-
expected = 4.8
|
67
|
-
item.min = expected
|
68
|
-
actual = item.min
|
69
|
-
assert_equal expected, actual
|
70
|
-
end
|
71
|
-
|
72
|
-
def test_max_works_as_expected
|
73
|
-
expected = 1.5
|
74
|
-
item = Contracts::DataPoint.new
|
75
|
-
item.max = expected
|
76
|
-
actual = item.max
|
77
|
-
assert_equal expected, actual
|
78
|
-
expected = 4.8
|
79
|
-
item.max = expected
|
80
|
-
actual = item.max
|
81
|
-
assert_equal expected, actual
|
82
|
-
end
|
83
|
-
|
84
|
-
def test_std_dev_works_as_expected
|
85
|
-
expected = 1.5
|
86
|
-
item = Contracts::DataPoint.new
|
87
|
-
item.std_dev = expected
|
88
|
-
actual = item.std_dev
|
89
|
-
assert_equal expected, actual
|
90
|
-
expected = 4.8
|
91
|
-
item.std_dev = expected
|
92
|
-
actual = item.std_dev
|
93
|
-
assert_equal expected, actual
|
94
|
-
end
|
95
|
-
|
96
|
-
def test_to_json_works_as_expected
|
97
|
-
item = Contracts::DataPoint.new
|
98
|
-
item.name = 'Test string'
|
99
|
-
item.kind = 5
|
100
|
-
item.value = 1.5
|
101
|
-
item.count = 42
|
102
|
-
item.min = 1.5
|
103
|
-
item.max = 1.5
|
104
|
-
item.std_dev = 1.5
|
105
|
-
actual = item.to_json
|
106
|
-
expected = '{"name":"Test string","kind":5,"value":1.5,"count":42,"min":1.5,"max":1.5,"stdDev":1.5}'
|
107
|
-
assert_equal expected, actual
|
108
|
-
end
|
109
|
-
end
|
1
|
+
require_relative '../../../../lib/application_insights/channel/contracts/data_point'
|
2
|
+
require 'test/unit'
|
3
|
+
|
4
|
+
include ApplicationInsights::Channel
|
5
|
+
|
6
|
+
class TestDataPoint < Test::Unit::TestCase
|
7
|
+
def test_initialize
|
8
|
+
item = Contracts::DataPoint.new
|
9
|
+
assert_not_nil item
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_name_works_as_expected
|
13
|
+
expected = 'Test string'
|
14
|
+
item = Contracts::DataPoint.new
|
15
|
+
item.name = expected
|
16
|
+
actual = item.name
|
17
|
+
assert_equal expected, actual
|
18
|
+
expected = 'Other string'
|
19
|
+
item.name = expected
|
20
|
+
actual = item.name
|
21
|
+
assert_equal expected, actual
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_kind_works_as_expected
|
25
|
+
expected = 5
|
26
|
+
item = Contracts::DataPoint.new
|
27
|
+
item.kind = expected
|
28
|
+
actual = item.kind
|
29
|
+
assert_equal expected, actual
|
30
|
+
expected = 3
|
31
|
+
item.kind = expected
|
32
|
+
actual = item.kind
|
33
|
+
assert_equal expected, actual
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_value_works_as_expected
|
37
|
+
expected = 1.5
|
38
|
+
item = Contracts::DataPoint.new
|
39
|
+
item.value = expected
|
40
|
+
actual = item.value
|
41
|
+
assert_equal expected, actual
|
42
|
+
expected = 4.8
|
43
|
+
item.value = expected
|
44
|
+
actual = item.value
|
45
|
+
assert_equal expected, actual
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_count_works_as_expected
|
49
|
+
expected = 42
|
50
|
+
item = Contracts::DataPoint.new
|
51
|
+
item.count = expected
|
52
|
+
actual = item.count
|
53
|
+
assert_equal expected, actual
|
54
|
+
expected = 13
|
55
|
+
item.count = expected
|
56
|
+
actual = item.count
|
57
|
+
assert_equal expected, actual
|
58
|
+
end
|
59
|
+
|
60
|
+
def test_min_works_as_expected
|
61
|
+
expected = 1.5
|
62
|
+
item = Contracts::DataPoint.new
|
63
|
+
item.min = expected
|
64
|
+
actual = item.min
|
65
|
+
assert_equal expected, actual
|
66
|
+
expected = 4.8
|
67
|
+
item.min = expected
|
68
|
+
actual = item.min
|
69
|
+
assert_equal expected, actual
|
70
|
+
end
|
71
|
+
|
72
|
+
def test_max_works_as_expected
|
73
|
+
expected = 1.5
|
74
|
+
item = Contracts::DataPoint.new
|
75
|
+
item.max = expected
|
76
|
+
actual = item.max
|
77
|
+
assert_equal expected, actual
|
78
|
+
expected = 4.8
|
79
|
+
item.max = expected
|
80
|
+
actual = item.max
|
81
|
+
assert_equal expected, actual
|
82
|
+
end
|
83
|
+
|
84
|
+
def test_std_dev_works_as_expected
|
85
|
+
expected = 1.5
|
86
|
+
item = Contracts::DataPoint.new
|
87
|
+
item.std_dev = expected
|
88
|
+
actual = item.std_dev
|
89
|
+
assert_equal expected, actual
|
90
|
+
expected = 4.8
|
91
|
+
item.std_dev = expected
|
92
|
+
actual = item.std_dev
|
93
|
+
assert_equal expected, actual
|
94
|
+
end
|
95
|
+
|
96
|
+
def test_to_json_works_as_expected
|
97
|
+
item = Contracts::DataPoint.new
|
98
|
+
item.name = 'Test string'
|
99
|
+
item.kind = 5
|
100
|
+
item.value = 1.5
|
101
|
+
item.count = 42
|
102
|
+
item.min = 1.5
|
103
|
+
item.max = 1.5
|
104
|
+
item.std_dev = 1.5
|
105
|
+
actual = item.to_json
|
106
|
+
expected = '{"name":"Test string","kind":5,"value":1.5,"count":42,"min":1.5,"max":1.5,"stdDev":1.5}'
|
107
|
+
assert_equal expected, actual
|
108
|
+
end
|
109
|
+
end
|