tdms 0.1.0

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.
Files changed (124) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +10 -0
  3. data/LICENSE.txt +25 -0
  4. data/README.md +34 -0
  5. data/Rakefile +15 -0
  6. data/demo.rb +16 -0
  7. data/doc/data_types.txt +23 -0
  8. data/doc/example_disasm.txt +47 -0
  9. data/doc/tdms_format.txt +101 -0
  10. data/doc/usage.txt +46 -0
  11. data/lib/tdms.rb +8 -0
  12. data/lib/tdms/aggregate.rb +71 -0
  13. data/lib/tdms/channel.rb +100 -0
  14. data/lib/tdms/datatypes.rb +173 -0
  15. data/lib/tdms/document.rb +114 -0
  16. data/lib/tdms/path.rb +58 -0
  17. data/lib/tdms/property.rb +17 -0
  18. data/lib/tdms/segment.rb +12 -0
  19. data/lib/tdms/streaming.rb +82 -0
  20. data/test/build_fixtures/README.txt +25 -0
  21. data/test/build_fixtures/type_01_int8_one_segment.vi +0 -0
  22. data/test/build_fixtures/type_01_int8_three_segments.vi +0 -0
  23. data/test/build_fixtures/type_01_int8_two_channels_one_segment.vi +0 -0
  24. data/test/build_fixtures/type_02_int16_one_segment.vi +0 -0
  25. data/test/build_fixtures/type_02_int16_three_segments.vi +0 -0
  26. data/test/build_fixtures/type_02_int16_two_channels_one_segment.vi +0 -0
  27. data/test/build_fixtures/type_03_int32_one_segment.vi +0 -0
  28. data/test/build_fixtures/type_03_int32_three_segments.vi +0 -0
  29. data/test/build_fixtures/type_03_int32_two_channels_one_segment.vi +0 -0
  30. data/test/build_fixtures/type_04_int64_one_segment.vi +0 -0
  31. data/test/build_fixtures/type_04_int64_three_segments.vi +0 -0
  32. data/test/build_fixtures/type_04_int64_two_channels_one_segment.vi +0 -0
  33. data/test/build_fixtures/type_05_uint8_one_segment.vi +0 -0
  34. data/test/build_fixtures/type_05_uint8_three_segments.vi +0 -0
  35. data/test/build_fixtures/type_05_uint8_two_channels_one_segment.vi +0 -0
  36. data/test/build_fixtures/type_06_uint16_one_segment.vi +0 -0
  37. data/test/build_fixtures/type_06_uint16_three_segments.vi +0 -0
  38. data/test/build_fixtures/type_06_uint16_two_channels_one_segment.vi +0 -0
  39. data/test/build_fixtures/type_07_uint32_one_segment.vi +0 -0
  40. data/test/build_fixtures/type_07_uint32_three_segments.vi +0 -0
  41. data/test/build_fixtures/type_07_uint32_two_channels_one_segment.vi +0 -0
  42. data/test/build_fixtures/type_08_uint64_one_segment.vi +0 -0
  43. data/test/build_fixtures/type_08_uint64_three_segments.vi +0 -0
  44. data/test/build_fixtures/type_08_uint64_two_channels_one_segment.vi +0 -0
  45. data/test/build_fixtures/type_09_single_one_segment.vi +0 -0
  46. data/test/build_fixtures/type_09_single_three_segments.vi +0 -0
  47. data/test/build_fixtures/type_09_single_two_channels_one_segment.vi +0 -0
  48. data/test/build_fixtures/type_0a_double_one_segment.vi +0 -0
  49. data/test/build_fixtures/type_0a_double_three_segments.vi +0 -0
  50. data/test/build_fixtures/type_0a_double_two_channels_one_segment.vi +0 -0
  51. data/test/build_fixtures/type_20_string_one_segment.vi +0 -0
  52. data/test/build_fixtures/type_20_string_three_segments.vi +0 -0
  53. data/test/build_fixtures/type_20_string_two_channels_one_segment.vi +0 -0
  54. data/test/build_fixtures/type_21_boolean_one_segment.vi +0 -0
  55. data/test/build_fixtures/type_21_boolean_three_segments.vi +0 -0
  56. data/test/build_fixtures/type_21_boolean_two_channels_one_segment.vi +0 -0
  57. data/test/build_fixtures/type_44_datetime_one_segment.vi +0 -0
  58. data/test/build_fixtures/type_44_timestamp_three_segments.vi +0 -0
  59. data/test/build_fixtures/type_44_timestamp_two_channels_one_segment.vi +0 -0
  60. data/test/fixtures/example.tdms +0 -0
  61. data/test/fixtures/type_01_int8_one_segment.tdms +0 -0
  62. data/test/fixtures/type_01_int8_three_segments.tdms +0 -0
  63. data/test/fixtures/type_01_int8_two_channels_one_segment.tdms +0 -0
  64. data/test/fixtures/type_02_int16_one_segment.tdms +0 -0
  65. data/test/fixtures/type_02_int16_three_segments.tdms +0 -0
  66. data/test/fixtures/type_02_int16_two_channels_one_segment.tdms +0 -0
  67. data/test/fixtures/type_03_int32_one_segment.tdms +0 -0
  68. data/test/fixtures/type_03_int32_three_segments.tdms +0 -0
  69. data/test/fixtures/type_03_int32_two_channels_one_segment.tdms +0 -0
  70. data/test/fixtures/type_04_int64_one_segment.tdms +0 -0
  71. data/test/fixtures/type_04_int64_three_segments.tdms +0 -0
  72. data/test/fixtures/type_04_int64_two_channels_one_segment.tdms +0 -0
  73. data/test/fixtures/type_05_uint8_one_segment.tdms +0 -0
  74. data/test/fixtures/type_05_uint8_three_segments.tdms +0 -0
  75. data/test/fixtures/type_05_uint8_two_channels_one_segment.tdms +0 -0
  76. data/test/fixtures/type_06_uint16_one_segment.tdms +0 -0
  77. data/test/fixtures/type_06_uint16_three_segments.tdms +0 -0
  78. data/test/fixtures/type_06_uint16_two_channels_one_segment.tdms +0 -0
  79. data/test/fixtures/type_07_uint32_one_segment.tdms +0 -0
  80. data/test/fixtures/type_07_uint32_three_segments.tdms +0 -0
  81. data/test/fixtures/type_07_uint32_two_channels_one_segment.tdms +0 -0
  82. data/test/fixtures/type_08_uint64_one_segment.tdms +0 -0
  83. data/test/fixtures/type_08_uint64_three_segments.tdms +0 -0
  84. data/test/fixtures/type_08_uint64_two_channels_one_segment.tdms +0 -0
  85. data/test/fixtures/type_09_single_one_segment.tdms +0 -0
  86. data/test/fixtures/type_09_single_three_segments.tdms +0 -0
  87. data/test/fixtures/type_09_single_two_channels_one_segment.tdms +0 -0
  88. data/test/fixtures/type_0a_double_one_segment.tdms +0 -0
  89. data/test/fixtures/type_0a_double_three_segments.tdms +0 -0
  90. data/test/fixtures/type_0a_double_two_channels_one_segment.tdms +0 -0
  91. data/test/fixtures/type_19_single_with_unit_one_segment.tdms +0 -0
  92. data/test/fixtures/type_19_single_with_unit_three_segments.tdms +0 -0
  93. data/test/fixtures/type_19_single_with_unit_two_channels_one_segment.tdms +0 -0
  94. data/test/fixtures/type_1a_double_with_unit_one_segment.tdms +0 -0
  95. data/test/fixtures/type_1a_double_with_unit_three_segments.tdms +0 -0
  96. data/test/fixtures/type_1a_double_with_unit_two_channels_one_segment.tdms +0 -0
  97. data/test/fixtures/type_20_double_two_channels_one_segment.tdms +0 -0
  98. data/test/fixtures/type_20_string_one_segment.tdms +0 -0
  99. data/test/fixtures/type_20_string_three_segments.tdms +0 -0
  100. data/test/fixtures/type_20_string_two_channels_one_segment.tdms +0 -0
  101. data/test/fixtures/type_20_string_two_segments.tdms +0 -0
  102. data/test/fixtures/type_21_boolean_one_segment.tdms +0 -0
  103. data/test/fixtures/type_21_boolean_three_segments.tdms +0 -0
  104. data/test/fixtures/type_21_boolean_two_channels_one_segment.tdms +0 -0
  105. data/test/fixtures/type_44_timestamp_one_segment.tdms +0 -0
  106. data/test/fixtures/type_44_timestamp_three_segments.tdms +0 -0
  107. data/test/fixtures/type_44_timestamp_two_channels_one_segment.tdms +0 -0
  108. data/test/read_type_01_int8_test.rb +58 -0
  109. data/test/read_type_02_int16_test.rb +58 -0
  110. data/test/read_type_03_int32_test.rb +58 -0
  111. data/test/read_type_04_int64_test.rb +64 -0
  112. data/test/read_type_05_uint8_test.rb +56 -0
  113. data/test/read_type_06_uint16_test.rb +58 -0
  114. data/test/read_type_07_uint32_test.rb +58 -0
  115. data/test/read_type_08_uint64_test.rb +58 -0
  116. data/test/read_type_09_single_test.rb +58 -0
  117. data/test/read_type_0a_double_test.rb +58 -0
  118. data/test/read_type_19_single_with_unit_test.rb +58 -0
  119. data/test/read_type_1a_double_with_unit_test.rb +58 -0
  120. data/test/read_type_20_string_test.rb +60 -0
  121. data/test/read_type_21_boolean_test.rb +56 -0
  122. data/test/read_type_44_timestamp_test.rb +60 -0
  123. data/test/test_helper.rb +9 -0
  124. metadata +284 -0
