File: find_test.go

package info (click to toggle)
golang-github-mesos-mesos-go 0.0.6%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 11,724 kB
  • sloc: makefile: 163
file content (89 lines) | stat: -rw-r--r-- 2,979 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package resources_test

import (
	"testing"

	"github.com/mesos/mesos-go/api/v1/lib"
	rez "github.com/mesos/mesos-go/api/v1/lib/resources"
	. "github.com/mesos/mesos-go/api/v1/lib/resourcetest"
)

func TestResources_Find(t *testing.T) {
	for i, tc := range []struct {
		r1, targets, wants mesos.Resources
	}{
		{nil, nil, nil},
		{
			r1: Resources(
				Resource(Name("cpus"), ValueScalar(2), Role("role1")),
				Resource(Name("mem"), ValueScalar(10), Role("role1")),
				Resource(Name("cpus"), ValueScalar(4), Role("*")),
				Resource(Name("mem"), ValueScalar(20), Role("*")),
			),
			targets: Resources(
				Resource(Name("cpus"), ValueScalar(3), Role("role1")),
				Resource(Name("mem"), ValueScalar(15), Role("role1")),
			),
			wants: Resources(
				Resource(Name("cpus"), ValueScalar(2), Role("role1")),
				Resource(Name("mem"), ValueScalar(10), Role("role1")),
				Resource(Name("cpus"), ValueScalar(1), Role("*")),
				Resource(Name("mem"), ValueScalar(5), Role("*")),
			),
		},
		{
			r1: Resources(
				Resource(Name("cpus"), ValueScalar(1), Role("role1")),
				Resource(Name("mem"), ValueScalar(5), Role("role1")),
				Resource(Name("cpus"), ValueScalar(2), Role("role2")),
				Resource(Name("mem"), ValueScalar(8), Role("role2")),
				Resource(Name("cpus"), ValueScalar(1), Role("*")),
				Resource(Name("mem"), ValueScalar(7), Role("*")),
			),
			targets: Resources(
				Resource(Name("cpus"), ValueScalar(3), Role("role1")),
				Resource(Name("mem"), ValueScalar(15), Role("role1")),
			),
			wants: Resources(
				Resource(Name("cpus"), ValueScalar(1), Role("role1")),
				Resource(Name("mem"), ValueScalar(5), Role("role1")),
				Resource(Name("cpus"), ValueScalar(1), Role("*")),
				Resource(Name("mem"), ValueScalar(7), Role("*")),
				Resource(Name("cpus"), ValueScalar(1), Role("role2")),
				Resource(Name("mem"), ValueScalar(3), Role("role2")),
			),
		},
		{
			r1: Resources(
				Resource(Name("cpus"), ValueScalar(5), Role("role1")),
				Resource(Name("mem"), ValueScalar(5), Role("role1")),
				Resource(Name("cpus"), ValueScalar(5), Role("*")),
				Resource(Name("mem"), ValueScalar(5), Role("*")),
			),
			targets: Resources(
				Resource(Name("cpus"), ValueScalar(6)),
				Resource(Name("mem"), ValueScalar(6)),
			),
			wants: Resources(
				Resource(Name("cpus"), ValueScalar(5), Role("*")),
				Resource(Name("mem"), ValueScalar(5), Role("*")),
				Resource(Name("cpus"), ValueScalar(1), Role("role1")),
				Resource(Name("mem"), ValueScalar(1), Role("role1")),
			),
		},
		{
			r1: Resources(
				Resource(Name("cpus"), ValueScalar(1), Role("role1")),
				Resource(Name("mem"), ValueScalar(1), Role("role1")),
			),
			targets: Resources(
				Resource(Name("cpus"), ValueScalar(2), Role("role1")),
				Resource(Name("mem"), ValueScalar(2), Role("role1")),
			),
			wants: nil,
		},
	} {
		r := rez.Find(tc.targets, tc.r1...)
		Expect(t, rez.Equivalent(r, tc.wants), "test case %d failed: expected %+v instead of %+v", i, tc.wants, r)
	}
}