1// Copyright 2023 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5package des
6
7import "testing"
8
9func TestInitialPermute(t *testing.T) {
10	for i := uint(0); i < 64; i++ {
11		bit := uint64(1) << i
12		got := permuteInitialBlock(bit)
13		want := uint64(1) << finalPermutation[63-i]
14		if got != want {
15			t.Errorf("permute(%x) = %x, want %x", bit, got, want)
16		}
17	}
18}
19
20func TestFinalPermute(t *testing.T) {
21	for i := uint(0); i < 64; i++ {
22		bit := uint64(1) << i
23		got := permuteFinalBlock(bit)
24		want := uint64(1) << initialPermutation[63-i]
25		if got != want {
26			t.Errorf("permute(%x) = %x, want %x", bit, got, want)
27		}
28	}
29}
30