private static void CheckOneChannelData <T>(TDMReader parser, Channel channel, int startIndex, int length)
            where T : IConvertible
        {
            var values            = parser.GetChannelData <T>(channel).ToList();
            var partialReadValues = parser.GetChannelData <T>(channel, (uint)startIndex, (uint)length).ToList();

            Assert.Equal(values, partialReadValues);
            Assert.Equal(channel.Maximum, values.Max().ToDouble(NumberFormatInfo.InvariantInfo));
            Assert.Equal(channel.Minimum, values.Min().ToDouble(NumberFormatInfo.InvariantInfo));
            Shared.CheckOneChannelDataCommon(channel, values);
        }
        public static void MinimalExample()
        {
            using (var parser = new TDMReader(Shared.TDM_File_Path)) {
                // global file including: title, author, etc.
                var header = parser.GetGlobalHeader() as FileProperties;

                var groups = parser.GetChannelGroups();

                var channels = new List <Channel>();
                foreach (var group in groups)
                {
                    channels.AddRange(parser.GetChannels(group));
                }

                double[] data = parser.GetChannelData <double>(channels.First()).ToArray();
                Assert.NotEmpty(data);
            }
        }