@Test public void testConstructors() { ArrayFieldVector<Fraction> v0 = new ArrayFieldVector<Fraction>(FractionField.getInstance()); Assert.assertEquals(0, v0.getDimension()); ArrayFieldVector<Fraction> v1 = new ArrayFieldVector<Fraction>(FractionField.getInstance(), 7); Assert.assertEquals(7, v1.getDimension()); Assert.assertEquals(new Fraction(0), v1.getEntry(6)); ArrayFieldVector<Fraction> v2 = new ArrayFieldVector<Fraction>(5, new Fraction(123, 100)); Assert.assertEquals(5, v2.getDimension()); Assert.assertEquals(new Fraction(123, 100), v2.getEntry(4)); ArrayFieldVector<Fraction> v3 = new ArrayFieldVector<Fraction>(FractionField.getInstance(), vec1); Assert.assertEquals(3, v3.getDimension()); Assert.assertEquals(new Fraction(2), v3.getEntry(1)); ArrayFieldVector<Fraction> v4 = new ArrayFieldVector<Fraction>(FractionField.getInstance(), vec4, 3, 2); Assert.assertEquals(2, v4.getDimension()); Assert.assertEquals(new Fraction(4), v4.getEntry(0)); try { new ArrayFieldVector<Fraction>(vec4, 8, 3); Assert.fail("MathIllegalArgumentException expected"); } catch (MathIllegalArgumentException ex) { // expected behavior } FieldVector<Fraction> v5_i = new ArrayFieldVector<Fraction>(dvec1); Assert.assertEquals(9, v5_i.getDimension()); Assert.assertEquals(new Fraction(9), v5_i.getEntry(8)); ArrayFieldVector<Fraction> v5 = new ArrayFieldVector<Fraction>(dvec1); Assert.assertEquals(9, v5.getDimension()); Assert.assertEquals(new Fraction(9), v5.getEntry(8)); ArrayFieldVector<Fraction> v6 = new ArrayFieldVector<Fraction>(dvec1, 3, 2); Assert.assertEquals(2, v6.getDimension()); Assert.assertEquals(new Fraction(4), v6.getEntry(0)); try { new ArrayFieldVector<Fraction>(dvec1, 8, 3); Assert.fail("MathIllegalArgumentException expected"); } catch (MathIllegalArgumentException ex) { // expected behavior } ArrayFieldVector<Fraction> v7 = new ArrayFieldVector<Fraction>(v1); Assert.assertEquals(7, v7.getDimension()); Assert.assertEquals(new Fraction(0), v7.getEntry(6)); FieldVectorTestImpl<Fraction> v7_i = new FieldVectorTestImpl<Fraction>(vec1); ArrayFieldVector<Fraction> v7_2 = new ArrayFieldVector<Fraction>(v7_i); Assert.assertEquals(3, v7_2.getDimension()); Assert.assertEquals(new Fraction(2), v7_2.getEntry(1)); ArrayFieldVector<Fraction> v8 = new ArrayFieldVector<Fraction>(v1, true); Assert.assertEquals(7, v8.getDimension()); Assert.assertEquals(new Fraction(0), v8.getEntry(6)); Assert.assertNotSame("testData not same object ", v1.getDataRef(), v8.getDataRef()); ArrayFieldVector<Fraction> v8_2 = new ArrayFieldVector<Fraction>(v1, false); Assert.assertEquals(7, v8_2.getDimension()); Assert.assertEquals(new Fraction(0), v8_2.getEntry(6)); Assert.assertArrayEquals(v1.getDataRef(), v8_2.getDataRef()); ArrayFieldVector<Fraction> v9 = new ArrayFieldVector<Fraction>(v1, v3); Assert.assertEquals(10, v9.getDimension()); Assert.assertEquals(new Fraction(1), v9.getEntry(7)); }