forked from Speiger/Primitive-Collections
PriorityQueues no longer extends Object Variant.
This commit is contained in:
parent
a669f69d99
commit
357b40e670
|
@ -1,8 +1,9 @@
|
||||||
# Changelog of versions
|
# Changelog of versions
|
||||||
|
|
||||||
|
|
||||||
## Version 0.3.0
|
## Version 0.3.0 (Breaking 0.2.0)
|
||||||
- Added: Stack.isEmpty was missing
|
- Added: Stack.isEmpty was missing
|
||||||
- Changed: remove/removeLast/enqueue/enqueueFirst no longer use Type Suffixes
|
- Changed: remove/removeLast/enqueue/enqueueFirst no longer use Type Suffixes
|
||||||
- Removed: Suffixes for unmodifiable & synchronize functions.
|
- Removed: Suffixes for unmodifiable & synchronize functions.
|
||||||
- Changed: Primitive Stacks no longer depend on the base Stack class. Because seriously not needed.
|
- Changed: Primitive Stacks no longer depend on the base Stack class. Because seriously not needed.
|
||||||
|
- Changed: PriorityQueues no longer extends Object Variant.
|
|
@ -13,6 +13,11 @@ But its focus is a different one.
|
||||||
- SplitIterators
|
- SplitIterators
|
||||||
- Iterators
|
- Iterators
|
||||||
|
|
||||||
|
# Notes about Versions
|
||||||
|
Any 0.x.0 version (Minor) can be reason for massive changes including API.
|
||||||
|
To ensure that problems can be dealt with even if it is breaking the current API.
|
||||||
|
Any breaking changes will be Documented (once 1.0 is released)
|
||||||
|
|
||||||
# How to install
|
# How to install
|
||||||
Using Gradle:
|
Using Gradle:
|
||||||
```gradle
|
```gradle
|
||||||
|
|
|
@ -115,7 +115,7 @@ public class ARRAY_FIFO_QUEUE KEY_GENERIC_TYPE implements PRIORITY_DEQUEUE KEY_G
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public KEY_TYPE DEQUEUE() {
|
public KEY_TYPE dequeue() {
|
||||||
if(first == last) throw new NoSuchElementException();
|
if(first == last) throw new NoSuchElementException();
|
||||||
KEY_TYPE data = array[first];
|
KEY_TYPE data = array[first];
|
||||||
#if TYPE_OBJECT
|
#if TYPE_OBJECT
|
||||||
|
@ -127,7 +127,7 @@ public class ARRAY_FIFO_QUEUE KEY_GENERIC_TYPE implements PRIORITY_DEQUEUE KEY_G
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public KEY_TYPE DEQUEUE_LAST() {
|
public KEY_TYPE dequeueLast() {
|
||||||
if(first == last) throw new NoSuchElementException();
|
if(first == last) throw new NoSuchElementException();
|
||||||
if(last == 0) last = array.length;
|
if(last == 0) last = array.length;
|
||||||
KEY_TYPE data = array[--last];
|
KEY_TYPE data = array[--last];
|
||||||
|
@ -139,7 +139,7 @@ public class ARRAY_FIFO_QUEUE KEY_GENERIC_TYPE implements PRIORITY_DEQUEUE KEY_G
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public KEY_TYPE PEEK(int index) {
|
public KEY_TYPE peek(int index) {
|
||||||
if(first == last || index < 0 || index > size()) throw new NoSuchElementException();
|
if(first == last || index < 0 || index > size()) throw new NoSuchElementException();
|
||||||
return array[(first + index) % array.length];
|
return array[(first + index) % array.length];
|
||||||
}
|
}
|
||||||
|
@ -264,25 +264,6 @@ public class ARRAY_FIFO_QUEUE KEY_GENERIC_TYPE implements PRIORITY_DEQUEUE KEY_G
|
||||||
return input;
|
return input;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !TYPE_OBJECT
|
|
||||||
@Override
|
|
||||||
public CLASS_TYPE[] toArray(CLASS_TYPE[] input) {
|
|
||||||
if(input == null || input.length < size()) input = NEW_CLASS_ARRAY(size());
|
|
||||||
if (first <= last) {
|
|
||||||
for(int i = 0,m=last-first;i<m;i++)
|
|
||||||
input[i] = KEY_TO_OBJ(array[first + i]);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
int offset = 0;
|
|
||||||
for(int i = 0,m=array.length-first;i<m;i++,offset++)
|
|
||||||
input[i] = KEY_TO_OBJ(array[first + i]);
|
|
||||||
for(int i = 0;i<last;i++)
|
|
||||||
input[offset+i] = KEY_TO_OBJ(array[i]);
|
|
||||||
}
|
|
||||||
return input;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
protected void reduce() {
|
protected void reduce() {
|
||||||
final int size = size();
|
final int size = size();
|
||||||
if (array.length > MIN_CAPACITY && size <= array.length / 4) resize(size, array.length / 2);
|
if (array.length > MIN_CAPACITY && size <= array.length / 4) resize(size, array.length / 2);
|
||||||
|
|
|
@ -191,7 +191,7 @@ public class ARRAY_PRIORITY_QUEUE KEY_GENERIC_TYPE implements PRIORITY_QUEUE KEY
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public KEY_TYPE DEQUEUE() {
|
public KEY_TYPE dequeue() {
|
||||||
if(size <= 0) throw new NoSuchElementException();
|
if(size <= 0) throw new NoSuchElementException();
|
||||||
int index = findFirstIndex();
|
int index = findFirstIndex();
|
||||||
KEY_TYPE value = array[index];
|
KEY_TYPE value = array[index];
|
||||||
|
@ -204,7 +204,7 @@ public class ARRAY_PRIORITY_QUEUE KEY_GENERIC_TYPE implements PRIORITY_QUEUE KEY
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public KEY_TYPE PEEK(int index) {
|
public KEY_TYPE peek(int index) {
|
||||||
if(index < 0 || index >= size) throw new NoSuchElementException();
|
if(index < 0 || index >= size) throw new NoSuchElementException();
|
||||||
return array[index];
|
return array[index];
|
||||||
}
|
}
|
||||||
|
@ -268,15 +268,6 @@ public class ARRAY_PRIORITY_QUEUE KEY_GENERIC_TYPE implements PRIORITY_QUEUE KEY
|
||||||
return input;
|
return input;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !TYPE_OBJECT
|
|
||||||
@Override
|
|
||||||
public CLASS_TYPE[] toArray(CLASS_TYPE[] input) {
|
|
||||||
if(input == null || input.length < size()) input = new CLASS_TYPE[size()];
|
|
||||||
for(int i = 0;i<size;i++) input[i] = KEY_TO_OBJ(array[i]);
|
|
||||||
return input;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
protected int findFirstIndex() {
|
protected int findFirstIndex() {
|
||||||
if(firstIndex == -1) {
|
if(firstIndex == -1) {
|
||||||
int index = size-1;
|
int index = size-1;
|
||||||
|
@ -306,7 +297,7 @@ public class ARRAY_PRIORITY_QUEUE KEY_GENERIC_TYPE implements PRIORITY_QUEUE KEY
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public KEY_TYPE NEXT() {
|
public KEY_TYPE NEXT() {
|
||||||
return DEQUEUE();
|
return dequeue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -207,7 +207,7 @@ public class HEAP_PRIORITY_QUEUE KEY_GENERIC_TYPE implements PRIORITY_QUEUE KEY_
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public KEY_TYPE DEQUEUE() {
|
public KEY_TYPE dequeue() {
|
||||||
if(size <= 0) throw new NoSuchElementException();
|
if(size <= 0) throw new NoSuchElementException();
|
||||||
KEY_TYPE value = array[0];
|
KEY_TYPE value = array[0];
|
||||||
array[0] = array[--size];
|
array[0] = array[--size];
|
||||||
|
@ -219,7 +219,7 @@ public class HEAP_PRIORITY_QUEUE KEY_GENERIC_TYPE implements PRIORITY_QUEUE KEY_
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public KEY_TYPE PEEK(int index) {
|
public KEY_TYPE peek(int index) {
|
||||||
if(index < 0 || index >= size) throw new NoSuchElementException();
|
if(index < 0 || index >= size) throw new NoSuchElementException();
|
||||||
return array[index];
|
return array[index];
|
||||||
}
|
}
|
||||||
|
@ -265,15 +265,6 @@ public class HEAP_PRIORITY_QUEUE KEY_GENERIC_TYPE implements PRIORITY_QUEUE KEY_
|
||||||
return input;
|
return input;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !TYPE_OBJECT
|
|
||||||
@Override
|
|
||||||
public CLASS_TYPE[] toArray(CLASS_TYPE[] input) {
|
|
||||||
if(input == null || input.length < size()) input = new CLASS_TYPE[size()];
|
|
||||||
for(int i = 0;i<size;i++) input[i] = KEY_TO_OBJ(array[i]);
|
|
||||||
return input;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
private class Iter implements ITERATOR KEY_GENERIC_TYPE {
|
private class Iter implements ITERATOR KEY_GENERIC_TYPE {
|
||||||
@Override
|
@Override
|
||||||
public boolean hasNext() {
|
public boolean hasNext() {
|
||||||
|
@ -282,7 +273,7 @@ public class HEAP_PRIORITY_QUEUE KEY_GENERIC_TYPE implements PRIORITY_QUEUE KEY_
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public KEY_TYPE NEXT() {
|
public KEY_TYPE NEXT() {
|
||||||
return DEQUEUE();
|
return dequeue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -16,33 +16,10 @@ public interface PRIORITY_DEQUEUE KEY_GENERIC_TYPE extends PRIORITY_QUEUE KEY_GE
|
||||||
* @return the last element inserted
|
* @return the last element inserted
|
||||||
* @throws java.util.NoSuchElementException if no element is in the deque
|
* @throws java.util.NoSuchElementException if no element is in the deque
|
||||||
*/
|
*/
|
||||||
public KEY_TYPE DEQUEUE_LAST();
|
public KEY_TYPE dequeueLast();
|
||||||
/**
|
/**
|
||||||
* Peeking function for the last element
|
* Peeking function for the last element
|
||||||
* @return the Last Element within the dequeue without deleting it
|
* @return the Last Element within the dequeue without deleting it
|
||||||
*/
|
*/
|
||||||
public default KEY_TYPE LAST_KEY() { return PEEK(size()-1); }
|
public default KEY_TYPE last() { return peek(size()-1); }
|
||||||
|
|
||||||
#if !TYPE_OBJECT
|
|
||||||
/**
|
|
||||||
* Boxed Method for the enqueue first method
|
|
||||||
* @param e the boxed element that should be inserted
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public default void enqueueFirst(CLASS_TYPE e) { enqueueFirst(OBJ_TO_KEY(e)); }
|
|
||||||
/**
|
|
||||||
* Boxed Method for the dequeue last method
|
|
||||||
* @return the last element of the Dequeue
|
|
||||||
* @throws java.util.NoSuchElementException if no element is in the dequeue
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public default CLASS_TYPE dequeueLast() { return KEY_TO_OBJ(DEQUEUE_LAST()); }
|
|
||||||
/**
|
|
||||||
* Peeking function for the last element
|
|
||||||
* @return the Last Element within the dequeue without deleting it as boxed element
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public default CLASS_TYPE last() { return peek(size()-1); }
|
|
||||||
#endif
|
|
||||||
}
|
}
|
|
@ -5,7 +5,6 @@ import java.util.Comparator;
|
||||||
#else
|
#else
|
||||||
import speiger.src.collections.PACKAGE.collections.ITERABLE;
|
import speiger.src.collections.PACKAGE.collections.ITERABLE;
|
||||||
import speiger.src.collections.PACKAGE.functions.COMPARATOR;
|
import speiger.src.collections.PACKAGE.functions.COMPARATOR;
|
||||||
import speiger.src.collections.objects.queues.ObjectPriorityQueue;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -15,10 +14,9 @@ import speiger.src.collections.objects.queues.ObjectPriorityQueue;
|
||||||
#if TYPE_OBJECT
|
#if TYPE_OBJECT
|
||||||
public interface PRIORITY_QUEUE KEY_GENERIC_TYPE extends Iterable<KEY_TYPE>
|
public interface PRIORITY_QUEUE KEY_GENERIC_TYPE extends Iterable<KEY_TYPE>
|
||||||
#else
|
#else
|
||||||
public interface PRIORITY_QUEUE KEY_GENERIC_TYPE extends ObjectPriorityQueue<CLASS_TYPE>, ITERABLE KEY_GENERIC_TYPE
|
public interface PRIORITY_QUEUE KEY_GENERIC_TYPE extends ITERABLE KEY_GENERIC_TYPE
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
#if TYPE_OBJECT
|
|
||||||
/**
|
/**
|
||||||
* @return true if the PriorityQueue is empty
|
* @return true if the PriorityQueue is empty
|
||||||
*/
|
*/
|
||||||
|
@ -33,7 +31,6 @@ public interface PRIORITY_QUEUE KEY_GENERIC_TYPE extends ObjectPriorityQueue<CLA
|
||||||
*/
|
*/
|
||||||
public void clear();
|
public void clear();
|
||||||
|
|
||||||
#endif
|
|
||||||
/**
|
/**
|
||||||
* Method to insert a element into the PriorityQueue
|
* Method to insert a element into the PriorityQueue
|
||||||
* @param e the element that should be inserted
|
* @param e the element that should be inserted
|
||||||
|
@ -44,19 +41,19 @@ public interface PRIORITY_QUEUE KEY_GENERIC_TYPE extends ObjectPriorityQueue<CLA
|
||||||
* @return a element from the Queue
|
* @return a element from the Queue
|
||||||
* @throws java.util.NoSuchElementException if no element is present
|
* @throws java.util.NoSuchElementException if no element is present
|
||||||
*/
|
*/
|
||||||
public KEY_TYPE DEQUEUE();
|
public KEY_TYPE dequeue();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Peeking function to see whats inside the queue.
|
* Peeking function to see whats inside the queue.
|
||||||
* @param index of the element that is requested to be viewed.
|
* @param index of the element that is requested to be viewed.
|
||||||
* @return the element that is requested
|
* @return the element that is requested
|
||||||
*/
|
*/
|
||||||
public KEY_TYPE PEEK(int index);
|
public KEY_TYPE peek(int index);
|
||||||
/**
|
/**
|
||||||
* Shows the element that is to be returned next
|
* Shows the element that is to be returned next
|
||||||
* @return the first element in the Queue
|
* @return the first element in the Queue
|
||||||
*/
|
*/
|
||||||
public default KEY_TYPE FIRST_KEY() { return PEEK(0); }
|
public default KEY_TYPE first() { return peek(0); }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes the first found element in the queue
|
* Removes the first found element in the queue
|
||||||
|
@ -79,7 +76,6 @@ public interface PRIORITY_QUEUE KEY_GENERIC_TYPE extends ObjectPriorityQueue<CLA
|
||||||
/**
|
/**
|
||||||
* @return the sorter of the Queue, can be null
|
* @return the sorter of the Queue, can be null
|
||||||
*/
|
*/
|
||||||
@PrimitiveOverride
|
|
||||||
public COMPARATOR KEY_SUPER_GENERIC_TYPE comparator();
|
public COMPARATOR KEY_SUPER_GENERIC_TYPE comparator();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -94,27 +90,4 @@ public interface PRIORITY_QUEUE KEY_GENERIC_TYPE extends ObjectPriorityQueue<CLA
|
||||||
* @note if the Type is generic then a Object Array is created instead of a Type Array
|
* @note if the Type is generic then a Object Array is created instead of a Type Array
|
||||||
*/
|
*/
|
||||||
public KEY_TYPE[] TO_ARRAY(KEY_TYPE[] input);
|
public KEY_TYPE[] TO_ARRAY(KEY_TYPE[] input);
|
||||||
|
|
||||||
#if !TYPE_OBJECT
|
|
||||||
@Deprecated
|
|
||||||
public default void enqueue(CLASS_TYPE e) { enqueue(OBJ_TO_KEY(e)); }
|
|
||||||
@Deprecated
|
|
||||||
public default CLASS_TYPE dequeue() { return KEY_TO_OBJ(DEQUEUE()); }
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public default CLASS_TYPE peek(int index) { return KEY_TO_OBJ(PEEK(index)); }
|
|
||||||
@Deprecated
|
|
||||||
public default CLASS_TYPE first() { return peek(0); }
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public default boolean remove(CLASS_TYPE e) { return remove(OBJ_TO_KEY(e)); }
|
|
||||||
@Deprecated
|
|
||||||
public default boolean removeLast(CLASS_TYPE e) { return removeLast(OBJ_TO_KEY(e)); }
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public default CLASS_TYPE[] toArray() { return toArray(new CLASS_TYPE[size()]); }
|
|
||||||
@Deprecated
|
|
||||||
public CLASS_TYPE[] toArray(CLASS_TYPE[] input);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
}
|
}
|
|
@ -29,11 +29,11 @@ public abstract class BaseIntPriorityQueueTest extends BaseIntIterableTest
|
||||||
queue.enqueue(i);
|
queue.enqueue(i);
|
||||||
}
|
}
|
||||||
for(int i = 0;i<100;i++) {
|
for(int i = 0;i<100;i++) {
|
||||||
Assert.assertEquals(i, queue.dequeueInt());
|
Assert.assertEquals(i, queue.dequeue());
|
||||||
}
|
}
|
||||||
queue = create(TEST_ARRAY);
|
queue = create(TEST_ARRAY);
|
||||||
for(int i = 0;i<100;i++) {
|
for(int i = 0;i<100;i++) {
|
||||||
Assert.assertEquals(i, queue.dequeueInt());
|
Assert.assertEquals(i, queue.dequeue());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -47,13 +47,13 @@ public abstract class BaseIntPriorityQueueTest extends BaseIntIterableTest
|
||||||
}
|
}
|
||||||
if(isUnsortedRead()) {
|
if(isUnsortedRead()) {
|
||||||
for(int i = 0;i<100;i++) {
|
for(int i = 0;i<100;i++) {
|
||||||
int value = queue.peekInt(i);
|
int value = queue.peek(i);
|
||||||
Assert.assertTrue(value >= 0 && value < 100);
|
Assert.assertTrue(value >= 0 && value < 100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
for(int i = 0;i<100;i++) {
|
for(int i = 0;i<100;i++) {
|
||||||
Assert.assertEquals(i, queue.peekInt(i));
|
Assert.assertEquals(i, queue.peek(i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -68,16 +68,16 @@ public abstract class BaseIntPriorityQueueTest extends BaseIntIterableTest
|
||||||
}
|
}
|
||||||
queue.remove(40);
|
queue.remove(40);
|
||||||
for(int i = 0;i<99;i++) {
|
for(int i = 0;i<99;i++) {
|
||||||
if(i >= 40) Assert.assertEquals(i + 1, queue.dequeueInt());
|
if(i >= 40) Assert.assertEquals(i + 1, queue.dequeue());
|
||||||
else Assert.assertEquals(i, queue.dequeueInt());
|
else Assert.assertEquals(i, queue.dequeue());
|
||||||
}
|
}
|
||||||
for(int i = 0;i<100;i++) {
|
for(int i = 0;i<100;i++) {
|
||||||
queue.enqueue(i);
|
queue.enqueue(i);
|
||||||
}
|
}
|
||||||
queue.removeLast(40);
|
queue.removeLast(40);
|
||||||
for(int i = 0;i<99;i++) {
|
for(int i = 0;i<99;i++) {
|
||||||
if(i >= 40) Assert.assertEquals(i + 1, queue.dequeueInt());
|
if(i >= 40) Assert.assertEquals(i + 1, queue.dequeue());
|
||||||
else Assert.assertEquals(i, queue.dequeueInt());
|
else Assert.assertEquals(i, queue.dequeue());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -102,28 +102,21 @@ public abstract class BaseIntPriorityQueueTest extends BaseIntIterableTest
|
||||||
Assert.assertArrayEquals(array, nonData);
|
Assert.assertArrayEquals(array, nonData);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Integer[] ref = IntArrays.wrap(TEST_ARRAY);
|
|
||||||
Integer[] shiftArray = new Integer[100];
|
|
||||||
int[] shiftPrimArray = new int[100];
|
int[] shiftPrimArray = new int[100];
|
||||||
for(int i = 0; i < 100; i++) {
|
for(int i = 0; i < 100; i++) {
|
||||||
queue.enqueue(i);
|
queue.enqueue(i);
|
||||||
shiftPrimArray[(i+80) % 100] = i;
|
shiftPrimArray[(i+80) % 100] = i;
|
||||||
shiftArray[(i+80) % 100] = Integer.valueOf(i);
|
|
||||||
}
|
}
|
||||||
Assert.assertArrayEquals(ref, queue.toArray());
|
|
||||||
Assert.assertArrayEquals(ref, queue.toArray(new Integer[100]));
|
|
||||||
Assert.assertArrayEquals(ref, queue.toArray(null));
|
|
||||||
Assert.assertArrayEquals(TEST_ARRAY, queue.toIntArray());
|
Assert.assertArrayEquals(TEST_ARRAY, queue.toIntArray());
|
||||||
Assert.assertArrayEquals(TEST_ARRAY, queue.toIntArray(new int[100]));
|
Assert.assertArrayEquals(TEST_ARRAY, queue.toIntArray(new int[100]));
|
||||||
Assert.assertArrayEquals(TEST_ARRAY, queue.toIntArray(null));
|
Assert.assertArrayEquals(TEST_ARRAY, queue.toIntArray(null));
|
||||||
IntPriorityQueue other = create(queue.toIntArray());
|
IntPriorityQueue other = create(queue.toIntArray());
|
||||||
for(int i = 0;i<20;i++) {
|
for(int i = 0;i<20;i++) {
|
||||||
other.dequeueInt();
|
other.dequeue();
|
||||||
other.enqueue(i);
|
other.enqueue(i);
|
||||||
}
|
}
|
||||||
Assert.assertArrayEquals(shiftPrimArray, other.toIntArray());
|
Assert.assertArrayEquals(shiftPrimArray, other.toIntArray());
|
||||||
Assert.assertArrayEquals(shiftPrimArray, other.toIntArray(new int[100]));
|
Assert.assertArrayEquals(shiftPrimArray, other.toIntArray(new int[100]));
|
||||||
Assert.assertArrayEquals(shiftArray, other.toArray());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue