Ejemplo n.º 1
0
        public FileBasedMapReduceWritersTests()
        {
            dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            var keyAndTypes = new List <KeyAndType>();

            hasher0 = JComparer.Create(keyAndTypes);
            cmp0    = JComparer.Create(keyAndTypes);

            keyAndTypes.Add(new KeyAndType("k1", CompareType.Int));
            hasher1 = JComparer.Create(keyAndTypes);
            cmp1    = JComparer.Create(keyAndTypes);

            keyAndTypes.Add(new KeyAndType("k2", CompareType.String));
            hasher2 = JComparer.Create(keyAndTypes);
            cmp2    = JComparer.Create(keyAndTypes);

            keyAndTypes.Add(new KeyAndType("k3", CompareType.Double));
            hasher3 = JComparer.Create(keyAndTypes);
            cmp3    = JComparer.Create(keyAndTypes);

            Console.WriteLine("Hasher0={0}, cmp0={1}", hasher0, cmp0);
            Console.WriteLine("Hasher1={0}, cmp1={1}", hasher1, cmp1);
            Console.WriteLine("Hasher2={0}, cmp2={1}", hasher2, cmp2);
            Console.WriteLine("Hasher3={0}, cmp3={1}", hasher3, cmp3);
        }
Ejemplo n.º 2
0
        private static void checkHash(JObject o, JComparer hasher, int expHash, int expNullIndex)
        {
            int nullIndex;
            int h = hasher.GetHash(o, out nullIndex);

            Assert.AreEqual(expHash, h);
            Assert.AreEqual(expHash, hasher.GetHash(o));
            Assert.AreEqual(expNullIndex, nullIndex);
        }
Ejemplo n.º 3
0
 private List <JObject> sortAndDump(List <JObject> list, JComparer cmp, string p)
 {
     Console.WriteLine("Dumping entries after sorting {0}...", p);
     list.Sort(cmp);
     foreach (var o in list)
     {
         Console.WriteLine("-- " + o.ToString(Newtonsoft.Json.Formatting.None));
     }
     return(list);
 }
Ejemplo n.º 4
0
        public void TestCmpString()
        {
            //var cmp = JComparer.Create(new List<JPath> { new JPath("k2") }, new List<CompareType>() { CompareType.String });
            //var cmpI = JComparer.Create(new List<JPath> { new JPath("k2") }, new List<CompareType>() { CompareType.String | CompareType.CaseInsensitive });
            //var cmpRev = JComparer.Create(new List<JPath> { new JPath("k2") }, new List<CompareType>() { CompareType.String | CompareType.Descending });
            var cmp = JComparer.Create(new List <KeyAndType> {
                new KeyAndType("k2", CompareType.String)
            });
            var cmpI = JComparer.Create(new List <KeyAndType> {
                new KeyAndType("k2", CompareType.String | CompareType.CaseInsensitive)
            });
            var cmpRev = JComparer.Create(new List <KeyAndType> {
                new KeyAndType("k2", CompareType.String | CompareType.Descending)
            });
            JObject o1 = Create(1, "aB", 23);
            JObject o2 = Create("AB", 23);
            JObject o3 = Create(2, "bb");
            JObject o4 = Create(2, "");
            JObject o5 = Create(2, null);

            checkCompare(o1, o1, cmp, 0);
            checkCompare(o1, o1, cmpI, 0);
            checkCompare(o1, o1, cmpRev, 0);

            checkCompare(o4, o5, cmp, 0);
            checkCompare(o4, o5, cmpI, 0);
            checkCompare(o4, o5, cmpRev, 0);

            checkCompare(o1, o3, cmp, -1);
            checkCompare(o1, o2, cmp, 1);
            checkCompare(o1, o2, cmpI, 0);
            checkCompare(o1, o2, cmpRev, -1);

            var list = new List <JObject>();

            list.Add(o1);
            list.Add(o2);
            list.Add(o3);
            list.Add(o4);
            list.Add(o5);
            list.Add(Create("BB", 23));
            list.Add(Create("Bb", 23));
            list.Add(Create("bB", 23));
            list.Add(Create("c", 23));
            list.Add(Create("C", 23));

            sortAndDump(list, cmp, "Case-sens");
            sortAndDump(list, cmpI, "Case-in-sens");
        }
Ejemplo n.º 5
0
        private static void checkCompare(JObject a, JObject b, JComparer cmp, int exp)
        {
            int rc = cmp.Compare(a, b);

            if (rc < 0)
            {
                rc = -1;
            }
            else if (rc > 0)
            {
                rc = 1;
            }

            Assert.AreEqual(exp, rc);
        }
Ejemplo n.º 6
0
        public void TestCmpNull()
        {
            var cmp = JComparer.Create(new List <KeyAndType> {
                new KeyAndType("k1", CompareType.Int)
            });
            var cmpRev = JComparer.Create(new List <KeyAndType> {
                new KeyAndType("k1", CompareType.Int | CompareType.Descending)
            });                                                                                                                 // { CompareType.Int | CompareType.Descending });
            JObject o1 = Create(1, "22", 23);
            JObject o2 = Create("22", 23);
            JObject o3 = Create(2, "22");

            checkCompare(o1, o3, cmp, -1);
            checkCompare(o2, o3, cmp, -1);
            checkCompare(o2, o2, cmp, 0);
            checkCompare(o3, o2, cmp, 1);

            checkCompare(o2, o2, cmpRev, 0);
            checkCompare(o3, o2, cmpRev, -1);
        }