diff --git a/src/core-taggeds-optional/Optional/Optional.T/Optional.T.Contains.cs b/src/core-taggeds-optional/Optional/Optional.T/Optional.T.Contains.cs deleted file mode 100644 index abe687f9..00000000 --- a/src/core-taggeds-optional/Optional/Optional.T/Optional.T.Contains.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System.Collections.Generic; - -namespace System; - -partial struct Optional -{ - // TODO: Add the tests and open the methods - - internal bool Contains(T value) - => - InnerContains(value, EqualityComparer.Default); - - internal bool Contains(T value, IEqualityComparer? comparer) - => - InnerContains(value, comparer ?? EqualityComparer.Default); -} diff --git a/src/core-taggeds-optional/Optional/Optional.T/Optional.T.Equality.Contains.cs b/src/core-taggeds-optional/Optional/Optional.T/Optional.T.Equality.Contains.cs new file mode 100644 index 00000000..bdc1b8e8 --- /dev/null +++ b/src/core-taggeds-optional/Optional/Optional.T/Optional.T.Equality.Contains.cs @@ -0,0 +1,48 @@ +using System.Collections.Generic; + +namespace System; + +partial struct Optional +{ + // TODO: Add the tests and open the methods/operators + + internal bool Contains(T value, IEqualityComparer? comparer) + => + InnerContains(value, comparer ?? EqualityComparer.Default); + + internal bool Contains(T value) + => + InnerContains(value, EqualityComparer.Default); + + internal static bool Equals(Optional left, T right, IEqualityComparer? comparer) + => + left.Contains(right, comparer); + + internal static bool Equals(Optional left, T right) + => + left.Contains(right); + + //public static bool operator ==(Optional left, T right) + // => + // left.Contains(right); + + //public static bool operator !=(Optional left, T right) + // => + // left.Contains(right) is not true; + + internal static bool Equals(T left, Optional right, IEqualityComparer? comparer) + => + right.Contains(left, comparer); + + internal static bool Equals(T left, Optional right) + => + right.Contains(left); + + //public static bool operator ==(T left, Optional right) + // => + // right.Contains(left); + + //public static bool operator !=(T left, Optional right) + // => + // right.Contains(left) is not true; +} diff --git a/src/core-taggeds-optional/Optional/Optional/Optional.Equality.Contains.cs b/src/core-taggeds-optional/Optional/Optional/Optional.Equality.Contains.cs new file mode 100644 index 00000000..b8f0b633 --- /dev/null +++ b/src/core-taggeds-optional/Optional/Optional/Optional.Equality.Contains.cs @@ -0,0 +1,24 @@ +using System.Collections.Generic; + +namespace System; + +partial class Optional +{ + // TODO: Add the tests and open the methods + + internal static bool Equals(Optional left, T right, IEqualityComparer? comparer) + => + left.Contains(right, comparer); + + internal static bool Equals(Optional left, T right) + => + left.Contains(right); + + internal static bool Equals(T left, Optional right, IEqualityComparer? comparer) + => + right.Contains(left, comparer); + + internal static bool Equals(T left, Optional right) + => + right.Contains(left); +}