public static void WriteResponse(BrowseResultModel results) { var test = JsonConvert.SerializeObject(results, Formatting.Indented, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); var references = $@" Assert.{(results.ContinuationToken == null ? "Null" : "NotNull")}(results.ContinuationToken); Assert.Equal(""{results.Node.NodeId}"", results.Node.Id); Assert.Equal(""{results.Node.DataType}"", results.Node.DataType); Assert.Equal(""{results.Node.DisplayName}"", results.Node.DisplayName); Assert.Equal(NodeClass.{results.Node.NodeClass}, results.Node.NodeClass); Assert.Equal(NodeAccessLevel.{results.Node.AccessLevel}, results.Node.AccessLevel); Assert.Equal(NodeAccessLevel.{results.Node.UserAccessLevel}, results.Node.UserAccessLevel); Assert.Equal(NodeValueRank.{results.Node.ValueRank}, results.Node.ValueRank); Assert.Equal({results.Node.WriteMask}, results.Node.WriteMask); Assert.Equal({results.Node.UserWriteMask}, results.Node.UserWriteMask); Assert.Equal(NodeEventNotifier.{results.Node.EventNotifier}, results.Node.EventNotifier); Assert.{(results.Node.Executable ?? false ? "True" : "False")}(results.Node.Executable); Assert.{(results.Node.UserExecutable ?? false ? "True" : "False")}(results.Node.UserExecutable); Assert.{(results.Node.Children ?? false ? "True" : "False")}(results.Node.HasChildren); Assert.Collection(results.References, "; foreach (var reference in results.References) { references += $@" reference => {{ Assert.Equal(""{reference.ReferenceTypeId}"", reference.Id); Assert.Equal({reference.Direction}, reference.Direction); Assert.Equal(NodeClass.{reference.Target.NodeClass}, reference.Target.NodeClass); Assert.Equal(""{reference.Target.NodeId}"", reference.Target.Id); Assert.Equal(""{reference.Target.DataType}"", reference.Target.DataType); Assert.Equal(""{reference.Target.DisplayName}"", reference.Target.DisplayName); Assert.Equal(NodeAccessLevel.{reference.Target.AccessLevel}, reference.Target.AccessLevel); Assert.Equal(NodeAccessLevel.{reference.Target.UserAccessLevel}, reference.Target.UserAccessLevel); Assert.Equal(NodeValueRank.{reference.Target.ValueRank}, reference.Target.ValueRank); Assert.Equal({reference.Target.ArrayDimensions}, reference.Target.ArrayDimensions); Assert.Equal({reference.Target.WriteMask ?? 0}, reference.Target.WriteMask); Assert.Equal({reference.Target.UserWriteMask ?? 0}, reference.Target.UserWriteMask); Assert.Equal(NodeEventNotifier.{reference.Target.EventNotifier}, reference.Target.EventNotifier); Assert.{(reference.Target.Executable ?? false ? "True" : "False")}(reference.Target.Executable); Assert.{(reference.Target.UserExecutable ?? false ? "True" : "False")}(reference.Target.UserExecutable); Assert.{(reference.Target.Children ?? false ? "True" : "False")}(reference.Target.HasChildren); }},"; } references.TrimEnd().TrimEnd(','); references += ");"; System.Diagnostics.Trace.WriteLine(references); }
/// <summary> /// Create from service model /// </summary> /// <param name="model"></param> public BrowseResponseApiModel(BrowseResultModel model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } Node = model.Node == null ? null : new NodeApiModel(model.Node); ErrorInfo = model.ErrorInfo == null ? null : new ServiceResultApiModel(model?.ErrorInfo); ContinuationToken = model.ContinuationToken; References = model.References? .Select(r => new NodeReferenceApiModel(r)) .ToList(); }
/// <summary> /// Create from service model /// </summary> /// <param name="model"></param> public static BrowseResponseApiModel ToApiModel( this BrowseResultModel model) { if (model == null) { return(null); } return(new BrowseResponseApiModel { Node = model.Node.ToApiModel(), ErrorInfo = model.ErrorInfo.ToApiModel(), ContinuationToken = model.ContinuationToken, References = model.References? .Select(r => r.ToApiModel()) .ToList() }); }