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))); }