/*
* File: VectorUnionIteratorTest.java
* Authors: Justin Basilico
* Project: Cognitive Foundry Common Core
*
* Copyright 2015 Cognitive Foundry. All rights reserved.
*/
package gov.sandia.cognition.math.matrix;
import gov.sandia.cognition.math.matrix.mtj.Vector3;
import org.junit.Test;
import static org.junit.Assert.*;
/**
*
* @author justin
*/
public class VectorUnionIteratorTest
{
public VectorUnionIteratorTest()
{
}
/**
* Test of hasNext method, of class VectorUnionIterator.
*/
@Test
public void testHasNext()
{
System.out.println("hasNext");
VectorUnionIterator instance =
new VectorUnionIterator(new Vector3(2.0, 0.0, 4.4), new Vector3(1.0, 3.3, 0.0));
assertTrue(instance.hasNext());
instance.next();
assertTrue(instance.hasNext());
instance.next();
assertTrue(instance.hasNext());
instance.next();
assertFalse(instance.hasNext());
VectorFactory<?> vf = VectorFactory.getSparseDefault();
Vector a = vf.createVector(10);
Vector b = vf.createVector(10);
a.set(1, 3);
b.set(1, 3);
a.set(8, 4);
b.set(7, 4);
instance = new VectorUnionIterator(a, b);
assertTrue(instance.hasNext());
instance.next();
assertTrue(instance.hasNext());
instance.next();
assertTrue(instance.hasNext());
instance.next();
assertFalse(instance.hasNext());
}
/**
* Test of next method, of class VectorUnionIterator.
*/
@Test
public void testNext()
{
System.out.println("next");
VectorUnionIterator instance =
new VectorUnionIterator(new Vector3(2.0, 0.0, 4.4), new Vector3(1.0, 3.3, 0.0));
TwoVectorEntry result = null;
assertTrue(instance.hasNext());
result = instance.next();
assertEquals(0, result.getIndex());
assertEquals(2.0, result.getFirstValue(), 0.0);
assertEquals(1.0, result.getSecondValue(), 0.0);
assertTrue(instance.hasNext());
result = instance.next();
assertEquals(1, result.getIndex());
assertEquals(0.0, result.getFirstValue(), 0.0);
assertEquals(3.3, result.getSecondValue(), 0.0);
assertTrue(instance.hasNext());
result = instance.next();
assertEquals(2, result.getIndex());
assertEquals(4.4, result.getFirstValue(), 0.0);
assertEquals(0.0, result.getSecondValue(), 0.0);
assertFalse(instance.hasNext());
VectorFactory<?> vf = VectorFactory.getSparseDefault();
Vector a = vf.createVector(10);
Vector b = vf.createVector(10);
a.set(1, 3);
b.set(1, 3);
a.set(8, 4);
b.set(7, 4);
instance = new VectorUnionIterator(a, b);
assertTrue(instance.hasNext());
result = instance.next();
assertEquals(1, result.getIndex());
assertEquals(3.0, result.getFirstValue(), 0.0);
assertEquals(3.0, result.getSecondValue(), 0.0);
assertTrue(instance.hasNext());
result = instance.next();
assertEquals(7, result.getIndex());
assertEquals(0.0, result.getFirstValue(), 0.0);
assertEquals(4.0, result.getSecondValue(), 0.0);
assertTrue(instance.hasNext());
result = instance.next();
assertEquals(8, result.getIndex());
assertEquals(4.0, result.getFirstValue(), 0.0);
assertEquals(0.0, result.getSecondValue(), 0.0);
assertFalse(instance.hasNext());
}
/**
* Test of remove method, of class VectorUnionIterator.
*/
@Test
public void testRemove()
{
VectorFactory<?> vf = VectorFactory.getSparseDefault();
Vector a = vf.createVector(10);
Vector b = vf.createVector(10);
a.set(1, 3);
b.set(1, 3);
a.set(8, 4);
b.set(7, 4);
VectorUnionIterator instance = new VectorUnionIterator(a, b);
instance.next();
instance.remove();
assertEquals(0.0, a.get(1), 0.0);
assertEquals(0.0, b.get(1), 0.0);
instance.next();
instance.next();
instance.remove();
assertEquals(0.0, a.get(8), 0.0);
assertEquals(0.0, b.get(8), 0.0);
assertEquals(4.0, b.get(7), 0.0);
assertFalse(instance.hasNext());
}
}