/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache 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.apache.org/licenses/LICENSE-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.apache.jena.shared.uuid; import static org.apache.jena.shared.uuid.UUIDTestSuite.factory1 ; import static org.apache.jena.shared.uuid.UUIDTestSuite.factory4 ; import java.util.UUID ; import junit.framework.TestCase ; import org.apache.jena.shared.uuid.JenaUUID ; import org.apache.jena.shared.uuid.UUID_V1 ; import org.apache.jena.shared.uuid.UUID_V4 ; /** Test comparing Java JRE UUID and Jena's for parsing existing UUIDs. */ public class TestUUID_JRE extends TestCase { public void testU5_1() { JenaUUID u1 = JenaUUID.generate() ; UUID u2 = UUID.fromString(u1.asString()) ; assertEquals(u1.getVersion(), u2.version()) ; assertEquals(u1.getVariant(), u2.variant()) ; } public void testU5_2() { UUID_V1 u1 = factory1.generateV1() ; UUID u2 = UUID.fromString(u1.asString()) ; assertEquals(u1.getClockSequence(), u2.clockSequence()) ; assertEquals(u1.getTimestamp(), u2.timestamp()) ; assertEquals(u1.getNode(), u2.node()) ; assertEquals(u1.getVariant(), u2.variant()) ; assertEquals(u1.getVersion(), u2.version()) ; assertEquals(u1.getMostSignificantBits(), u2.getMostSignificantBits()) ; assertEquals(u1.getLeastSignificantBits(), u2.getLeastSignificantBits()) ; } public void testU5_3() { UUID_V4 u1 = factory4.generateV4() ; UUID u2 = UUID.fromString(u1.asString()) ; assertEquals(u1.getVariant(), u2.variant()) ; assertEquals(u1.getVersion(), u2.version()) ; assertEquals(u1.getMostSignificantBits(), u2.getMostSignificantBits()) ; assertEquals(u1.getLeastSignificantBits(), u2.getLeastSignificantBits()) ; } public void testU5_4() { UUID u1 = UUID.randomUUID() ; JenaUUID u2 = JenaUUID.parse(u1.toString()) ; assertEquals(u1.version(), u2.getVersion()) ; assertEquals(u1.variant(), u2.getVariant()) ; assertEquals(u1.getMostSignificantBits(), u2.getMostSignificantBits()) ; assertEquals(u1.getLeastSignificantBits(), u2.getLeastSignificantBits()) ; assertEquals(u1.toString(), u2.toString()) ; } public void testU5_5() { JenaUUID u1 = factory1.generate() ; UUID u2 = new UUID(u1.getMostSignificantBits(), u1.getLeastSignificantBits()) ; assertEquals(u1.getVersion(), u2.version()) ; assertEquals(u1.getVariant(), u2.variant()) ; assertEquals(u1.getMostSignificantBits(), u2.getMostSignificantBits()) ; assertEquals(u1.getLeastSignificantBits(), u2.getLeastSignificantBits()) ; assertEquals(u1.toString(), u2.toString()) ; } public void testU5_6() { JenaUUID u1 = factory4.generate() ; UUID u2 = new UUID(u1.getMostSignificantBits(), u1.getLeastSignificantBits()) ; assertEquals(u1.getVersion(), u2.version()) ; assertEquals(u1.getVariant(), u2.variant()) ; assertEquals(u1.getMostSignificantBits(), u2.getMostSignificantBits()) ; assertEquals(u1.getLeastSignificantBits(), u2.getLeastSignificantBits()) ; assertEquals(u1.toString(), u2.toString()) ; } private void check(String uuidString) { JenaUUID uuid = JenaUUID.parse(uuidString) ; // assertFalse(u.equals(JenaUUID.nil())) ; String s2 = uuid.asString() ; String s = uuidString ; if (s.matches("[uU][rR][nN]:")) s = s.substring(4) ; if (s.startsWith("[uU][uU][iI][dD]:")) s = s.substring(5) ; assertTrue(uuidString.equalsIgnoreCase(s)) ; } private void check(JenaUUID uuid) { String s = uuid.asString() ; if (uuid.isNil()) { assertEquals(JenaUUID.strNil(), s) ; return ; } JenaUUID uuid2 = JenaUUID.parse(s) ; assertTrue(uuid2.equals(uuid)) ; } }