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);
        }
Exemple #2
0
 /// <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()
     });
 }