View Javadoc
1   /**
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements. See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership. The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *     http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
17   */
18  package org.apache.commons.rdf.api;
19  
20  import static org.junit.Assert.*;
21  
22  import java.util.Objects;
23  
24  import org.junit.Test;
25  
26  public class DefaultQuadTest {
27      @Test
28      public void asQuad() throws Exception {
29          final Quad q = new DummyQuad();
30          final Triple t = q.asTriple();
31          assertEquals(t, t);
32          assertNotEquals(t,  q);
33          assertEquals(t, new DummyTriple());
34          assertEquals(t, new DummyQuad().asTriple());
35  
36          // FIXME: This would not catch if asTriple() accidentally mixed up s/p/o
37          // as they are here all the same
38          assertEquals(new DummyIRI(1), t.getSubject());
39          assertEquals(new DummyIRI(2), t.getPredicate());
40          assertEquals(new DummyIRI(3), t.getObject());
41  
42  
43  
44          assertEquals(Objects.hash(q.getSubject(), q.getPredicate(), q.getObject()), t.hashCode());
45      }
46  
47  }