Пример #1
0
        public void TestDecoding()
        {
            SetUp();
            InitDe();

            //TODO Why null is needed?
            Tuple decoded = de.Decode(bits, null);

            Console.WriteLine(decoded.ToString());
            Console.WriteLine(String.Format("decodedToStr=>{0}", de.DecodedToStr(decoded)));

            Map <String, RangeList> fieldsMap   = (Map <String, RangeList>)decoded.Get(0);
            List <String>           fieldsOrder = (List <String>)decoded.Get(1);

            Assert.IsNotNull(fieldsMap);
            Assert.IsNotNull(fieldsOrder);
            Assert.AreEqual(4, fieldsMap.Count);

            Map <String, Double> expectedMap = new Map <String, Double>();

            expectedMap.Add("season", 305.0);
            expectedMap.Add("time of day", 14.4);
            expectedMap.Add("day of week", 3.0);
            expectedMap.Add("weekend", 0.0);

            foreach (String key in expectedMap.Keys)
            {
                double    expected = expectedMap[key];
                RangeList actual   = fieldsMap[key];
                Assert.AreEqual(1, actual.Count);
                MinMax minmax = actual.GetRange(0);
                Assert.AreEqual(expected, minmax.Min(), de.GetResolution());
                Assert.AreEqual(expected, minmax.Max(), de.GetResolution());
            }

            Console.WriteLine(decoded.ToString());
            Console.WriteLine(String.Format("decodedToStr=>{0}", de.DecodedToStr(decoded)));
        }