mirror of
				https://github.com/opennetworkinglab/onos.git
				synced 2025-11-04 02:01:11 +01:00 
			
		
		
		
	More Unit tests
Change-Id: I32dd3851e490979621c4a5205c6e041dee900244
This commit is contained in:
		
							parent
							
								
									bd1eb3fba4
								
							
						
					
					
						commit
						92c64ebea2
					
				@ -108,12 +108,13 @@ public final class Match<T> {
 | 
				
			|||||||
        return Objects.hash(matchAny, value);
 | 
					        return Objects.hash(matchAny, value);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @SuppressWarnings("unchecked")
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public boolean equals(Object other) {
 | 
					    public boolean equals(Object other) {
 | 
				
			||||||
        if (!(other instanceof Match)) {
 | 
					        if (!(other instanceof Match)) {
 | 
				
			||||||
            return false;
 | 
					            return false;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        Match<T> that = (Match) other;
 | 
					        Match<T> that = (Match<T>) other;
 | 
				
			||||||
        return Objects.equals(this.matchAny, that.matchAny) &&
 | 
					        return Objects.equals(this.matchAny, that.matchAny) &&
 | 
				
			||||||
               Objects.equals(this.value, that.value);
 | 
					               Objects.equals(this.value, that.value);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
@ -15,6 +15,10 @@
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
package org.onosproject.store.consistent.impl;
 | 
					package org.onosproject.store.consistent.impl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import static com.google.common.base.MoreObjects.toStringHelper;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.Objects;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Result of a database update operation.
 | 
					 * Result of a database update operation.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@ -74,6 +78,7 @@ public final class Result<V> {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Returns the status of database update operation.
 | 
					     * Returns the status of database update operation.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @return database update status
 | 
					     * @return database update status
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public Status status() {
 | 
					    public Status status() {
 | 
				
			||||||
@ -82,10 +87,35 @@ public final class Result<V> {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Returns the return value for the update.
 | 
					     * Returns the return value for the update.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @return value returned by database update. If the status is another
 | 
					     * @return value returned by database update. If the status is another
 | 
				
			||||||
     * other than Status.OK, this returns a null
 | 
					     * other than Status.OK, this returns a null
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public V value() {
 | 
					    public V value() {
 | 
				
			||||||
        return value;
 | 
					        return value;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public int hashCode() {
 | 
				
			||||||
 | 
					        return Objects.hash(value, status);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @SuppressWarnings("unchecked")
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public boolean equals(Object other) {
 | 
				
			||||||
 | 
					        if (!(other instanceof Result)) {
 | 
				
			||||||
 | 
					            return false;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        Result<V> that = (Result<V>) other;
 | 
				
			||||||
 | 
					        return Objects.equals(this.value, that.value) &&
 | 
				
			||||||
 | 
					               Objects.equals(this.status, that.status);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public String toString() {
 | 
				
			||||||
 | 
					        return toStringHelper(this)
 | 
				
			||||||
 | 
					                .add("status", status)
 | 
				
			||||||
 | 
					                .add("value", value)
 | 
				
			||||||
 | 
					                .toString();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -653,7 +653,7 @@ public class EventuallyConsistentMapImpl<K, V>
 | 
				
			|||||||
        public void processItems(List<UpdateEntry<K, V>> items) {
 | 
					        public void processItems(List<UpdateEntry<K, V>> items) {
 | 
				
			||||||
            Map<K, UpdateEntry<K, V>> map = Maps.newHashMap();
 | 
					            Map<K, UpdateEntry<K, V>> map = Maps.newHashMap();
 | 
				
			||||||
            items.forEach(item -> map.compute(item.key(), (key, existing) ->
 | 
					            items.forEach(item -> map.compute(item.key(), (key, existing) ->
 | 
				
			||||||
                    existing == null || item.compareTo(existing) > 0 ? item : existing));
 | 
					                    item.isNewerThan(existing) ? item : existing));
 | 
				
			||||||
            communicationExecutor.submit(() -> {
 | 
					            communicationExecutor.submit(() -> {
 | 
				
			||||||
                clusterCommunicator.unicast(ImmutableList.copyOf(map.values()),
 | 
					                clusterCommunicator.unicast(ImmutableList.copyOf(map.values()),
 | 
				
			||||||
                                            updateMessageSubject,
 | 
					                                            updateMessageSubject,
 | 
				
			||||||
 | 
				
			|||||||
@ -83,10 +83,11 @@ public class MapValue<V> implements Comparable<MapValue<V>> {
 | 
				
			|||||||
        return Objects.hashCode(timestamp, value);
 | 
					        return Objects.hashCode(timestamp, value);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @SuppressWarnings("unchecked")
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public boolean equals(Object other) {
 | 
					    public boolean equals(Object other) {
 | 
				
			||||||
        if (other instanceof MapValue) {
 | 
					        if (other instanceof MapValue) {
 | 
				
			||||||
            MapValue<V> that = (MapValue) other;
 | 
					            MapValue<V> that = (MapValue<V>) other;
 | 
				
			||||||
            return Objects.equal(this.timestamp, that.timestamp) &&
 | 
					            return Objects.equal(this.timestamp, that.timestamp) &&
 | 
				
			||||||
                    Objects.equal(this.value, that.value);
 | 
					                    Objects.equal(this.value, that.value);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
@ -22,7 +22,7 @@ import com.google.common.base.MoreObjects;
 | 
				
			|||||||
/**
 | 
					/**
 | 
				
			||||||
 * Describes a single update event in an EventuallyConsistentMap.
 | 
					 * Describes a single update event in an EventuallyConsistentMap.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
final class UpdateEntry<K, V> implements Comparable<UpdateEntry<K, V>> {
 | 
					final class UpdateEntry<K, V> {
 | 
				
			||||||
    private final K key;
 | 
					    private final K key;
 | 
				
			||||||
    private final MapValue<V> value;
 | 
					    private final MapValue<V> value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -55,9 +55,13 @@ final class UpdateEntry<K, V> implements Comparable<UpdateEntry<K, V>> {
 | 
				
			|||||||
        return value;
 | 
					        return value;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    /**
 | 
				
			||||||
    public int compareTo(UpdateEntry<K, V> o) {
 | 
					     * Returns if this entry is newer than other entry.
 | 
				
			||||||
        return this.value.timestamp().compareTo(o.value.timestamp());
 | 
					     * @param other other entry
 | 
				
			||||||
 | 
					     * @return true if this entry is newer; false otherwise
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public boolean isNewerThan(UpdateEntry<K, V> other) {
 | 
				
			||||||
 | 
					        return other == null || value.isNewerThan(other.value);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										42
									
								
								core/store/dist/src/test/java/org/onosproject/store/consistent/impl/ResultTest.java
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								core/store/dist/src/test/java/org/onosproject/store/consistent/impl/ResultTest.java
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,42 @@
 | 
				
			|||||||
 | 
					package org.onosproject.store.consistent.impl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import static junit.framework.TestCase.assertEquals;
 | 
				
			||||||
 | 
					import static junit.framework.TestCase.assertFalse;
 | 
				
			||||||
 | 
					import static junit.framework.TestCase.assertNull;
 | 
				
			||||||
 | 
					import static junit.framework.TestCase.assertTrue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.junit.Test;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Unit tests for Result.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					public class ResultTest {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Test
 | 
				
			||||||
 | 
					    public void testLocked() {
 | 
				
			||||||
 | 
					        Result<String> r = Result.locked();
 | 
				
			||||||
 | 
					        assertFalse(r.success());
 | 
				
			||||||
 | 
					        assertNull(r.value());
 | 
				
			||||||
 | 
					        assertEquals(Result.Status.LOCKED, r.status());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Test
 | 
				
			||||||
 | 
					    public void testOk() {
 | 
				
			||||||
 | 
					        Result<String> r = Result.ok("foo");
 | 
				
			||||||
 | 
					        assertTrue(r.success());
 | 
				
			||||||
 | 
					        assertEquals("foo", r.value());
 | 
				
			||||||
 | 
					        assertEquals(Result.Status.OK, r.status());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Test
 | 
				
			||||||
 | 
					    public void testEquality() {
 | 
				
			||||||
 | 
					        Result<String> r1 = Result.ok("foo");
 | 
				
			||||||
 | 
					        Result<String> r2 = Result.locked();
 | 
				
			||||||
 | 
					        Result<String> r3 = Result.ok("bar");
 | 
				
			||||||
 | 
					        Result<String> r4 = Result.ok("foo");
 | 
				
			||||||
 | 
					        assertTrue(r1.equals(r4));
 | 
				
			||||||
 | 
					        assertFalse(r1.equals(r2));
 | 
				
			||||||
 | 
					        assertFalse(r1.equals(r3));
 | 
				
			||||||
 | 
					        assertFalse(r2.equals(r3));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user