Ejemplo n.º 1
0
  public void test_datatypeLiteral_xsd_double() {

    final URI datatype = XMLSchema.DOUBLE;

    // Note: leading zeros are ignored in the xsd:int value space.
    final String lit1 = "-4.0";
    final String lit2 = "005";
    final String lit3 = "5.";
    final String lit4 = "5.0";
    final String lit5 = "6";

    final byte[] k1 = fixture.datatypeLiteral2key(datatype, lit1);
    final byte[] k2 = fixture.datatypeLiteral2key(datatype, lit2);
    final byte[] k3 = fixture.datatypeLiteral2key(datatype, lit3);
    final byte[] k4 = fixture.datatypeLiteral2key(datatype, lit4);
    final byte[] k5 = fixture.datatypeLiteral2key(datatype, lit5);

    if (log.isInfoEnabled()) {
      log.info("k1(double:" + lit1 + ") = " + BytesUtil.toString(k1));
      log.info("k2(double:" + lit2 + ") = " + BytesUtil.toString(k2));
      log.info("k3(double:" + lit3 + ") = " + BytesUtil.toString(k3));
      log.info("k4(double:" + lit3 + ") = " + BytesUtil.toString(k4));
      log.info("k5(double:" + lit5 + ") = " + BytesUtil.toString(k5));
    }

    assertTrue(BytesUtil.compareBytes(k1, k2) < 0);
    assertTrue(BytesUtil.compareBytes(k4, k5) < 0);

    /*
     * Note: if we do not normalize data type values then these are
     * inequalities.
     */
    assertTrue(BytesUtil.compareBytes(k2, k3) != 0); // 005 != 5.
    assertTrue(BytesUtil.compareBytes(k3, k4) != 0); // 5. != 5.0
  }
Ejemplo n.º 2
0
  public void test_datatypeLiteral_xsd_boolean() {

    final URI datatype = XMLSchema.BOOLEAN;

    final String lit1 = "true";
    final String lit2 = "false";
    final String lit3 = "1";
    final String lit4 = "0";

    final byte[] k1 = fixture.datatypeLiteral2key(datatype, lit1);
    final byte[] k2 = fixture.datatypeLiteral2key(datatype, lit2);
    final byte[] k3 = fixture.datatypeLiteral2key(datatype, lit3);
    final byte[] k4 = fixture.datatypeLiteral2key(datatype, lit4);

    if (log.isInfoEnabled()) {
      log.info("k1(boolean:" + lit1 + ") = " + BytesUtil.toString(k1));
      log.info("k2(boolean:" + lit2 + ") = " + BytesUtil.toString(k2));
      log.info("k3(boolean:" + lit3 + ") = " + BytesUtil.toString(k3));
      log.info("k4(boolean:" + lit4 + ") = " + BytesUtil.toString(k4));
    }

    assertTrue(BytesUtil.compareBytes(k1, k2) != 0);
    assertTrue(BytesUtil.compareBytes(k1, k2) > 0);

    /*
     * Note: if we do not normalize data type values then these are
     * inequalities.
     */
    assertTrue(BytesUtil.compareBytes(k1, k3) != 0); // true != 1
    assertTrue(BytesUtil.compareBytes(k2, k4) != 0); // false != 0
  }
Ejemplo n.º 3
0
  /** Verify that some value spaces are disjoint. */
  public void test_datatypeLiteral_xsd_float_not_double() {

    final String lit1 = "04.21";

    final byte[] k1 = fixture.datatypeLiteral2key(XMLSchema.FLOAT, lit1);
    final byte[] k2 = fixture.datatypeLiteral2key(XMLSchema.DOUBLE, lit1);

    if (log.isInfoEnabled()) {
      log.info("k1(float:" + lit1 + ") = " + BytesUtil.toString(k1));
      log.info("k2(double:" + lit1 + ") = " + BytesUtil.toString(k2));
    }

    assertTrue(BytesUtil.compareBytes(k1, k2) != 0);
  }
Ejemplo n.º 4
0
  /** Verify that the value spaces for long, int, short and byte are disjoint. */
  public void test_disjoint_value_space() {

    assertFalse(
        BytesUtil.bytesEqual( //
            fixture.datatypeLiteral2key(XMLSchema.LONG, "-1"), //
            fixture.datatypeLiteral2key(XMLSchema.INT, "-1") //
            ));

    assertFalse(
        BytesUtil.bytesEqual( //
            fixture.datatypeLiteral2key(XMLSchema.LONG, "-1"), //
            fixture.datatypeLiteral2key(XMLSchema.SHORT, "-1") //
            ));

    assertFalse(
        BytesUtil.bytesEqual( //
            fixture.datatypeLiteral2key(XMLSchema.LONG, "-1"), //
            fixture.datatypeLiteral2key(XMLSchema.BYTE, "-1") //
            ));

    assertFalse(
        BytesUtil.bytesEqual( //
            fixture.datatypeLiteral2key(XMLSchema.INT, "-1"), //
            fixture.datatypeLiteral2key(XMLSchema.SHORT, "-1") //
            ));

    assertFalse(
        BytesUtil.bytesEqual( //
            fixture.datatypeLiteral2key(XMLSchema.INT, "-1"), //
            fixture.datatypeLiteral2key(XMLSchema.BYTE, "-1") //
            ));

    assertFalse(
        BytesUtil.bytesEqual( //
            fixture.datatypeLiteral2key(XMLSchema.SHORT, "-1"), //
            fixture.datatypeLiteral2key(XMLSchema.BYTE, "-1") //
            ));
  }
Ejemplo n.º 5
0
  /** Verify an unknown datatype URI is coded. */
  public void test_datatype_unknown() {

    fixture.datatypeLiteral2key(new URIImpl("http://www.bigdata.com/foo"), "foo");
  }