public void TestExecutionFuzzingInput() { ExecutionFuzzingInput c = new ExecutionFuzzingInput("cmd.exe", "/C dir c:") { }; string ret = Encoding.ASCII.GetString(c.GetStream()); }
public void ExecutionFuzzingInput() { ExecutionFuzzingInput value; if (Environment.OSVersion.Platform == PlatformID.Unix) { value = new ExecutionFuzzingInput("bash", "-c \"echo Hello World\"") { Description = "Test", Id = Guid.NewGuid() }; } else { value = new ExecutionFuzzingInput("cmd", "/c echo Hello World") { Description = "Test", Id = Guid.NewGuid() }; } var ret = Encoding.ASCII.GetString(value.GetStream()); Assert.AreEqual("Hello World", ret.Trim()); // Regular constructor value = new ExecutionFuzzingInput() { FileName = value.FileName, Arguments = value.Arguments }; ret = Encoding.ASCII.GetString(value.GetStream()); Assert.AreEqual("Hello World", ret.Trim()); // Serialize var json = SerializationHelper.SerializeToJson(value, true); var copy = SerializationHelper.DeserializeFromJson <ExecutionFuzzingInput>(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()); }