public void SirenField_Equality_DifferentName_ShouldNotBeEqual() { ISirenField field = TestHelpers.GetField(); ISirenField other = TestHelpers.GetField("other-name"); TestHelpers.BidirectionalEquality(field, other, false); }
public override bool Equals(object obj) { ISirenField field = obj as ISirenField; ISirenField @this = this; return(field != null && @this.Equals(field)); }
public void SirenField_Equality_SameField_ShouldBeEqual() { ISirenField field = TestHelpers.GetField(); ISirenField other = TestHelpers.GetField(); TestHelpers.BidirectionalEquality(field, other, true); }
public static bool Matches(ISirenField expected, ISirenField actual, out string message) { return(Matches(expected.Name, actual.Name, out message) && Matches(expected.Type, actual.Type, out message) && Matches(expected.Title, actual.Title, out message) && Matches(expected.Class, actual.Class, out message) && Matches(expected.Value, actual.Value, out message)); }
public void SirenField_Equality_MissingAttributes_ShouldNotBeEqual() { ISirenField field = TestHelpers.GetField(); ISirenField other = new SirenField( name: "foo" ); TestHelpers.BidirectionalEquality(field, other, false); }
int IComparable <ISirenField> .CompareTo(ISirenField other) { if (other == null) { return(1); } return(string.CompareOrdinal(m_name, other.Name)); }
public static bool TryGetFieldByClass( this ISirenAction @this, string @class, out ISirenField field ) { field = @this.FieldsByClass(@class).FirstOrDefault(); return(field != default(ISirenField)); }
public static bool TryGetFieldByType( this ISirenAction @this, string type, out ISirenField field ) { field = @this.FieldsByType(type).FirstOrDefault(); return(field != default(ISirenField)); }
public static bool TryGetFieldByName( this ISirenAction @this, string name, out ISirenField field ) { field = @this.Fields.FirstOrDefault(f => f.Name.Equals(name)); return(field != default(ISirenField)); }
public void SirenField_DeserializesCorrectly() { ISirenField sirenField = TestHelpers.GetField(); string serialized = JsonConvert.SerializeObject(sirenField); ISirenField field = JsonConvert.DeserializeObject <SirenField>(serialized); Assert.AreEqual("foo", field.Name); Assert.Contains("bar", field.Class); Assert.AreEqual("number", field.Type); Assert.AreEqual(1, int.Parse(field.Value.ToString())); Assert.AreEqual("Some field", field.Title); }
public void SirenField_Serialized_DoesNotIncludeOptionalParametersIfNull() { ISirenField sirenField = new SirenField(name: "foo"); string serialized = JsonConvert.SerializeObject(sirenField); ISirenField field = JsonConvert.DeserializeObject <SirenField>(serialized); Assert.AreEqual("foo", field.Name); Assert.IsEmpty(field.Class); Assert.IsNull(field.Type); Assert.IsNull(field.Value); Assert.IsNull(field.Title); }
public void MatchingHelpers_MatchesSirenFieldArraysCorrectly() { string message; ISirenField field = TestHelpers.GetField(); IEnumerable <ISirenField> expected = null; IEnumerable <ISirenField> actual = null; Assert.IsTrue(SirenMatchers.Matches(expected, actual, out message)); actual = new[] { field }; Assert.IsTrue(SirenMatchers.Matches(expected, actual, out message)); expected = new[] { new SirenField( name: null ) }; actual = new[] { field }; Assert.IsTrue(SirenMatchers.Matches(expected, actual, out message)); expected = new[] { new SirenField( name: field.Name ) }; actual = new[] { field }; Assert.IsTrue(SirenMatchers.Matches(expected, actual, out message)); expected = new[] { new SirenField( name: field.Name, @class: field.Class, type: field.Type, value: field.Value, title: field.Title, min: field.Min, max: field.Max ) }; actual = new[] { field }; Assert.IsTrue(SirenMatchers.Matches(expected, actual, out message)); expected = new[] { new SirenField( name: field.Name, @class: field.Class, type: field.Type, value: "foo", title: field.Title, min: field.Min, max: field.Max ) }; actual = new[] { field }; Assert.IsFalse(SirenMatchers.Matches(expected, actual, out message)); Assert.AreEqual(message, "Expected foo, but was 1"); }
bool IEquatable <ISirenField> .Equals(ISirenField other) { if (other == null) { return(false); } bool name = m_name == other.Name; bool @class = m_class.OrderBy(x => x).SequenceEqual(other.Class.OrderBy(x => x)); bool type = m_type == other.Type; bool value = m_value == other.Value || m_value != null && m_value.Equals(other.Value); bool title = m_title == other.Title; return(name && @class && type && value && title); }
public void SirenField_DeserializesCorrectly() { ISirenField sirenField = new SirenField( name: "foo", @class: new[] { "bar" }, type: "number", value: 1, title: "Some field"); string serialized = JsonConvert.SerializeObject(sirenField); ISirenField field = JsonConvert.DeserializeObject <SirenField>(serialized); Assert.AreEqual("foo", field.Name); Assert.Contains("bar", field.Class); Assert.AreEqual("number", field.Type); Assert.AreEqual(1, int.Parse(field.Value.ToString())); Assert.AreEqual("Some field", field.Title); }
public void SirenField_GetHashcodeNot0(ISirenField field) { Assert.AreNotEqual(0, field.GetHashCode()); }
public void SirenField_GetHashCode_NotEqual(ISirenField field1, ISirenField field2) { Assert.AreNotEqual(field1.GetHashCode(), field2.GetHashCode()); }
int IComparable.CompareTo(object obj) { ISirenField @this = this; return(@this.CompareTo((ISirenField)obj)); }