/** Check the metadata comparison inside the value comparison. */
  @Test
  public void compareInValues() {
    final ITimestamp stamp = TimestampFactory.now();
    final ISeverity severity = ValueFactory.createMajorSeverity();
    final String status = "Test";
    final INumericMetaData meta_a =
        ValueFactory.createNumericMetaData(0, 1, 0, 1, 0, 1, 2, "stuff");
    IValue a =
        new DoubleValue(
            stamp, severity, status, meta_a, IValue.Quality.Original, new double[] {1.0, 2.0});

    final INumericMetaData meta_b =
        ValueFactory.createNumericMetaData(0, 1, 0, 1, 0, 1, 2, "stuff");
    IValue b =
        new DoubleValue(
            stamp, severity, status, meta_b, IValue.Quality.Original, new double[] {1.0, 2.0});
    assertEquals(a, b);

    a = new StringValue(stamp, severity, status, IValue.Quality.Original, new String[] {"Fred"});

    assertTrue(!a.equals(b));
    b = new StringValue(stamp, severity, status, IValue.Quality.Original, new String[] {"Fred"});
    assertEquals(a, b);
  }