Fixed Unit Test and Added putIfAbsentTest
This commit is contained in:
		
							parent
							
								
									4c52636c23
								
							
						
					
					
						commit
						e30d011273
					
				@ -131,7 +131,8 @@ public class IMMUTABLE_LIST KEY_GENERIC_TYPE extends ABSTRACT_LIST KEY_GENERIC_T
 | 
				
			|||||||
	
 | 
						
 | 
				
			||||||
	@Override
 | 
						@Override
 | 
				
			||||||
	public KEY_TYPE[] getElements(int from, KEY_TYPE[] a, int offset, int length) {
 | 
						public KEY_TYPE[] getElements(int from, KEY_TYPE[] a, int offset, int length) {
 | 
				
			||||||
		SanityChecks.checkArrayCapacity(data.length, offset, length);
 | 
							SanityChecks.checkArrayCapacity(a.length, offset, length);
 | 
				
			||||||
 | 
							SanityChecks.checkArrayCapacity(data.length, from, length);
 | 
				
			||||||
		System.arraycopy(data, from, a, offset, length);
 | 
							System.arraycopy(data, from, a, offset, length);
 | 
				
			||||||
		return a;
 | 
							return a;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
				
			|||||||
@ -5,6 +5,7 @@ import java.util.Collection;
 | 
				
			|||||||
#if !TYPE_BOOLEAN
 | 
					#if !TYPE_BOOLEAN
 | 
				
			||||||
import java.util.ConcurrentModificationException;
 | 
					import java.util.ConcurrentModificationException;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					import java.util.Iterator;
 | 
				
			||||||
import java.util.NoSuchElementException;
 | 
					import java.util.NoSuchElementException;
 | 
				
			||||||
import java.util.Objects;
 | 
					import java.util.Objects;
 | 
				
			||||||
#if TYPE_OBJECT
 | 
					#if TYPE_OBJECT
 | 
				
			||||||
@ -635,6 +636,27 @@ public class COLLECTIONS
 | 
				
			|||||||
				}
 | 
									}
 | 
				
			||||||
			};
 | 
								};
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							@Override
 | 
				
			||||||
 | 
							public boolean equals(Object o) {
 | 
				
			||||||
 | 
								if (o == this)
 | 
				
			||||||
 | 
									return true;
 | 
				
			||||||
 | 
								if (!(o instanceof Collection))
 | 
				
			||||||
 | 
									return false;
 | 
				
			||||||
 | 
								Collection<?> l = (Collection<?>)o;
 | 
				
			||||||
 | 
								if(l.size() != size()) return false;
 | 
				
			||||||
 | 
								Iterator<?> iter = l.iterator();
 | 
				
			||||||
 | 
								if (iter.hasNext() && !Objects.equals(element, iter.next())) {
 | 
				
			||||||
 | 
									return false;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								return !iter.hasNext();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							@Override
 | 
				
			||||||
 | 
							public int hashCode() {
 | 
				
			||||||
 | 
								return KEY_TO_HASH(element);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
		@Override
 | 
							@Override
 | 
				
			||||||
		public int size() { return 1; }
 | 
							public int size() { return 1; }
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
 | 
				
			|||||||
@ -32,7 +32,17 @@ public class FILE_KEY_TYPE2FILE_VALUE_TYPEMapPutIfAbsentTester KEY_VALUE_GENERIC
 | 
				
			|||||||
		assertEquals("putIfAbsent(present, value) should return existing value", v0(), getMap().putIfAbsent(k0(), v3()));
 | 
							assertEquals("putIfAbsent(present, value) should return existing value", v0(), getMap().putIfAbsent(k0(), v3()));
 | 
				
			||||||
		expectUnchanged();
 | 
							expectUnchanged();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					#ignore
 | 
				
			||||||
 | 
						@MapFeature.Require(SUPPORTS_PUT)
 | 
				
			||||||
 | 
					#endignore
 | 
				
			||||||
 | 
						public void testPutIfAbsent_replaceableDefaultValue() {
 | 
				
			||||||
 | 
							getMap().putIfAbsent(k3(), getMap().getDefaultReturnValue());
 | 
				
			||||||
 | 
							assertEquals("get(present) should return defaultValue value", getMap().getDefaultReturnValue(), get(k3()));
 | 
				
			||||||
 | 
							getMap().putIfAbsent(k3(), v3());
 | 
				
			||||||
 | 
							assertEquals("get(present) value should have been replaced", v3(), get(k3()));
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
#ignore
 | 
					#ignore
 | 
				
			||||||
	@MapFeature.Require(absent = SUPPORTS_PUT)
 | 
						@MapFeature.Require(absent = SUPPORTS_PUT)
 | 
				
			||||||
#endignore
 | 
					#endignore
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user