@Test public void testDataInOut() { ArrayFieldVector<Fraction> v1 = new ArrayFieldVector<Fraction>(vec1); ArrayFieldVector<Fraction> v2 = new ArrayFieldVector<Fraction>(vec2); ArrayFieldVector<Fraction> v4 = new ArrayFieldVector<Fraction>(vec4); FieldVectorTestImpl<Fraction> v2_t = new FieldVectorTestImpl<Fraction>(vec2); FieldVector<Fraction> v_append_1 = v1.append(v2); Assert.assertEquals(6, v_append_1.getDimension()); Assert.assertEquals(new Fraction(4), v_append_1.getEntry(3)); FieldVector<Fraction> v_append_2 = v1.append(new Fraction(2)); Assert.assertEquals(4, v_append_2.getDimension()); Assert.assertEquals(new Fraction(2), v_append_2.getEntry(3)); FieldVector<Fraction> v_append_4 = v1.append(v2_t); Assert.assertEquals(6, v_append_4.getDimension()); Assert.assertEquals(new Fraction(4), v_append_4.getEntry(3)); FieldVector<Fraction> v_copy = v1.copy(); Assert.assertEquals(3, v_copy.getDimension()); Assert.assertNotSame("testData not same object ", v1.getDataRef(), v_copy.getData()); Fraction[] a_frac = v1.toArray(); Assert.assertEquals(3, a_frac.length); Assert.assertNotSame("testData not same object ", v1.getDataRef(), a_frac); // ArrayFieldVector<Fraction> vout4 = (ArrayFieldVector<Fraction>) v1.clone(); // Assert.assertEquals(3, vout4.getDimension()); // Assert.assertEquals(v1.getDataRef(), vout4.getDataRef()); FieldVector<Fraction> vout5 = v4.getSubVector(3, 3); Assert.assertEquals(3, vout5.getDimension()); Assert.assertEquals(new Fraction(5), vout5.getEntry(1)); try { v4.getSubVector(3, 7); Assert.fail("OutOfRangeException expected"); } catch (OutOfRangeException ex) { // expected behavior } ArrayFieldVector<Fraction> v_set1 = (ArrayFieldVector<Fraction>) v1.copy(); v_set1.setEntry(1, new Fraction(11)); Assert.assertEquals(new Fraction(11), v_set1.getEntry(1)); try { v_set1.setEntry(3, new Fraction(11)); Assert.fail("OutOfRangeException expected"); } catch (OutOfRangeException ex) { // expected behavior } ArrayFieldVector<Fraction> v_set2 = (ArrayFieldVector<Fraction>) v4.copy(); v_set2.set(3, v1); Assert.assertEquals(new Fraction(1), v_set2.getEntry(3)); Assert.assertEquals(new Fraction(7), v_set2.getEntry(6)); try { v_set2.set(7, v1); Assert.fail("OutOfRangeException expected"); } catch (OutOfRangeException ex) { // expected behavior } ArrayFieldVector<Fraction> v_set3 = (ArrayFieldVector<Fraction>) v1.copy(); v_set3.set(new Fraction(13)); Assert.assertEquals(new Fraction(13), v_set3.getEntry(2)); try { v_set3.getEntry(23); Assert.fail("ArrayIndexOutOfBoundsException expected"); } catch (ArrayIndexOutOfBoundsException ex) { // expected behavior } ArrayFieldVector<Fraction> v_set4 = (ArrayFieldVector<Fraction>) v4.copy(); v_set4.setSubVector(3, v2_t); Assert.assertEquals(new Fraction(4), v_set4.getEntry(3)); Assert.assertEquals(new Fraction(7), v_set4.getEntry(6)); try { v_set4.setSubVector(7, v2_t); Assert.fail("OutOfRangeException expected"); } catch (OutOfRangeException ex) { // expected behavior } ArrayFieldVector<Fraction> vout10 = (ArrayFieldVector<Fraction>) v1.copy(); ArrayFieldVector<Fraction> vout10_2 = (ArrayFieldVector<Fraction>) v1.copy(); Assert.assertEquals(vout10, vout10_2); vout10_2.setEntry(0, new Fraction(11, 10)); Assert.assertNotSame(vout10, vout10_2); }