public void RotateIfAllowed_Locked_False() { var map = new byte[, ] { { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 1 } }; var field = new Field(map); var figure = new Figure(new byte[, ] { { 1 }, { 1 }, { 1 } }); figure.X = 0; var expected = new byte[, ] { { 1 }, { 1 }, { 1 } }; var result = figure.RotateIfAllowed(field); Assert.False(result); Assert.True(ArrayExtensions.AreEqual(figure.Points, expected)); }
public void Merge_NonZeroPosition_Merged() { var map = new byte[, ] { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 1, 1, 1, 1 } }; var field = new Field(map); var points = new byte[, ] { { 1, 1 }, { 1, 1 } }; var figure = new Figure(points); figure.X = 2; figure.Y = 1; var expected = new byte[, ] { { 0, 0, 0, 0 }, { 0, 0, 1, 1 }, { 0, 0, 1, 1 }, { 1, 1, 1, 1 } }; field.Merge(figure); Assert.True(ArrayExtensions.AreEqual(field.Map, expected)); }
/// <summary> /// /// </summary> /// <param name="message"></param> public bool TryParse(byte[] message) { // Validate if (message.Length < Neom8nDevice.MininumMessageSize) { return(false); } if (!ArrayExtensions.AreEqual(MessageHeader, 0, message, 0, 2)) { return(false); } if (!ArrayExtensions.AreEqual(new byte[] { ClassID }, 0, message, 2, 1)) { return(false); } if (!ArrayExtensions.AreEqual(new byte[] { MessageID }, 0, message, 3, 1)) { return(false); } try { // Check payload length if (PayloadLength != (short)(message[5] << 8 | message[4])) { return(false); } // Set properties var payload = new byte[message.Length - 8]; Array.ConstrainedCopy(message, 6, payload, 0, payload.Length); var serializer = new PayloadSerializer(payload); foreach (var property in PayloadMetadata.Payload) { var value = serializer.ReadValue(property.PropertyType, property.PropertySize); SetObjectProperty(property.PropertyName, value, this); } // Set checksum if (Checksum != (ushort)((message[message.Length - 2]) | (message[message.Length - 1] << 8))) { return(false); } } catch { return(false); } return(true); }
public void Reset_Map_Empty() { var field = new Field(new byte[, ] { { 0, 1 }, { 1, 0 } }); var expected = new byte[, ] { { 0, 0 }, { 0, 0 } }; field.Reset(); Assert.True(ArrayExtensions.AreEqual(field.Map, expected)); }
public void Rotate_Twice_Rotated() { var figure = new Figure(new byte[, ] { { 1, 1 } }); var expected = new byte[, ] { { 1, 1 } }; figure.Rotate(2); Assert.True(ArrayExtensions.AreEqual(figure.Points, expected)); }
public void AreEqual_Identical_True() { var first = new byte[, ] { { 1, 2 }, { 3, 4 } }; var second = new byte[, ] { { 1, 2 }, { 3, 4 } }; var result = ArrayExtensions.AreEqual(first, second); Assert.True(result); }
public void AreEqual_DifferentContent_False() { var first = new byte[, ] { { 1, 2 }, { 1, 2 } }; var second = new byte[, ] { { 3, 1 }, { 3, 1 } }; var result = ArrayExtensions.AreEqual(first, second); Assert.False(result); }
/// <summary> /// Compares this object with another by value. /// </summary> public override bool Equals(object obj) { // Compare nullability and type var other = obj as ScheduleItemCollection; if (ReferenceEquals(other, null)) { return(false); } // Compare values return(ArrayExtensions.AreEqual(this, other)); }
/// <summary> /// Compares this object with another of the same type by value. /// </summary> /// <param name="value">Object with which to compare by value.</param> public bool Equals(Px4ioPacket value) { // Check null if (ReferenceEquals(value, null)) { return(false); } // Compare values return (value.CountCode == CountCode && value.Crc == Crc && value.Offset == Offset && value.Page == Page && ArrayExtensions.AreEqual(value.Registers, Registers)); }
/// <summary> /// Overrides the Equals method to compare by value, /// </summary> public override bool Equals(object?other) { // Check type and nullability if (!(other is BrushData brush) || (brush is null)) { return(false); } // Compare values return (BrushType == brush.BrushType && StartColor == brush.StartColor && EndColor == brush.EndColor && ArrayExtensions.AreEqual(Texture, brush.Texture) && WrapMode == brush.WrapMode && Scale == brush.Scale); }
/// <summary> /// Overrides the Equals method to compare by value, /// </summary> /// <param name="obj"></param> /// <returns></returns> public override bool Equals(object obj) { // Check type and nullability var other = obj as LogicalBrush; if (ReferenceEquals(other, null)) { return(false); } // Compare values return (BrushType == other.BrushType && StartColor == other.StartColor && EndColor == other.EndColor && ArrayExtensions.AreEqual(Texture, other.Texture) && WrapMode == other.WrapMode && Scale == other.Scale); }
public void RemoveFullLines_FullMap_Removed() { var map = new byte[, ] { { 1, 0, 0 }, { 1, 1, 1 }, { 1, 0, 1 }, { 1, 1, 1 } }; var expected = new byte[, ] { { 0, 0, 0 }, { 0, 0, 0 }, { 1, 0, 0 }, { 1, 0, 1 } }; var field = new Field(map); field.RemoveFullLines(); Assert.True(ArrayExtensions.AreEqual(field.Map, expected)); }