public static Expression RestoreSnapshot(KeyValuePair<string, List<Type>>[] SnapshotData) { if (SnapshotData.SequenceEqual(CurrentScope.OnDateType)) return null; var Ret = Expression.Block( SnapshotData.Except(CurrentScope.OnDateType) .SelectMany(x => x.Value.Select(y => CurrentScope.GetVarCached(x.Key, y))) ); SnapshotData = null; return Ret; }
public void FrequencyTest2() { var input = new int[] { 1, 2, 3, 4, 3, 2, 3, 3, 3, 3, 2, 2, 2, 3, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 3, 3, 1, 1, 2, 2, 1, 2, 1, 1, 2, 1, 2 }; Func<int, string> bucketSelector = X => X <= 2 ? "2 and under" : "Over 2"; var expected = new KeyValuePair<string, int>[] { new KeyValuePair<string, int>("2 and under", 36), new KeyValuePair<string, int>("Over 2", 13) }; var actual = input.Frequency(bucketSelector); if(IsDebugEnabled) log.Debug(@"expected=[{0}], actual=[{1}]", expected.CollectionToString(), actual.CollectionToString()); Assert.IsTrue(expected.SequenceEqual(actual)); }
public void FrequencyTest1() { var input = new int[] { 1, 2, 3, 4, 3, 2, 3, 3, 3, 3, 2, 2, 2, 3, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 3, 3, 1, 1, 2, 2, 1, 2, 1, 1, 2, 1, 2 }; var expected = new KeyValuePair<int, int>[] { new KeyValuePair<int, int>(1, 13), new KeyValuePair<int, int>(2, 23), new KeyValuePair<int, int>(3, 12), new KeyValuePair<int, int>(4, 1) }; var actual = input.Frequency(); if(IsDebugEnabled) log.Debug(@"expected=[{0}], actual=[{1}]", expected.CollectionToString(), actual.CollectionToString()); Assert.IsTrue(expected.SequenceEqual(actual)); }
public void FrequencyTest3() { var input = new int[] { 1, 2, 3, 4, 3, 2, 3, 3, 3, 3, 2, 2, 2, 3, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 3, 3, 1, 1, 2, 2, 1, 2, 1, 1, 2, 1, 2 }; var buckets = new string[] { "a", "b", "c", "Z1", "Z2" }; Func<int, IEnumerable<string>, string> bucketSelector = BucketSelector; var expected = new KeyValuePair<string, int>[] { new KeyValuePair<string, int>("a", 13), new KeyValuePair<string, int>("b", 23), new KeyValuePair<string, int>("c", 12), new KeyValuePair<string, int>("Z1", 1), new KeyValuePair<string, int>("Z2", 0) }; var actual = MathTool.Frequency(input, buckets, bucketSelector); if(IsDebugEnabled) log.Debug(@"expected=[{0}], actual=[{1}]", expected.CollectionToString(), actual.CollectionToString()); Assert.IsTrue(expected.SequenceEqual(actual)); }
public void CopyTo() { IDictionary<string, string> dict = new Dictionary<string, string>(); dict.Add("Key", "Value"); dict.Add("OtherKey", "OtherValue"); dict = dict.ToReadOnlyDictionary(); var values = new KeyValuePair<string, string>[3]; var expectedValues = new[] { KeyValuePair.Create("Key", "Value"), KeyValuePair.Create("OtherKey", "OtherValue"), default(KeyValuePair<string, string>) }; dict.CopyTo(values, 0); Assert.IsTrue(values.SequenceEqual(expectedValues)); dict.CopyTo(values, 1); expectedValues[2] = expectedValues[1]; expectedValues[1] = expectedValues[0]; Assert.IsTrue(values.SequenceEqual(expectedValues)); }