public void ManualFuzzingInput() { var value = new ManualFuzzingInput(new byte[] { 0x00 }) { Description = "Test", Id = Guid.NewGuid() }; var ret = value.GetStream(); CollectionAssert.AreEqual(new byte[] { 0x00 }, ret); // Regular constructor value = new ManualFuzzingInput(new byte[0]); ret = value.GetStream(); Assert.AreEqual(0, ret.Length); // Serialize var json = SerializationHelper.SerializeToJson(value, true); var copy = SerializationHelper.DeserializeFromJson <ManualFuzzingInput>(json); var copy2 = SerializationHelper.DeserializeFromJson <FuzzingInputBase>(json); Assert.IsTrue(copy.Equals(copy2)); // Equals Assert.IsTrue(value.Equals(copy)); Assert.IsTrue(value.Equals((object)copy)); Assert.IsFalse(value.Equals(new object())); Assert.IsFalse(value.Equals((FuzzingInputBase) new FileFuzzingInput())); Assert.AreEqual(value.GetHashCode(), copy.GetHashCode()); value.Id = Guid.NewGuid(); Assert.AreNotEqual(value.GetHashCode(), copy.GetHashCode()); }