File: alg_test.go

package info (click to toggle)
addchain 0.4.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,396 kB
  • sloc: sh: 428; makefile: 8
file content (29 lines) | stat: -rw-r--r-- 649 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package dict

import (
	"testing"

	"github.com/mmcloughlin/addchain/alg"
	"github.com/mmcloughlin/addchain/alg/algtest"
	"github.com/mmcloughlin/addchain/alg/contfrac"
)

func TestAlgorithms(t *testing.T) {
	as := []alg.ChainAlgorithm{
		// Dictionary-based algorithms.
		NewAlgorithm(
			SlidingWindow{K: 4},
			contfrac.NewAlgorithm(contfrac.DichotomicStrategy{}),
		),
		NewAlgorithm(
			FixedWindow{K: 7},
			contfrac.NewAlgorithm(contfrac.BinaryStrategy{}),
		),

		// Runs algorithm.
		NewRunsAlgorithm(contfrac.NewAlgorithm(contfrac.DichotomicStrategy{})),
	}
	for _, a := range as {
		t.Run(a.String(), algtest.ChainAlgorithmSuite(a))
	}
}