| /** |
| * Copyright (c) 2019 itemis AG (http://www.itemis.eu) and others. |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License 2.0 which is available at |
| * http://www.eclipse.org/legal/epl-2.0. |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| */ |
| package org.eclipse.xtext.xbase.tests.lib; |
| |
| import java.util.Objects; |
| import org.eclipse.xtext.xbase.lib.ArrayExtensions; |
| import org.eclipse.xtext.xbase.lib.ObjectExtensions; |
| import org.eclipse.xtext.xbase.lib.Procedures.Procedure1; |
| import org.junit.Assert; |
| import org.junit.Before; |
| import org.junit.Test; |
| |
| /** |
| * @author Mathias Rieder - Initial contribution and API |
| */ |
| @SuppressWarnings("all") |
| public class ArrayExtensionsFloatTest { |
| private float[] data; |
| |
| @Before |
| public void init() { |
| this.data = this.createData(); |
| } |
| |
| private float[] createData() { |
| final float[] array = new float[3]; |
| array[0] = 10.0f; |
| array[1] = 20.0f; |
| array[2] = 30.0f; |
| return array; |
| } |
| |
| @Test |
| public void testSetGet__float() { |
| Assert.assertEquals(10.0f, this.data[0], 0.001f); |
| Assert.assertEquals(20.0f, this.data[1], 0.001f); |
| Assert.assertEquals(30.0f, this.data[2], 0.001f); |
| } |
| |
| @Test |
| public void testClone__float() { |
| final float[] clonedData = this.data.clone(); |
| Assert.assertEquals(10.0f, clonedData[0], 0.001f); |
| Assert.assertEquals(20.0f, clonedData[1], 0.001f); |
| Assert.assertEquals(30.0f, clonedData[2], 0.001f); |
| } |
| |
| @Test |
| public void testLength__float() { |
| Assert.assertEquals(3, this.data.length); |
| } |
| |
| @Test |
| public void testHashCode__float() { |
| Assert.assertEquals(Objects.hashCode(this.data), this.data.hashCode()); |
| } |
| |
| @Test |
| public void testEquals__float() { |
| Assert.assertTrue(this.data.equals(this.data)); |
| Assert.assertFalse(this.data.equals(this.createData())); |
| Assert.assertFalse(this.data.equals(new Object[3])); |
| Assert.assertFalse(this.data.equals(null)); |
| float[] _createData = this.createData(); |
| final Procedure1<float[]> _function = (float[] it) -> { |
| it[1] = 0.0f; |
| }; |
| final float[] newData = ObjectExtensions.<float[]>operator_doubleArrow(_createData, _function); |
| Assert.assertFalse(this.data.equals(newData)); |
| } |
| |
| @Test |
| public void testContains__float() { |
| Assert.assertTrue(ArrayExtensions.contains(this.data, 10.0f)); |
| Assert.assertTrue(ArrayExtensions.contains(this.data, 20.0f)); |
| Assert.assertTrue(ArrayExtensions.contains(this.data, 30.0f)); |
| Assert.assertFalse(ArrayExtensions.contains(this.data, 40.0f)); |
| } |
| |
| @Test |
| public void testContains__float_NaN() { |
| final float[] nanData = { 1.0f, Float.NaN }; |
| Assert.assertTrue(ArrayExtensions.contains(nanData, Float.NaN)); |
| Assert.assertTrue(ArrayExtensions.contains(nanData, (0f / 0f))); |
| double _log = Math.log((-1)); |
| Assert.assertTrue(ArrayExtensions.contains(nanData, ((float) _log))); |
| Assert.assertFalse(ArrayExtensions.contains(nanData, Float.NEGATIVE_INFINITY)); |
| Assert.assertFalse(ArrayExtensions.contains(nanData, Float.POSITIVE_INFINITY)); |
| } |
| |
| @Test |
| public void testContains__float_posInfinity() { |
| final float[] nanData = { 1.0f, Float.POSITIVE_INFINITY }; |
| Assert.assertTrue(ArrayExtensions.contains(nanData, Float.POSITIVE_INFINITY)); |
| Assert.assertTrue(ArrayExtensions.contains(nanData, (Float.POSITIVE_INFINITY + 7.2f))); |
| Assert.assertFalse(ArrayExtensions.contains(nanData, Float.NaN)); |
| Assert.assertFalse(ArrayExtensions.contains(nanData, (0f / 0f))); |
| double _log = Math.log((-1)); |
| Assert.assertFalse(ArrayExtensions.contains(nanData, ((float) _log))); |
| Assert.assertFalse(ArrayExtensions.contains(nanData, Float.NEGATIVE_INFINITY)); |
| } |
| |
| @Test |
| public void testContains__float_negInfinity() { |
| final float[] nanData = { 1.0f, Float.NEGATIVE_INFINITY }; |
| Assert.assertTrue(ArrayExtensions.contains(nanData, Float.NEGATIVE_INFINITY)); |
| Assert.assertTrue(ArrayExtensions.contains(nanData, (Float.NEGATIVE_INFINITY + 7.2f))); |
| Assert.assertFalse(ArrayExtensions.contains(nanData, Float.NaN)); |
| Assert.assertFalse(ArrayExtensions.contains(nanData, (0f / 0f))); |
| double _log = Math.log((-1)); |
| Assert.assertFalse(ArrayExtensions.contains(nanData, ((float) _log))); |
| Assert.assertFalse(ArrayExtensions.contains(nanData, Float.POSITIVE_INFINITY)); |
| } |
| } |