z_mirror/fmm

git clone https://git.raiguard.me/z_mirror/fmm

Caleb HeuerRename manager module to lib, move save file parsing to lib5240ba3

updating
1.3 KiB57 linesraw
1package fmm
2
3import (
4	"testing"
5
6	"github.com/stretchr/testify/require"
7)
8
9func TestNewDependency(t *testing.T) {
10	tests := []struct {
11		input   string
12		name    string
13		version *Version
14		kind    DependencyKind
15		req     VersionCmpRes
16	}{
17		{"flib", "flib", nil, DependencyRequired, VersionAny},
18	}
19	for _, test := range tests {
20		dep, err := NewDependency(test.input)
21		if err != nil {
22			t.Error(err)
23		}
24		require.Equal(t, dep.Name, test.name)
25		if test.version == nil {
26			require.Nil(t, dep.Version)
27		} else {
28			require.NotNil(t, dep.Version)
29			require.Equal(t, dep.Version.Cmp(test.version), test.req)
30		}
31
32		require.Equal(t, dep.Kind, test.kind)
33		require.Equal(t, dep.Req, test.req)
34	}
35}
36
37func TestDependencyTest(t *testing.T) {
38	tests := []struct {
39		dep, name string
40		version   Version
41		result    bool
42	}{
43		{"flib", "flib", Version{0, 1, 1}, true},
44		{"! flib", "flib", Version{0, 1, 1}, false},
45		{"flib >= 0.10", "flib", Version{0, 1, 1}, false},
46		{"flib >= 0.10", "flib", Version{0, 10, 0}, true},
47		{"flib >= 0.10.0", "flib", Version{0, 10, 0}, true},
48		{"flib > 0.10", "flib", Version{0, 10, 0}, false},
49		{"flib>=0.10", "flib", Version{0, 10, 0}, true},
50	}
51
52	for _, test := range tests {
53		dep, err := NewDependency(test.dep)
54		require.NoError(t, err)
55		require.Equal(t, dep.Test(&test.version), test.result)
56	}
57}