public class com.google.common.collect.testing.testers.CollectionIteratorTester extends com.google.common.collect.testing.AbstractCollectionTester
{
public void <init>()
{
com.google.common.collect.testing.testers.CollectionIteratorTester v;
v := @this: com.google.common.collect.testing.testers.CollectionIteratorTester;
specialinvoke v.<com.google.common.collect.testing.AbstractCollectionTester: void <init>()>();
return;
}
public void testIterator()
{
java.lang.Object[] v;
java.util.Iterator v;
java.util.Collection v;
java.util.ArrayList v;
com.google.common.collect.testing.testers.CollectionIteratorTester v;
java.util.List v;
java.lang.Object v;
boolean v;
v := @this: com.google.common.collect.testing.testers.CollectionIteratorTester;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<com.google.common.collect.testing.testers.CollectionIteratorTester: java.util.Collection collection>;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<com.google.common.collect.testing.testers.CollectionIteratorTester: java.lang.Object[] createSamplesArray()>();
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
staticinvoke <com.google.common.collect.testing.Helpers: void assertEqualIgnoringOrder(java.lang.Iterable,java.lang.Iterable)>(v, v);
return;
}
public void testIterationOrdering()
{
java.util.Iterator v;
java.util.Collection v;
java.util.ArrayList v;
com.google.common.collect.testing.testers.CollectionIteratorTester v;
java.util.List v, v;
java.lang.Object v;
boolean v;
v := @this: com.google.common.collect.testing.testers.CollectionIteratorTester;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<com.google.common.collect.testing.testers.CollectionIteratorTester: java.util.Collection collection>;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<com.google.common.collect.testing.testers.CollectionIteratorTester: java.util.List getOrderedElements()>();
v = staticinvoke <com.google.common.collect.testing.Helpers: java.util.List copyToList(java.lang.Iterable)>(v);
staticinvoke <com.google.common.collect.testing.testers.CollectionIteratorTester: void assertEquals(java.lang.String,java.lang.Object,java.lang.Object)>("Different ordered iteration", v, v);
return;
}
public void testIterator_nullElement()
{
java.lang.Object[] v;
java.util.Iterator v;
java.util.Collection v;
java.util.ArrayList v;
com.google.common.collect.testing.testers.CollectionIteratorTester v;
java.util.List v;
java.lang.Object v;
boolean v;
v := @this: com.google.common.collect.testing.testers.CollectionIteratorTester;
virtualinvoke v.<com.google.common.collect.testing.testers.CollectionIteratorTester: void initCollectionWithNullElement()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<com.google.common.collect.testing.testers.CollectionIteratorTester: java.util.Collection collection>;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<com.google.common.collect.testing.testers.CollectionIteratorTester: java.lang.Object[] createArrayWithNullElement()>();
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
staticinvoke <com.google.common.collect.testing.Helpers: void assertEqualIgnoringOrder(java.lang.Iterable,java.lang.Iterable)>(v, v);
return;
}
public void testIterator_removeAffectsBackingCollection()
{
com.google.common.collect.testing.testers.CollectionIteratorTester v;
int v, v, v;
boolean v, v, v;
java.util.Iterator v;
java.util.Collection v, v, v, v, v;
java.lang.Object v, v, v;
v := @this: com.google.common.collect.testing.testers.CollectionIteratorTester;
v = v.<com.google.common.collect.testing.testers.CollectionIteratorTester: java.util.Collection collection>;
v = interfaceinvoke v.<java.util.Collection: int size()>();
v = v.<com.google.common.collect.testing.testers.CollectionIteratorTester: java.util.Collection collection>;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v instanceof java.util.Map$Entry;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = staticinvoke <com.google.common.collect.testing.Helpers: java.util.Map$Entry mapEntry(java.lang.Object,java.lang.Object)>(v, v);
label:
v = v.<com.google.common.collect.testing.testers.CollectionIteratorTester: java.util.Collection collection>;
v = interfaceinvoke v.<java.util.Collection: boolean contains(java.lang.Object)>(v);
staticinvoke <com.google.common.collect.testing.testers.CollectionIteratorTester: void assertTrue(boolean)>(v);
interfaceinvoke v.<java.util.Iterator: void remove()>();
v = v.<com.google.common.collect.testing.testers.CollectionIteratorTester: java.util.Collection collection>;
v = interfaceinvoke v.<java.util.Collection: boolean contains(java.lang.Object)>(v);
staticinvoke <com.google.common.collect.testing.testers.CollectionIteratorTester: void assertFalse(boolean)>(v);
v = v - 1;
v = v.<com.google.common.collect.testing.testers.CollectionIteratorTester: java.util.Collection collection>;
v = interfaceinvoke v.<java.util.Collection: int size()>();
staticinvoke <com.google.common.collect.testing.testers.CollectionIteratorTester: void assertEquals(int,int)>(v, v);
return;
}
public void testIterator_knownOrderRemoveSupported()
{
com.google.common.collect.testing.testers.CollectionIteratorTester v;
java.util.List v;
com.google.common.collect.testing.AbstractIteratorTester$KnownOrder v;
java.util.Set v;
v := @this: com.google.common.collect.testing.testers.CollectionIteratorTester;
v = <com.google.common.collect.testing.IteratorFeature: java.util.Set MODIFIABLE>;
v = <com.google.common.collect.testing.AbstractIteratorTester$KnownOrder: com.google.common.collect.testing.AbstractIteratorTester$KnownOrder KNOWN_ORDER>;
v = virtualinvoke v.<com.google.common.collect.testing.testers.CollectionIteratorTester: java.util.List getOrderedElements()>();
specialinvoke v.<com.google.common.collect.testing.testers.CollectionIteratorTester: void runIteratorTest(java.util.Set,com.google.common.collect.testing.AbstractIteratorTester$KnownOrder,java.lang.Iterable)>(v, v, v);
return;
}
public void testIterator_knownOrderRemoveUnsupported()
{
com.google.common.collect.testing.testers.CollectionIteratorTester v;
java.util.List v;
com.google.common.collect.testing.AbstractIteratorTester$KnownOrder v;
java.util.Set v;
v := @this: com.google.common.collect.testing.testers.CollectionIteratorTester;
v = <com.google.common.collect.testing.IteratorFeature: java.util.Set UNMODIFIABLE>;
v = <com.google.common.collect.testing.AbstractIteratorTester$KnownOrder: com.google.common.collect.testing.AbstractIteratorTester$KnownOrder KNOWN_ORDER>;
v = virtualinvoke v.<com.google.common.collect.testing.testers.CollectionIteratorTester: java.util.List getOrderedElements()>();
specialinvoke v.<com.google.common.collect.testing.testers.CollectionIteratorTester: void runIteratorTest(java.util.Set,com.google.common.collect.testing.AbstractIteratorTester$KnownOrder,java.lang.Iterable)>(v, v, v);
return;
}
public void testIterator_unknownOrderRemoveSupported()
{
com.google.common.collect.testing.testers.CollectionIteratorTester v;
com.google.common.collect.testing.AbstractIteratorTester$KnownOrder v;
java.util.Collection v;
java.util.Set v;
v := @this: com.google.common.collect.testing.testers.CollectionIteratorTester;
v = <com.google.common.collect.testing.IteratorFeature: java.util.Set MODIFIABLE>;
v = <com.google.common.collect.testing.AbstractIteratorTester$KnownOrder: com.google.common.collect.testing.AbstractIteratorTester$KnownOrder UNKNOWN_ORDER>;
v = virtualinvoke v.<com.google.common.collect.testing.testers.CollectionIteratorTester: java.util.Collection getSampleElements()>();
specialinvoke v.<com.google.common.collect.testing.testers.CollectionIteratorTester: void runIteratorTest(java.util.Set,com.google.common.collect.testing.AbstractIteratorTester$KnownOrder,java.lang.Iterable)>(v, v, v);
return;
}
public void testIterator_unknownOrderRemoveUnsupported()
{
com.google.common.collect.testing.testers.CollectionIteratorTester v;
com.google.common.collect.testing.AbstractIteratorTester$KnownOrder v;
java.util.Collection v;
java.util.Set v;
v := @this: com.google.common.collect.testing.testers.CollectionIteratorTester;
v = <com.google.common.collect.testing.IteratorFeature: java.util.Set UNMODIFIABLE>;
v = <com.google.common.collect.testing.AbstractIteratorTester$KnownOrder: com.google.common.collect.testing.AbstractIteratorTester$KnownOrder UNKNOWN_ORDER>;
v = virtualinvoke v.<com.google.common.collect.testing.testers.CollectionIteratorTester: java.util.Collection getSampleElements()>();
specialinvoke v.<com.google.common.collect.testing.testers.CollectionIteratorTester: void runIteratorTest(java.util.Set,com.google.common.collect.testing.AbstractIteratorTester$KnownOrder,java.lang.Iterable)>(v, v, v);
return;
}
private void runIteratorTest(java.util.Set, com.google.common.collect.testing.AbstractIteratorTester$KnownOrder, java.lang.Iterable)
{
com.google.common.collect.testing.testers.CollectionIteratorTester v;
com.google.common.collect.testing.testers.CollectionIteratorTester$1 v;
com.google.common.collect.testing.AbstractIteratorTester$KnownOrder v;
int v;
java.util.Set v;
java.lang.Iterable v;
v := @this: com.google.common.collect.testing.testers.CollectionIteratorTester;
v := @parameter: java.util.Set;
v := @parameter: com.google.common.collect.testing.AbstractIteratorTester$KnownOrder;
v := @parameter: java.lang.Iterable;
v = new com.google.common.collect.testing.testers.CollectionIteratorTester$1;
v = staticinvoke <com.google.common.collect.testing.testers.Platform: int collectionIteratorTesterNumIterations()>();
specialinvoke v.<com.google.common.collect.testing.testers.CollectionIteratorTester$1: void <init>(com.google.common.collect.testing.testers.CollectionIteratorTester,int,java.lang.Iterable,java.lang.Iterable,com.google.common.collect.testing.AbstractIteratorTester$KnownOrder)>(v, v, v, v, v);
virtualinvoke v.<com.google.common.collect.testing.testers.CollectionIteratorTester$1: void test()>();
return;
}
public void testIteratorNoSuchElementException()
{
com.google.common.collect.testing.testers.CollectionIteratorTester v;
java.util.Iterator v;
java.util.Collection v;
java.util.NoSuchElementException v;
boolean v;
v := @this: com.google.common.collect.testing.testers.CollectionIteratorTester;
v = v.<com.google.common.collect.testing.testers.CollectionIteratorTester: java.util.Collection collection>;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
goto label;
label:
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
staticinvoke <com.google.common.collect.testing.testers.CollectionIteratorTester: void fail(java.lang.String)>("iterator.next() should throw NoSuchElementException");
label:
goto label;
label:
v := @caughtexception;
label:
return;
catch java.util.NoSuchElementException from label to label with label;
}
}