...

Source file src/github.com/golang/geo/s2/nthderivative_test.go

Documentation: github.com/golang/geo/s2

     1  // Copyright 2017 Google Inc. All rights reserved.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  package s2
    16  
    17  import "testing"
    18  
    19  func TestCoder(t *testing.T) {
    20  	// Fixed testcases
    21  	input := []int32{1, 5, 10, 15, 20, 23}
    22  	order0 := []int32{1, 5, 10, 15, 20, 23}
    23  	order1 := []int32{1, 4, 5, 5, 5, 3}
    24  	order2 := []int32{1, 4, 1, 0, 0, -2}
    25  
    26  	enc0, dec0 := newNthDerivativeCoder(0), newNthDerivativeCoder(0)
    27  	enc1, dec1 := newNthDerivativeCoder(1), newNthDerivativeCoder(1)
    28  	enc2, dec2 := newNthDerivativeCoder(2), newNthDerivativeCoder(2)
    29  
    30  	for i, in := range input {
    31  		if got := enc0.encode(in); got != order0[i] {
    32  			t.Errorf("enc0 = %d, want %d", got, order0[i])
    33  		}
    34  		if got := dec0.decode(order0[i]); got != in {
    35  			t.Errorf("dec0 = %d, want %d", got, in)
    36  		}
    37  		if got := enc1.encode(in); got != order1[i] {
    38  			t.Errorf("enc1 = %d, want %d", got, order1[i])
    39  		}
    40  		if got := dec1.decode(order1[i]); got != in {
    41  			t.Errorf("dec1 = %d, want %d", got, in)
    42  		}
    43  		if got := enc2.encode(in); got != order2[i] {
    44  			t.Errorf("enc2 = %d, want %d", got, order2[i])
    45  		}
    46  		if got := dec2.decode(order2[i]); got != in {
    47  			t.Errorf("dec2 = %d, want %d", got, in)
    48  		}
    49  	}
    50  }
    51  

View as plain text