public void SerializeDeserializePipeline_WorksAsExpected() { SarifLogPipeline preserialized = new SarifLogPipeline( new List <SarifLogActionTuple>() { new SarifLogActionTuple() { Action = SarifLogAction.RebaseUri, Parameters = new string[] { "SrcRoot", @"C:\src\" } }, new SarifLogActionTuple() { Action = SarifLogAction.Merge, Parameters = new string[0] } }); string result = JsonConvert.SerializeObject(preserialized); SarifLogPipeline deserialized = JsonConvert.DeserializeObject <SarifLogPipeline>(result); deserialized.Should().BeEquivalentTo(preserialized); }
/// <summary> /// Two pipelines are equal if they apply the same steps to the input sarif files. /// </summary> public override bool Equals(object obj) { SarifLogPipeline other = obj as SarifLogPipeline; if (other == null) { return(base.Equals(obj)); } if (other.Actions.Count != this.Actions.Count) { return(false); } for (int i = 0; i < this.Actions.Count; i++) { if (!this.Actions[i].Equals(other.Actions[i])) { return(false); } } return(true); }