z_mirror/fmm

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

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

trunk
753 B29 linesraw
1package fmm
2
3import (
4	"testing"
5
6	"github.com/stretchr/testify/require"
7)
8
9func TestModIdent(t *testing.T) {
10	tests := []struct {
11		input, output string
12		expected      ModIdent
13	}{
14		{"Zipped", "Zipped", ModIdent{"Zipped", nil}},
15		{"Zipped_1.0.0", "Zipped 1.0.0", ModIdent{"Zipped", &Version{1}}},
16		{"Recipe_Book_1.0.35.zip", "Recipe_Book 1.0.35", ModIdent{"Recipe_Book", &Version{1, 0, 35}}},
17	}
18	for _, test := range tests {
19		mod := NewModIdent(test.input)
20		require.Equal(t, mod.Name, test.expected.Name)
21		if test.expected.Version != nil {
22			require.NotNil(t, mod.Version)
23			require.Equal(t, test.expected.Version.Cmp(mod.Version), VersionEq)
24		} else {
25			require.Nil(t, mod.Version)
26		}
27		require.Equal(t, mod.ToString(), test.output)
28	}
29}