Mercurial > gemma
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 |
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 } |