package com.mysema.rdfbean.model;
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
import org.junit.Test;
public class NODEComparatorTest {
private static final NODEComparator comparator = new NODEComparator();
@Test
public void Compare() {
BID bid = new BID("c");
UID uid = new UID("b:b");
LIT lit = new LIT("a");
assertEquals(0, comparator.compare(bid, bid));
assertEquals(0, comparator.compare(uid, uid));
assertEquals(0, comparator.compare(lit, lit));
}
@Test
public void NodeType() {
BID bid = new BID("c");
UID uid = new UID("b:b");
LIT lit = new LIT("a");
List<NODE> nodes = Arrays.<NODE> asList(lit, uid, bid);
Collections.sort(nodes, comparator);
assertEquals(Arrays.asList(bid, uid, lit), nodes);
}
@Test
public void Lexical() {
LIT lit1 = new LIT("x");
LIT lit2 = new LIT("y");
LIT lit3 = new LIT("z");
List<NODE> nodes = Arrays.<NODE> asList(lit3, lit2, lit1);
Collections.sort(nodes, comparator);
assertEquals(Arrays.asList(lit1, lit2, lit3), nodes);
}
@Test
public void Literals() {
LIT lit1 = new LIT("x", RDF.text);
LIT lit2 = new LIT("x", new Locale("fi"));
LIT lit3 = new LIT("x");
List<NODE> nodes = Arrays.<NODE> asList(lit3, lit2, lit1);
Collections.sort(nodes, comparator);
assertEquals(Arrays.asList(lit1, lit2, lit3), nodes);
}
}