/* * ==================================================================== * Copyright (c) 2005-2012 sventon project. All rights reserved. * * This software is licensed as described in the file LICENSE, which * you should have received as part of this distribution. The terms * are also available at http://www.sventon.org. * If newer versions of this license are posted there, you may use a * newer version instead, at your option. * ==================================================================== */ package org.sventon.util; import org.junit.Test; import org.sventon.TestUtils; import org.sventon.model.LogMessageSearchItem; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; import static org.junit.Assert.assertSame; import static org.junit.Assert.fail; public class LogMessageComparatorTest { @Test public void testCompare() throws Exception { List<LogMessageSearchItem> entries = new ArrayList<LogMessageSearchItem>(); LogMessageSearchItem c1 = new LogMessageSearchItem(TestUtils.createLogEntry(1, "jesper", new Date(), "Message 1")); LogMessageSearchItem c2 = new LogMessageSearchItem(TestUtils.createLogEntry(12, "jesper", new Date(), "Message 2")); LogMessageSearchItem c3 = new LogMessageSearchItem(TestUtils.createLogEntry(123, "jesper", new Date(), "Message 3")); entries.add(c3); entries.add(c2); entries.add(c1); assertSame(c3, entries.get(0)); Collections.sort(entries, new LogMessageComparator(LogMessageComparator.ASCENDING)); assertSame(c1, entries.get(0)); assertSame(c2, entries.get(1)); assertSame(c3, entries.get(2)); Collections.sort(entries, new LogMessageComparator(LogMessageComparator.DESCENDING)); assertSame(c1, entries.get(2)); assertSame(c2, entries.get(1)); assertSame(c3, entries.get(0)); try { new LogMessageComparator(6); fail("IllegalArgumentException expected"); } catch (IllegalArgumentException iae) { // Expected } // null values are not OK LogMessageComparator comparator = new LogMessageComparator(LogMessageComparator.ASCENDING); try { comparator.compare(null, null); fail("NullPointerException expected"); } catch (NullPointerException npe) { // Expected } } }