Sha256: 2b13b24278ca8477e7e34f73e382a9b88dcc8cee16894f33207be1b9a9d63659

Contents?: true

Size: 1.59 KB

Versions: 133

Compression:

Stored size: 1.59 KB

Contents

@Grab("org.spockframework:spock-core:1.0-groovy-2.4")
import spock.lang.*

class BinarySearchSpec extends Specification {

    def "finds a value in an array with one element"() {
        expect:
        new BinarySearch([6]).indexOf(6) == 0
    }

    def "finds a value in the middle of an array"() {
        expect:
        new BinarySearch([1, 3, 4, 6, 8, 9, 11]).indexOf(6) == 3
    }

    def "finds a value at the beginning of an array"() {
        expect:
        new BinarySearch([1, 3, 4, 6, 8, 9, 11]).indexOf(1) == 0
    }

    def "finds a value at the end of an array"() {
        expect:
        new BinarySearch([1, 3, 4, 6, 8, 9, 11]).indexOf(11) == 6
    }

    def "finds a value in an array of odd length"() {
        expect:
        new BinarySearch([1, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 634]).indexOf(144) == 9
    }

    def "finds a value in an array of even length"() {
        expect:
        new BinarySearch([1, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377]).indexOf(21) == 5
    }

    def "identifies that a value is not included in the array"() {
        expect:
        new BinarySearch([1, 3, 4, 6, 8, 9, 11]).indexOf(7) == -1
    }

    def "a value smaller than the array's smallest value is not included"() {
        expect:
        new BinarySearch([1, 3, 4, 6, 8, 9, 11]).indexOf(0) == -1
    }

    def "a value larger than the array's largest value is not included"() {
        expect:
        new BinarySearch([1, 3, 4, 6, 8, 9, 11]).indexOf(13) == -1
    }

    def "nothing is included in an empty array"() {
        expect:
        new BinarySearch([]).indexOf(1) == -1
    }

}

Version data entries

133 entries across 133 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/groovy/exercises/binary-search/BinarySearchSpec.groovy
trackler-2.2.1.179 tracks/groovy/exercises/binary-search/BinarySearchSpec.groovy
trackler-2.2.1.178 tracks/groovy/exercises/binary-search/BinarySearchSpec.groovy
trackler-2.2.1.177 tracks/groovy/exercises/binary-search/BinarySearchSpec.groovy
trackler-2.2.1.176 tracks/groovy/exercises/binary-search/BinarySearchSpec.groovy
trackler-2.2.1.175 tracks/groovy/exercises/binary-search/BinarySearchSpec.groovy
trackler-2.2.1.174 tracks/groovy/exercises/binary-search/BinarySearchSpec.groovy
trackler-2.2.1.173 tracks/groovy/exercises/binary-search/BinarySearchSpec.groovy
trackler-2.2.1.172 tracks/groovy/exercises/binary-search/BinarySearchSpec.groovy
trackler-2.2.1.171 tracks/groovy/exercises/binary-search/BinarySearchSpec.groovy
trackler-2.2.1.170 tracks/groovy/exercises/binary-search/BinarySearchSpec.groovy
trackler-2.2.1.169 tracks/groovy/exercises/binary-search/BinarySearchSpec.groovy
trackler-2.2.1.167 tracks/groovy/exercises/binary-search/BinarySearchSpec.groovy
trackler-2.2.1.166 tracks/groovy/exercises/binary-search/BinarySearchSpec.groovy
trackler-2.2.1.165 tracks/groovy/exercises/binary-search/BinarySearchSpec.groovy
trackler-2.2.1.164 tracks/groovy/exercises/binary-search/BinarySearchSpec.groovy
trackler-2.2.1.163 tracks/groovy/exercises/binary-search/BinarySearchSpec.groovy
trackler-2.2.1.162 tracks/groovy/exercises/binary-search/BinarySearchSpec.groovy
trackler-2.2.1.161 tracks/groovy/exercises/binary-search/BinarySearchSpec.groovy
trackler-2.2.1.160 tracks/groovy/exercises/binary-search/BinarySearchSpec.groovy