/* * 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.sparql.core ; import org.apache.jena.atlas.junit.BaseTest ; import org.apache.jena.sparql.ARQException ; import org.apache.jena.sparql.util.Context ; import org.apache.jena.sparql.util.Symbol ; import org.junit.Test ; public class TestContext extends BaseTest { static Symbol p1 = Symbol.create("p1") ; static Symbol p2 = Symbol.create("p2") ; @Test public void testCxt1() { Context cxt = new Context() ; } @Test public void testCxt2() { Context cxt = new Context() ; assertTrue("Defined in empty context", !cxt.isDefined(p1)) ; cxt.set(p1, "v") ; assertTrue("Not defined after .set", cxt.isDefined(p1)) ; Object v = cxt.get(p1) ; assertSame("Not the same", "v", v) ; } @Test public void testCxt3() { Context cxt = new Context() ; cxt.set(p1, "v") ; cxt.setIfUndef(p1, "w") ; Object v = cxt.get(p1) ; assertSame("Not as first set", "v", v) ; } @Test public void testCxt4() { Context cxt = new Context() ; cxt.set(p1, "true") ; assertTrue("Not true", cxt.isTrue(p1)) ; assertTrue("Not true or undef", cxt.isTrueOrUndef(p1)) ; assertTrue("Not false or undef", cxt.isFalseOrUndef(p2)) ; assertTrue("False when undef", !cxt.isFalse(p2)) ; } @Test public void testCxt5() { Context cxt = new Context() ; cxt.set(p1, "false") ; assertTrue("Not false", cxt.isFalse(p1)) ; assertTrue("Not false or undef", cxt.isFalseOrUndef(p1)) ; } @Test public void testCxt6() { Context cxt = new Context() ; cxt.setTrue(p1) ; assertTrue("Not true", cxt.isTrue(p1)) ; String x = cxt.getAsString(p1) ; assertEquals("Not string 'true'", "true", x) ; } @Test public void testCxt7() { Context cxt = new Context() ; assertEquals(-1, cxt.getInt(p1, -1)) ; cxt.set(p1, 1) ; int x = cxt.getInt(p1, -1) ; assertEquals(1, x) ; } @Test public void testCxt8() { Context cxt = new Context() ; assertEquals(-1L, cxt.getLong(p1, -1L)) ; cxt.set(p1, 1L) ; long x = cxt.getLong(p1, -2L) ; assertEquals(1L, x) ; } @Test(expected=ARQException.class) public void testCxt9() { Context cxt = new Context() ; assertEquals(-1L, cxt.getLong(p1, -1L)) ; cxt.set(p1, 1L) ; // Bad. Long for Integer. cxt.getInt(p1, -2) ; } }