コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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);
        }