/* __ __ __ __ __ ___ * \ \ / / \ \ / / __/ * \ \/ / /\ \ \/ / / * \____/__/ \__\____/__/.ɪᴏ * ᶜᵒᵖʸʳᶦᵍʰᵗ ᵇʸ ᵛᵃᵛʳ ⁻ ˡᶦᶜᵉⁿˢᵉᵈ ᵘⁿᵈᵉʳ ᵗʰᵉ ᵃᵖᵃᶜʰᵉ ˡᶦᶜᵉⁿˢᵉ ᵛᵉʳˢᶦᵒⁿ ᵗʷᵒ ᵈᵒᵗ ᶻᵉʳᵒ */ package io.vavr.collection; import org.junit.Test; import java.math.BigDecimal; import java.util.Spliterator; public abstract class AbstractSortedMapTest extends AbstractMapTest { @Override abstract protected <K extends Comparable<? super K>, V> SortedMap<K, V> mapOf(K k1, V v1); // -- isOrdered @Test public void shouldReturnOrdered() { final Map<Integer, String> actual = mapOf(1, "1", 1, "2"); assertThat(actual.isOrdered()).isTrue(); } // -- narrow @Test public void shouldNarrowMap() { final SortedMap<Integer, Double> int2doubleMap = mapOf(1, 1.0d); final SortedMap<Integer, Number> number2numberMap = SortedMap.narrow(int2doubleMap); final int actual = number2numberMap.put(2, new BigDecimal("2.0")).values().sum().intValue(); assertThat(actual).isEqualTo(3); } // -- spliterator @Test public void shouldHaveSortedSpliterator() { assertThat(of(1, 2, 3).spliterator().hasCharacteristics(Spliterator.SORTED)).isTrue(); } @Test public void shouldHaveOrderedSpliterator() { assertThat(of(1, 2, 3).spliterator().hasCharacteristics(Spliterator.ORDERED)).isTrue(); } // -- isSequential() @Test public void shouldReturnFalseWhenIsSequentialCalled() { assertThat(of(1, 2, 3).isSequential()).isFalse(); } }