annotate pkg/common/delta_test.go @ 5693:9e9cedae718a sr-v2

Add inverse funtion to delta.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 12 Feb 2024 14:38:10 +0100
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5693
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
1 // This is Free Software under GNU Affero General Public License v >= 3.0
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
2 // without warranty, see README.md and license for details.
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
3 //
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
4 // SPDX-License-Identifier: AGPL-3.0-or-later
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
5 // License-Filename: LICENSES/AGPL-3.0.txt
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
6 //
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
7 // Copyright (C) 2024 by via donau
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
8 // – Österreichische Wasserstraßen-Gesellschaft mbH
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
9 // Software engineering by Intevation GmbH
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
10 //
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
11 // Author(s):
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
12 // * Sascha L. Teichmann <sascha.teichmann@intevation.de>
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
13
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
14 package common
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
15
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
16 import "testing"
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
17
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
18 func TestDelta(t *testing.T) {
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
19 var (
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
20 input = []int64{1, 2, 3, 2, 1}
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
21 want = []int64{1, 1, 1, -1, -1}
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
22 )
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
23 delta := Delta()
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
24 for i, in := range input {
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
25 if got := delta(in); got != want[i] {
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
26 t.Errorf("input %d: got %d expected %d", in, got, want[i])
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
27 }
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
28 }
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
29 }
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
30
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
31 func TestInvDelta(t *testing.T) {
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
32 input := []int64{1, 2, 3, 2, 1, -10, 100}
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
33 delta := Delta()
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
34 invDelta := InvDelta()
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
35 for _, in := range input {
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
36 if got := invDelta(delta(in)); got != in {
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
37 t.Errorf("input %d: got %d expected %d", in, got, in)
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
38 }
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
39 }
9e9cedae718a Add inverse funtion to delta.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
40 }