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