Package eu.stratosphere.api.java.typeutils.runtime

Source Code of eu.stratosphere.api.java.typeutils.runtime.TupleLeadingFieldComparatorTest

/***********************************************************************************************************************
*
* Copyright (C) 2010-2013 by the Stratosphere project (http://stratosphere.eu)
*
* Licensed 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 eu.stratosphere.api.java.typeutils.runtime;

import static org.junit.Assert.assertEquals;
import eu.stratosphere.api.common.typeutils.ComparatorTestBase;
import eu.stratosphere.api.common.typeutils.TypeSerializer;
import eu.stratosphere.api.common.typeutils.base.DoubleSerializer;
import eu.stratosphere.api.common.typeutils.base.IntComparator;
import eu.stratosphere.api.common.typeutils.base.IntSerializer;
import eu.stratosphere.api.common.typeutils.base.StringSerializer;
import eu.stratosphere.api.java.tuple.Tuple3;

public class TupleLeadingFieldComparatorTest extends ComparatorTestBase<Tuple3<Integer, String, Double>> {

  @SuppressWarnings("unchecked")
  Tuple3<Integer, String, Double>[] dataISD = new Tuple3[]{
    new Tuple3<Integer, String, Double>(4, "hello", 20.0),
    new Tuple3<Integer, String, Double>(5, "hello", 23.2),
    new Tuple3<Integer, String, Double>(6, "world", 20.0),
    new Tuple3<Integer, String, Double>(7, "hello", 20.0),
    new Tuple3<Integer, String, Double>(8, "hello", 23.2),
    new Tuple3<Integer, String, Double>(9, "world", 20.0),
    new Tuple3<Integer, String, Double>(10, "hello", 20.0),
    new Tuple3<Integer, String, Double>(11, "hello", 23.2)
  };

  @Override
  protected TupleLeadingFieldComparator<Tuple3<Integer, String, Double>, Integer> createComparator(boolean ascending) {
    return new TupleLeadingFieldComparator<Tuple3<Integer,String,Double>, Integer>(new IntComparator(ascending));
  }

  @SuppressWarnings("unchecked")
  @Override
  protected TupleSerializer<Tuple3<Integer, String, Double>> createSerializer() {
    return new TupleSerializer<Tuple3<Integer, String, Double>>(
        (Class<Tuple3<Integer, String, Double>>) (Class<?>) Tuple3.class,
        new TypeSerializer[]{
          new IntSerializer(),
          new StringSerializer(),
          new DoubleSerializer()});
  }

  @Override
  protected Tuple3<Integer, String, Double>[] getSortedTestData() {
    return dataISD;
  }

  @Override
  protected void deepEquals(String message, Tuple3<Integer, String, Double> should, Tuple3<Integer, String, Double> is) {
    for (int x = 0; x < should.getArity(); x++) {
      assertEquals(should.getField(x), is.getField(x));
    }
  }
}
TOP

Related Classes of eu.stratosphere.api.java.typeutils.runtime.TupleLeadingFieldComparatorTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.