A game about forced loneliness, made by TACStudios
1using System;
2
3namespace Unity.VisualScripting
4{
5 public partial class EnsureThat
6 {
7 public void Is<T>(T param, T expected) where T : struct, IComparable<T>
8 {
9 if (!Ensure.IsActive)
10 {
11 return;
12 }
13
14 if (!param.IsEq(expected))
15 {
16 throw new ArgumentException(ExceptionMessages.Comp_Is_Failed.Inject(param, expected), paramName);
17 }
18 }
19
20 public void IsNot<T>(T param, T expected) where T : struct, IComparable<T>
21 {
22 if (!Ensure.IsActive)
23 {
24 return;
25 }
26
27 if (param.IsEq(expected))
28 {
29 throw new ArgumentException(ExceptionMessages.Comp_IsNot_Failed.Inject(param, expected), paramName);
30 }
31 }
32
33 public void IsLt<T>(T param, T limit) where T : struct, IComparable<T>
34 {
35 if (!Ensure.IsActive)
36 {
37 return;
38 }
39
40 if (!param.IsLt(limit))
41 {
42 throw new ArgumentException(ExceptionMessages.Comp_IsNotLt.Inject(param, limit), paramName);
43 }
44 }
45
46 public void IsLte<T>(T param, T limit) where T : struct, IComparable<T>
47 {
48 if (!Ensure.IsActive)
49 {
50 return;
51 }
52
53 if (param.IsGt(limit))
54 {
55 throw new ArgumentException(ExceptionMessages.Comp_IsNotLte.Inject(param, limit), paramName);
56 }
57 }
58
59 public void IsGt<T>(T param, T limit) where T : struct, IComparable<T>
60 {
61 if (!Ensure.IsActive)
62 {
63 return;
64 }
65
66 if (!param.IsGt(limit))
67 {
68 throw new ArgumentException(ExceptionMessages.Comp_IsNotGt.Inject(param, limit), paramName);
69 }
70 }
71
72 public void IsGte<T>(T param, T limit) where T : struct, IComparable<T>
73 {
74 if (!Ensure.IsActive)
75 {
76 return;
77 }
78
79 if (param.IsLt(limit))
80 {
81 throw new ArgumentException(ExceptionMessages.Comp_IsNotGte.Inject(param, limit), paramName);
82 }
83 }
84
85 public void IsInRange<T>(T param, T min, T max) where T : struct, IComparable<T>
86 {
87 if (!Ensure.IsActive)
88 {
89 return;
90 }
91
92 if (param.IsLt(min))
93 {
94 throw new ArgumentException(ExceptionMessages.Comp_IsNotInRange_ToLow.Inject(param, min), paramName);
95 }
96
97 if (param.IsGt(max))
98 {
99 throw new ArgumentException(ExceptionMessages.Comp_IsNotInRange_ToHigh.Inject(param, max), paramName);
100 }
101 }
102 }
103}