view pkg/common/delta_test.go @ 5736:55892008ec96 default tip

Fixed a bunch of corner cases in WG import.
author Sascha Wilde <wilde@sha-bang.de>
date Wed, 29 May 2024 19:02:42 +0200
parents 9e9cedae718a
children
line wrap: on
line source

// This is Free Software under GNU Affero General Public License v >= 3.0
// without warranty, see README.md and license for details.
//
// SPDX-License-Identifier: AGPL-3.0-or-later
// License-Filename: LICENSES/AGPL-3.0.txt
//
// Copyright (C) 2024 by via donau
//   – Österreichische Wasserstraßen-Gesellschaft mbH
// Software engineering by Intevation GmbH
//
// Author(s):
//  * Sascha L. Teichmann <sascha.teichmann@intevation.de>

package common

import "testing"

func TestDelta(t *testing.T) {
	var (
		input = []int64{1, 2, 3, 2, 1}
		want  = []int64{1, 1, 1, -1, -1}
	)
	delta := Delta()
	for i, in := range input {
		if got := delta(in); got != want[i] {
			t.Errorf("input %d: got %d expected %d", in, got, want[i])
		}
	}
}

func TestInvDelta(t *testing.T) {
	input := []int64{1, 2, 3, 2, 1, -10, 100}
	delta := Delta()
	invDelta := InvDelta()
	for _, in := range input {
		if got := invDelta(delta(in)); got != in {
			t.Errorf("input %d: got %d expected %d", in, got, in)
		}
	}
}