Esempio n. 1
0
        public void ChannelDataExtensions_GetReader_Returns_ChannelDataReader()
        {
            string[] mnemonics, mnemonicFilter;
            SortedDictionary <int, string> mnemonicFilterDictionary;

            InitMnemonics(out mnemonics, out mnemonicFilter, out mnemonicFilterDictionary);

            string[] units;
            SortedDictionary <int, string> unitDictionary;

            InitUnits(out units, out unitDictionary);

            string[] dataTypes;
            SortedDictionary <int, string> dataTypeDictionary;

            InitDataTypes(out dataTypes, out dataTypeDictionary);

            string[] nullValues;
            SortedDictionary <int, string> nullValueDictionary;

            InitNullValues(out nullValues, out nullValueDictionary);

            var ranges = new Dictionary <string, Range <double?> >();

            var listofCii = new List <ChannelIndexInfo>
            {
                new ChannelIndexInfo()
                {
                    DataType    = "double",
                    Mnemonic    = "MD",
                    Unit        = "m",
                    Increasing  = true,
                    IsTimeIndex = false
                }
            };
            var records = new ChannelDataReader("[[[0],[0,0,0]],[[1],[1,1,1]]]", mnemonics, units, dataTypes, nullValues, "eml://witsml14/well(1)/wellbore(1)/log(1)", "1")
                          .WithIndices(listofCii).AsEnumerable();

            Assert.IsNotNull(records);
            using (var reader = records.GetReader())
            {
                var logData = reader.GetData(new ResponseContext()
                {
                    HasAllRequestedValues = false, RequestLatestValues = null
                }, mnemonicFilterDictionary, unitDictionary, dataTypeDictionary, nullValueDictionary, out ranges);
                Assert.AreEqual(1, logData.Count);
                Assert.AreEqual(2, logData[0].Count);
                Assert.AreEqual(1, logData[0][0].Count);
            }
        }