@@ -0,0 +1,60 @@
1
+ class ReadType20StringTest < Test::Unit::TestCase
2
+
3
+ def test_reads_one_string_channel_in_one_segment
4
+ filename = fixture_filename("type_20_string_one_segment")
5
+ doc = Tdms::File.parse(filename)
6
+
7
+ assert_equal 1, doc.segments.size
8
+ assert_equal 1, doc.segments[0].objects.size
9
+ assert_equal Tdms::DataType::Utf8String::Id, doc.segments[0].objects[0].data_type_id
10
+
11
+ chan = doc.channels.find {|ch| ch.path == "/'string_group'/'string_channel'" }
12
+ assert_equal 10, chan.values.size
13
+ expected = %w{zero one two three four five six seven eight nine}
14
+ assert_equal expected, chan.values.to_a
15
+ end
16
+
17
+ def test_reads_two_string_channels_in_one_segment
18
+ filename = fixture_filename("type_20_string_two_channels_one_segment")
19
+ doc = Tdms::File.parse(filename)
20
+
21
+ assert_equal 1, doc.segments.size
22
+ assert_equal 2, doc.segments[0].objects.size
23
+ assert_equal Tdms::DataType::Utf8String::Id, doc.segments[0].objects[0].data_type_id
24
+ assert_equal Tdms::DataType::Utf8String::Id, doc.segments[0].objects[1].data_type_id
25
+
26
+ chan = doc.channels.find {|ch| ch.path == "/'string_group'/'string_channel_a'" }
27
+ assert_equal 10, chan.values.size
28
+ expected = %w{a-zero a-one a-two a-three a-four a-five a-six a-seven a-eight a-nine}
29
+ assert_equal expected, chan.values.to_a
30
+
31
+ chan = doc.channels.find {|ch| ch.path == "/'string_group'/'string_channel_b'" }
32
+ assert_equal 10, chan.values.size
33
+ expected = %w{b-zero b-one b-two b-three b-four b-five b-six b-seven b-eight b-nine}
34
+ assert_equal expected, chan.values.to_a
35
+ end
36
+
37
+ def test_reads_one_string_channel_across_three_segments
38
+ filename = fixture_filename("type_20_string_three_segments")
39
+ doc = Tdms::File.parse(filename)
40
+
41
+ assert_equal 3, doc.segments.size
42
+ assert_equal 1, doc.segments[0].objects.size
43
+ assert_equal 1, doc.segments[1].objects.size
44
+ assert_equal 1, doc.segments[2].objects.size
45
+ assert_equal Tdms::DataType::Utf8String::Id, doc.segments[0].objects[0].data_type_id
46
+ assert_equal Tdms::DataType::Utf8String::Id, doc.segments[1].objects[0].data_type_id
47
+ assert_equal Tdms::DataType::Utf8String::Id, doc.segments[2].objects[0].data_type_id
48
+
49
+ chan = doc.channels.find {|ch| ch.path == "/'string_group'/'string_channel'" }
50
+ assert_equal 30, chan.values.size
51
+
52
+ expected = %w{zero one two three four five six seven eight nine
53
+ ten eleven twelve thirteen fourteen fifteen sixteen
54
+ seventeen eighteen nineteen twenty twenty-one twenty-two
55
+ twenty-three twenty-four twenty-five twenty-six
56
+ twenty-seven twenty-eight twenty-nine}
57
+ assert_equal expected, chan.values.to_a
58
+ end
59
+
60
+ end
@@ -0,0 +1,56 @@
1
+ class ReadType21BooleanTest < Test::Unit::TestCase
2
+
3
+ def test_reads_one_boolean_channel_in_one_segment
4
+ filename = fixture_filename("type_21_boolean_one_segment")
5
+ doc = Tdms::File.parse(filename)
6
+
7
+ assert_equal 1, doc.segments.size
8
+ assert_equal 1, doc.segments[0].objects.size
9
+ assert_equal Tdms::DataType::Boolean::Id, doc.segments[0].objects[0].data_type_id
10
+
11
+ chan = doc.channels.find {|ch| ch.path == "/'boolean_group'/'boolean_channel'" }
12
+ assert_equal 2, chan.values.size
13
+
14
+ expected = [true, false]
15
+ assert_equal expected, chan.values.to_a
16
+ end
17
+
18
+ def test_reads_two_boolean_channels_in_one_segment
19
+ filename = fixture_filename("type_21_boolean_two_channels_one_segment")
20
+ doc = Tdms::File.parse(filename)
21
+
22
+ assert_equal 1, doc.segments.size
23
+ assert_equal 2, doc.segments[0].objects.size
24
+ assert_equal Tdms::DataType::Boolean::Id, doc.segments[0].objects[0].data_type_id
25
+ assert_equal Tdms::DataType::Boolean::Id, doc.segments[0].objects[1].data_type_id
26
+
27
+ chan = doc.channels.find {|ch| ch.path == "/'boolean_group'/'boolean_channel_a'" }
28
+ assert_equal 2, chan.values.size
29
+ expected = [true, false]
30
+ assert_equal expected, chan.values.to_a
31
+
32
+ chan = doc.channels.find {|ch| ch.path == "/'boolean_group'/'boolean_channel_b'" }
33
+ assert_equal 2, chan.values.size
34
+ expected = [false, true]
35
+ assert_equal expected, chan.values.to_a
36
+ end
37
+
38
+ def test_reads_one_boolean_channel_across_three_segments
39
+ filename = fixture_filename("type_21_boolean_three_segments")
40
+ doc = Tdms::File.parse(filename)
41
+
42
+ assert_equal 3, doc.segments.size
43
+ assert_equal 1, doc.segments[0].objects.size
44
+ assert_equal 1, doc.segments[1].objects.size
45
+ assert_equal 1, doc.segments[2].objects.size
46
+ assert_equal Tdms::DataType::Boolean::Id, doc.segments[0].objects[0].data_type_id
47
+ assert_equal Tdms::DataType::Boolean::Id, doc.segments[1].objects[0].data_type_id
48
+ assert_equal Tdms::DataType::Boolean::Id, doc.segments[2].objects[0].data_type_id
49
+
50
+ chan = doc.channels.find {|ch| ch.path == "/'boolean_group'/'boolean_channel'" }
51
+ assert_equal 6, chan.values.size
52
+ expected = [true, false, true, false, true, false]
53
+ assert_equal expected, chan.values.to_a
54
+ end
55
+
56
+ end
@@ -0,0 +1,60 @@
1
+ class ReadType44TimestampTest < Test::Unit::TestCase
2
+
3
+ def test_reads_one_timestamp_channel_in_one_segment
4
+ filename = fixture_filename("type_44_timestamp_one_segment")
5
+ doc = Tdms::File.parse(filename)
6
+
7
+ assert_equal 1, doc.segments.size
8
+ assert_equal 1, doc.segments[0].objects.size
9
+ assert_equal Tdms::DataType::Timestamp::Id, doc.segments[0].objects[0].data_type_id
10
+
11
+
12
+ chan = doc.channels.find {|ch| ch.path == "/'timestamp_group'/'timestamp_channel'" }
13
+ assert_equal 3, chan.values.size
14
+
15
+ expected = ["1904-01-01 00:00:00", "2008-06-07 01:23:45", "1894-03-15 13:23:45"]
16
+ assert_equal expected, chan.values.map { |dt| dt.strftime("%Y-%m-%d %H:%M:%S") }
17
+ end
18
+
19
+ def test_reads_two_timestamp_channels_in_one_segment
20
+ filename = fixture_filename("type_44_timestamp_two_channels_one_segment")
21
+ doc = Tdms::File.parse(filename)
22
+
23
+ assert_equal 1, doc.segments.size
24
+ assert_equal 2, doc.segments[0].objects.size
25
+ assert_equal Tdms::DataType::Timestamp::Id, doc.segments[0].objects[0].data_type_id
26
+ assert_equal Tdms::DataType::Timestamp::Id, doc.segments[0].objects[1].data_type_id
27
+
28
+ chan = doc.channels.find {|ch| ch.path == "/'timestamp_group'/'timestamp_channel_a'" }
29
+ assert_equal 3, chan.values.size
30
+ expected = ["1904-01-01 00:00:00", "2008-06-07 01:23:45", "1894-03-15 13:23:45"]
31
+ assert_equal expected, chan.values.map { |dt| dt.strftime("%Y-%m-%d %H:%M:%S") }
32
+
33
+ chan = doc.channels.find {|ch| ch.path == "/'timestamp_group'/'timestamp_channel_b'" }
34
+ assert_equal 3, chan.values.size
35
+ expected = ["1894-03-15 13:23:45", "2008-06-07 01:23:45", "1904-01-01 00:00:00"]
36
+ assert_equal expected, chan.values.map { |dt| dt.strftime("%Y-%m-%d %H:%M:%S") }
37
+ end
38
+
39
+ def test_reads_one_timestamp_channel_across_three_segments
40
+ filename = fixture_filename("type_44_timestamp_three_segments")
41
+ doc = Tdms::File.parse(filename)
42
+
43
+ assert_equal 3, doc.segments.size
44
+ assert_equal 1, doc.segments[0].objects.size
45
+ assert_equal 1, doc.segments[1].objects.size
46
+ assert_equal 1, doc.segments[2].objects.size
47
+ assert_equal Tdms::DataType::Timestamp::Id, doc.segments[0].objects[0].data_type_id
48
+ assert_equal Tdms::DataType::Timestamp::Id, doc.segments[1].objects[0].data_type_id
49
+ assert_equal Tdms::DataType::Timestamp::Id, doc.segments[2].objects[0].data_type_id
50
+
51
+ chan = doc.channels.find {|ch| ch.path == "/'timestamp_group'/'timestamp_channel'" }
52
+ assert_equal 9, chan.values.size
53
+
54
+ expected = ["1904-01-01 00:00:00", "2008-06-07 01:23:45", "1894-03-15 13:23:45",
55
+ "1904-01-01 00:00:00", "2008-06-07 01:23:45", "1894-03-15 13:23:45",
56
+ "1904-01-01 00:00:00", "2008-06-07 01:23:45", "1894-03-15 13:23:45"]
57
+ assert_equal expected, chan.values.map { |dt| dt.strftime("%Y-%m-%d %H:%M:%S") }
58
+ end
59
+
60
+ end
@@ -0,0 +1,9 @@
1
+ require 'test/unit'
2
+
3
+ class Test::Unit::TestCase
4
+
5
+ def fixture_filename(fixture_name)
6
+ File.dirname(__FILE__) + "/fixtures/#{fixture_name}.tdms"
7
+ end
8
+
9
+ end
metadata ADDED
@@ -0,0 +1,284 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tdms
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Mike Naberezny
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-07-20 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ description: Ruby library to read files in NI TDMS format
28
+ email:
29
+ - mike@naberezny.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - ".travis.yml"
35
+ - LICENSE.txt
36
+ - README.md
37
+ - Rakefile
38
+ - demo.rb
39
+ - doc/data_types.txt
40
+ - doc/example_disasm.txt
41
+ - doc/tdms_format.txt
42
+ - doc/usage.txt
43
+ - lib/tdms.rb
44
+ - lib/tdms/aggregate.rb
45
+ - lib/tdms/channel.rb
46
+ - lib/tdms/datatypes.rb
47
+ - lib/tdms/document.rb
48
+ - lib/tdms/path.rb
49
+ - lib/tdms/property.rb
50
+ - lib/tdms/segment.rb
51
+ - lib/tdms/streaming.rb
52
+ - test/build_fixtures/README.txt
53
+ - test/build_fixtures/type_01_int8_one_segment.vi
54
+ - test/build_fixtures/type_01_int8_three_segments.vi
55
+ - test/build_fixtures/type_01_int8_two_channels_one_segment.vi
56
+ - test/build_fixtures/type_02_int16_one_segment.vi
57
+ - test/build_fixtures/type_02_int16_three_segments.vi
58
+ - test/build_fixtures/type_02_int16_two_channels_one_segment.vi
59
+ - test/build_fixtures/type_03_int32_one_segment.vi
60
+ - test/build_fixtures/type_03_int32_three_segments.vi
61
+ - test/build_fixtures/type_03_int32_two_channels_one_segment.vi
62
+ - test/build_fixtures/type_04_int64_one_segment.vi
63
+ - test/build_fixtures/type_04_int64_three_segments.vi
64
+ - test/build_fixtures/type_04_int64_two_channels_one_segment.vi
65
+ - test/build_fixtures/type_05_uint8_one_segment.vi
66
+ - test/build_fixtures/type_05_uint8_three_segments.vi
67
+ - test/build_fixtures/type_05_uint8_two_channels_one_segment.vi
68
+ - test/build_fixtures/type_06_uint16_one_segment.vi
69
+ - test/build_fixtures/type_06_uint16_three_segments.vi
70
+ - test/build_fixtures/type_06_uint16_two_channels_one_segment.vi
71
+ - test/build_fixtures/type_07_uint32_one_segment.vi
72
+ - test/build_fixtures/type_07_uint32_three_segments.vi
73
+ - test/build_fixtures/type_07_uint32_two_channels_one_segment.vi
74
+ - test/build_fixtures/type_08_uint64_one_segment.vi
75
+ - test/build_fixtures/type_08_uint64_three_segments.vi
76
+ - test/build_fixtures/type_08_uint64_two_channels_one_segment.vi
77
+ - test/build_fixtures/type_09_single_one_segment.vi
78
+ - test/build_fixtures/type_09_single_three_segments.vi
79
+ - test/build_fixtures/type_09_single_two_channels_one_segment.vi
80
+ - test/build_fixtures/type_0a_double_one_segment.vi
81
+ - test/build_fixtures/type_0a_double_three_segments.vi
82
+ - test/build_fixtures/type_0a_double_two_channels_one_segment.vi
83
+ - test/build_fixtures/type_20_string_one_segment.vi
84
+ - test/build_fixtures/type_20_string_three_segments.vi
85
+ - test/build_fixtures/type_20_string_two_channels_one_segment.vi
86
+ - test/build_fixtures/type_21_boolean_one_segment.vi
87
+ - test/build_fixtures/type_21_boolean_three_segments.vi
88
+ - test/build_fixtures/type_21_boolean_two_channels_one_segment.vi
89
+ - test/build_fixtures/type_44_datetime_one_segment.vi
90
+ - test/build_fixtures/type_44_timestamp_three_segments.vi
91
+ - test/build_fixtures/type_44_timestamp_two_channels_one_segment.vi
92
+ - test/fixtures/example.tdms
93
+ - test/fixtures/type_01_int8_one_segment.tdms
94
+ - test/fixtures/type_01_int8_three_segments.tdms
95
+ - test/fixtures/type_01_int8_two_channels_one_segment.tdms
96
+ - test/fixtures/type_02_int16_one_segment.tdms
97
+ - test/fixtures/type_02_int16_three_segments.tdms
98
+ - test/fixtures/type_02_int16_two_channels_one_segment.tdms
99
+ - test/fixtures/type_03_int32_one_segment.tdms
100
+ - test/fixtures/type_03_int32_three_segments.tdms
101
+ - test/fixtures/type_03_int32_two_channels_one_segment.tdms
102
+ - test/fixtures/type_04_int64_one_segment.tdms
103
+ - test/fixtures/type_04_int64_three_segments.tdms
104
+ - test/fixtures/type_04_int64_two_channels_one_segment.tdms
105
+ - test/fixtures/type_05_uint8_one_segment.tdms
106
+ - test/fixtures/type_05_uint8_three_segments.tdms
107
+ - test/fixtures/type_05_uint8_two_channels_one_segment.tdms
108
+ - test/fixtures/type_06_uint16_one_segment.tdms
109
+ - test/fixtures/type_06_uint16_three_segments.tdms
110
+ - test/fixtures/type_06_uint16_two_channels_one_segment.tdms
111
+ - test/fixtures/type_07_uint32_one_segment.tdms
112
+ - test/fixtures/type_07_uint32_three_segments.tdms
113
+ - test/fixtures/type_07_uint32_two_channels_one_segment.tdms
114
+ - test/fixtures/type_08_uint64_one_segment.tdms
115
+ - test/fixtures/type_08_uint64_three_segments.tdms
116
+ - test/fixtures/type_08_uint64_two_channels_one_segment.tdms
117
+ - test/fixtures/type_09_single_one_segment.tdms
118
+ - test/fixtures/type_09_single_three_segments.tdms
119
+ - test/fixtures/type_09_single_two_channels_one_segment.tdms
120
+ - test/fixtures/type_0a_double_one_segment.tdms
121
+ - test/fixtures/type_0a_double_three_segments.tdms
122
+ - test/fixtures/type_0a_double_two_channels_one_segment.tdms
123
+ - test/fixtures/type_19_single_with_unit_one_segment.tdms
124
+ - test/fixtures/type_19_single_with_unit_three_segments.tdms
125
+ - test/fixtures/type_19_single_with_unit_two_channels_one_segment.tdms
126
+ - test/fixtures/type_1a_double_with_unit_one_segment.tdms
127
+ - test/fixtures/type_1a_double_with_unit_three_segments.tdms
128
+ - test/fixtures/type_1a_double_with_unit_two_channels_one_segment.tdms
129
+ - test/fixtures/type_20_double_two_channels_one_segment.tdms
130
+ - test/fixtures/type_20_string_one_segment.tdms
131
+ - test/fixtures/type_20_string_three_segments.tdms
132
+ - test/fixtures/type_20_string_two_channels_one_segment.tdms
133
+ - test/fixtures/type_20_string_two_segments.tdms
134
+ - test/fixtures/type_21_boolean_one_segment.tdms
135
+ - test/fixtures/type_21_boolean_three_segments.tdms
136
+ - test/fixtures/type_21_boolean_two_channels_one_segment.tdms
137
+ - test/fixtures/type_44_timestamp_one_segment.tdms
138
+ - test/fixtures/type_44_timestamp_three_segments.tdms
139
+ - test/fixtures/type_44_timestamp_two_channels_one_segment.tdms
140
+ - test/read_type_01_int8_test.rb
141
+ - test/read_type_02_int16_test.rb
142
+ - test/read_type_03_int32_test.rb
143
+ - test/read_type_04_int64_test.rb
144
+ - test/read_type_05_uint8_test.rb
145
+ - test/read_type_06_uint16_test.rb
146
+ - test/read_type_07_uint32_test.rb
147
+ - test/read_type_08_uint64_test.rb
148
+ - test/read_type_09_single_test.rb
149
+ - test/read_type_0a_double_test.rb
150
+ - test/read_type_19_single_with_unit_test.rb
151
+ - test/read_type_1a_double_with_unit_test.rb
152
+ - test/read_type_20_string_test.rb
153
+ - test/read_type_21_boolean_test.rb
154
+ - test/read_type_44_timestamp_test.rb
155
+ - test/test_helper.rb
156
+ homepage: https://github.com/mnaberez/tdms
157
+ licenses:
158
+ - BSD
159
+ metadata: {}
160
+ post_install_message:
161
+ rdoc_options: []
162
+ require_paths:
163
+ - lib
164
+ required_ruby_version: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ version: 1.9.3
169
+ required_rubygems_version: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ requirements: []
175
+ rubyforge_project:
176
+ rubygems_version: 2.4.5.1
177
+ signing_key:
178
+ specification_version: 4
179
+ summary: Ruby library to read files in NI TDMS format
180
+ test_files:
181
+ - test/build_fixtures/README.txt
182
+ - test/build_fixtures/type_01_int8_one_segment.vi
183
+ - test/build_fixtures/type_01_int8_three_segments.vi
184
+ - test/build_fixtures/type_01_int8_two_channels_one_segment.vi
185
+ - test/build_fixtures/type_02_int16_one_segment.vi
186
+ - test/build_fixtures/type_02_int16_three_segments.vi
187
+ - test/build_fixtures/type_02_int16_two_channels_one_segment.vi
188
+ - test/build_fixtures/type_03_int32_one_segment.vi
189
+ - test/build_fixtures/type_03_int32_three_segments.vi
190
+ - test/build_fixtures/type_03_int32_two_channels_one_segment.vi
191
+ - test/build_fixtures/type_04_int64_one_segment.vi
192
+ - test/build_fixtures/type_04_int64_three_segments.vi
193
+ - test/build_fixtures/type_04_int64_two_channels_one_segment.vi
194
+ - test/build_fixtures/type_05_uint8_one_segment.vi
195
+ - test/build_fixtures/type_05_uint8_three_segments.vi
196
+ - test/build_fixtures/type_05_uint8_two_channels_one_segment.vi
197
+ - test/build_fixtures/type_06_uint16_one_segment.vi
198
+ - test/build_fixtures/type_06_uint16_three_segments.vi
199
+ - test/build_fixtures/type_06_uint16_two_channels_one_segment.vi
200
+ - test/build_fixtures/type_07_uint32_one_segment.vi
201
+ - test/build_fixtures/type_07_uint32_three_segments.vi
202
+ - test/build_fixtures/type_07_uint32_two_channels_one_segment.vi
203
+ - test/build_fixtures/type_08_uint64_one_segment.vi
204
+ - test/build_fixtures/type_08_uint64_three_segments.vi
205
+ - test/build_fixtures/type_08_uint64_two_channels_one_segment.vi
206
+ - test/build_fixtures/type_09_single_one_segment.vi
207
+ - test/build_fixtures/type_09_single_three_segments.vi
208
+ - test/build_fixtures/type_09_single_two_channels_one_segment.vi
209
+ - test/build_fixtures/type_0a_double_one_segment.vi
210
+ - test/build_fixtures/type_0a_double_three_segments.vi
211
+ - test/build_fixtures/type_0a_double_two_channels_one_segment.vi
212
+ - test/build_fixtures/type_20_string_one_segment.vi
213
+ - test/build_fixtures/type_20_string_three_segments.vi
214
+ - test/build_fixtures/type_20_string_two_channels_one_segment.vi
215
+ - test/build_fixtures/type_21_boolean_one_segment.vi
216
+ - test/build_fixtures/type_21_boolean_three_segments.vi
217
+ - test/build_fixtures/type_21_boolean_two_channels_one_segment.vi
218
+ - test/build_fixtures/type_44_datetime_one_segment.vi
219
+ - test/build_fixtures/type_44_timestamp_three_segments.vi
220
+ - test/build_fixtures/type_44_timestamp_two_channels_one_segment.vi
221
+ - test/fixtures/example.tdms
222
+ - test/fixtures/type_01_int8_one_segment.tdms
223
+ - test/fixtures/type_01_int8_three_segments.tdms
224
+ - test/fixtures/type_01_int8_two_channels_one_segment.tdms
225
+ - test/fixtures/type_02_int16_one_segment.tdms
226
+ - test/fixtures/type_02_int16_three_segments.tdms
227
+ - test/fixtures/type_02_int16_two_channels_one_segment.tdms
228
+ - test/fixtures/type_03_int32_one_segment.tdms
229
+ - test/fixtures/type_03_int32_three_segments.tdms
230
+ - test/fixtures/type_03_int32_two_channels_one_segment.tdms
231
+ - test/fixtures/type_04_int64_one_segment.tdms
232
+ - test/fixtures/type_04_int64_three_segments.tdms
233
+ - test/fixtures/type_04_int64_two_channels_one_segment.tdms
234
+ - test/fixtures/type_05_uint8_one_segment.tdms
235
+ - test/fixtures/type_05_uint8_three_segments.tdms
236
+ - test/fixtures/type_05_uint8_two_channels_one_segment.tdms
237
+ - test/fixtures/type_06_uint16_one_segment.tdms
238
+ - test/fixtures/type_06_uint16_three_segments.tdms
239
+ - test/fixtures/type_06_uint16_two_channels_one_segment.tdms
240
+ - test/fixtures/type_07_uint32_one_segment.tdms
241
+ - test/fixtures/type_07_uint32_three_segments.tdms
242
+ - test/fixtures/type_07_uint32_two_channels_one_segment.tdms
243
+ - test/fixtures/type_08_uint64_one_segment.tdms
244
+ - test/fixtures/type_08_uint64_three_segments.tdms
245
+ - test/fixtures/type_08_uint64_two_channels_one_segment.tdms
246
+ - test/fixtures/type_09_single_one_segment.tdms
247
+ - test/fixtures/type_09_single_three_segments.tdms
248
+ - test/fixtures/type_09_single_two_channels_one_segment.tdms
249
+ - test/fixtures/type_0a_double_one_segment.tdms
250
+ - test/fixtures/type_0a_double_three_segments.tdms
251
+ - test/fixtures/type_0a_double_two_channels_one_segment.tdms
252
+ - test/fixtures/type_19_single_with_unit_one_segment.tdms
253
+ - test/fixtures/type_19_single_with_unit_three_segments.tdms
254
+ - test/fixtures/type_19_single_with_unit_two_channels_one_segment.tdms
255
+ - test/fixtures/type_1a_double_with_unit_one_segment.tdms
256
+ - test/fixtures/type_1a_double_with_unit_three_segments.tdms
257
+ - test/fixtures/type_1a_double_with_unit_two_channels_one_segment.tdms
258
+ - test/fixtures/type_20_double_two_channels_one_segment.tdms
259
+ - test/fixtures/type_20_string_one_segment.tdms
260
+ - test/fixtures/type_20_string_three_segments.tdms
261
+ - test/fixtures/type_20_string_two_channels_one_segment.tdms
262
+ - test/fixtures/type_20_string_two_segments.tdms
263
+ - test/fixtures/type_21_boolean_one_segment.tdms
264
+ - test/fixtures/type_21_boolean_three_segments.tdms
265
+ - test/fixtures/type_21_boolean_two_channels_one_segment.tdms
266
+ - test/fixtures/type_44_timestamp_one_segment.tdms
267
+ - test/fixtures/type_44_timestamp_three_segments.tdms
268
+ - test/fixtures/type_44_timestamp_two_channels_one_segment.tdms
269
+ - test/read_type_01_int8_test.rb
270
+ - test/read_type_02_int16_test.rb
271
+ - test/read_type_03_int32_test.rb
272
+ - test/read_type_04_int64_test.rb
273
+ - test/read_type_05_uint8_test.rb
274
+ - test/read_type_06_uint16_test.rb
275
+ - test/read_type_07_uint32_test.rb
276
+ - test/read_type_08_uint64_test.rb
277
+ - test/read_type_09_single_test.rb
278
+ - test/read_type_0a_double_test.rb
279
+ - test/read_type_19_single_with_unit_test.rb
280
+ - test/read_type_1a_double_with_unit_test.rb
281
+ - test/read_type_20_string_test.rb
282
+ - test/read_type_21_boolean_test.rb
283
+ - test/read_type_44_timestamp_test.rb
284
+ - test/test_helper.rb