-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathequalmaps.go
More file actions
85 lines (78 loc) · 1.76 KB
/
equalmaps.go
File metadata and controls
85 lines (78 loc) · 1.76 KB
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
package check
import (
"math"
)
// AreEqualMapsStringFloat64 compares two maps map[string]float64.
// The Epsilon parameter sets the accuracy of the comparison of two floats.
func AreEqualMapsStringFloat64(Map1, Map2 map[string]float64, Epsilon float64) bool {
if len(Map1) != len(Map2) {
return false
}
for i := range Map1 {
if math.Abs(Map1[i]-Map2[i]) > Epsilon {
return false
}
}
return true
}
// AreEqualMapsStringInt compares two maps map[string]int.
func AreEqualMapsStringInt(Map1, Map2 map[string]int) bool {
if len(Map1) != len(Map2) {
return false
}
for i := range Map1 {
if Map1[i] != Map2[i] {
return false
}
}
return true
}
// AreEqualMapsStringString compares two maps map[string]string.
func AreEqualMapsStringString(Map1, Map2 map[string]string) bool {
if len(Map1) != len(Map2) {
return false
}
for i := range Map1 {
if Map1[i] != Map2[i] {
return false
}
}
return true
}
// AreEqualMapsIntFloat64 compares two maps map[int]float64.
// The Epsilon parameter sets the accuracy of the comparison of two floats.
func AreEqualMapsIntFloat64(Map1, Map2 map[int]float64, Epsilon float64) bool {
if len(Map1) != len(Map2) {
return false
}
for i := range Map1 {
if math.Abs(Map1[i]-Map2[i]) > Epsilon {
return false
}
}
return true
}
// AreEqualMapsIntInt compares two maps map[int]int.
func AreEqualMapsIntInt(Map1, Map2 map[int]int) bool {
if len(Map1) != len(Map2) {
return false
}
for i := range Map1 {
if Map1[i] != Map2[i] {
return false
}
}
return true
}
// AreEqualMapsIntString compares two maps map[int]string.
func AreEqualMapsIntString(Map1, Map2 map[int]string) bool {
if len(Map1) != len(Map2) {
return false
}
for i := range Map1 {
if Map1[i] != Map2[i] {
return false
}
}
return true
}