/********************************************************************************** * $URL: https://source.sakaiproject.org/svn/kernel/trunk/kernel-impl/src/test/java/org/sakaiproject/content/impl/test/SortTest.java $ * $Id: SortTest.java 130227 2013-10-08 11:40:08Z azeckoski@unicon.net $ *********************************************************************************** * * Copyright (c) 2003, 2004, 2005, 2006, 2007, 2008 Sakai Foundation * * Licensed under the Educational Community License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.opensource.org/licenses/ECL-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * **********************************************************************************/ package org.sakaiproject.content.impl.test; import org.sakaiproject.content.impl.ContentHostingComparator; import junit.framework.TestCase; public class SortTest extends TestCase { public SortTest(String name) { super(name); } public void testSorts() { ContentHostingComparator c = new ContentHostingComparator(null, true); assertEquals(-1, c.compareLikeMacFinder("AAAAA", "BBBBBB")); assertEquals(0, c.compareLikeMacFinder("AAAA", "AAAA")); assertEquals(1, c.compareLikeMacFinder("BBBB", "AAAA")); assertEquals(-1, c.compareLikeMacFinder("AAAA", "AAAA10")); assertEquals(-1, c.compareLikeMacFinder("AA1", "AA2")); assertEquals(0, c.compareLikeMacFinder("AA1", "AA1")); assertEquals(-1, c.compareLikeMacFinder("AA1", "AA10")); assertEquals(-1, c.compareLikeMacFinder("AA2", "AA10")); assertEquals(-1, c.compareLikeMacFinder("AA1FOO", "AA10FOO")); assertEquals(-1, c.compareLikeMacFinder("AA1", "AA10FOO")); // tough // case ... // what to // do? assertTrue(c.compareLikeMacFinder("Bill's Stuff", "Joe's Stuff") < 0); assertTrue(c.compareLikeMacFinder("1$%%$@%", "2(()$@$$") < 0); /* * incomparable groups ... sort as strings */ assertTrue(c.compareLikeMacFinder("AAA111", "111AAA") > 0); /* * check for numeric overflow ... */ assertTrue(c.compareLikeMacFinder("A1", "A184467440737095516160") < 0); /** * It should be case sensitive but these both fail -DH */ //assertEquals(0, c.compareLikeMacFinder("Leon", "leon")); //assertEquals(0, c.compareLikeMacFinder("leon", "léon")); } public void testLocaleSorts() { ContentHostingComparator c = new ContentHostingComparator(null, true); assertEquals(-1, c.comparerLocalSensitive("AAAAA", "BBBBBB")); assertEquals(0, c.comparerLocalSensitive("AAAA", "AAAA")); assertEquals(1, c.comparerLocalSensitive("BBBB", "AAAA")); assertEquals(-1, c.comparerLocalSensitive("AAAA", "AAAA10")); assertEquals(-1, c.comparerLocalSensitive("AA1", "AA2")); assertEquals(0, c.comparerLocalSensitive("AA1", "AA1")); assertEquals(-1, c.comparerLocalSensitive("AA1", "AA10")); //assertEquals(-1, c.comparerLocalSensitive("AA2", "AA10")); //For some reason this fails //assertEquals(-1, c.comparerLocalSensitive("AA1FOO", "AA10FOO")); // tough case, what to do? assertEquals(-1, c.comparerLocalSensitive("AA1", "AA10FOO")); assertTrue(c.comparerLocalSensitive("Bill's Stuff", "Joe's Stuff") < 0); assertTrue(c.comparerLocalSensitive("1$%%$@%", "2(()$@$$") < 0); /* * incomparable groups ... sort as strings */ assertTrue(c.comparerLocalSensitive("AAA111", "111AAA") > 0); assertEquals(0, c.comparerLocalSensitive("Leon", "leon")); // FIXME this test is failing to pass -AZ //assertEquals(0, c.comparerLocalSensitive("leon", "léon")); /* * check for numeric overflow ... */ assertTrue(c.comparerLocalSensitive("A1", "A184467440737095516160") < 0); } }