private static string GetRelationshipFromDigitalTwinIds(DigitalTwinsClient client, string sourceTwinId, string targetTwinId)
        {
            string relationshipId = "";
            string sourcedtmi     = "";
            string targetdtmi     = "";

            //obtain the dtmi for the target
            string q = string.Format("SELECT v.$metadata.$model FROM DIGITALTWINS v WHERE $dtId = '{0}' AND IS_PRIMITIVE(v.$metadata.$model)", targetTwinId);

            if (q.Length > 0)
            {
                Pageable <string> result = client.Query(q);

                foreach (string s in result)
                {
                    using (JsonDocument jdoc = JsonDocument.Parse(s))
                    {
                        JsonElement ele = jdoc.RootElement;
                        targetdtmi = ele.GetProperty("$model").ToString();
                    }
                }
            }

            //obtain the dtmi for the source
            q = string.Format("SELECT v.$metadata.$model FROM DIGITALTWINS v WHERE $dtId = '{0}' AND IS_PRIMITIVE(v.$metadata.$model)", sourceTwinId);

            if ((q.Length > 0) && (targetdtmi.Length > 0))
            {
                Pageable <string> result = client.Query(q);

                foreach (string s in result)
                {
                    using (JsonDocument jdoc = JsonDocument.Parse(s))
                    {
                        JsonElement ele = jdoc.RootElement;
                        sourcedtmi = ele.GetProperty("$model").ToString();
                    }
                }

                dtdlInterfaceModel targetDTDL = DigitalTwinModelMethods.GetDTDLModel(client, sourcedtmi);
                if (targetDTDL != null)
                {
                    foreach (dtdlRelationshipModel r in targetDTDL.relationships)
                    {
                        if (r.target == targetdtmi)
                        {
                            relationshipId = r.name;
                            Console.WriteLine("Relationship created: {0}", JsonSerializer.Serialize <dtdlRelationshipModel>(r));
                            break;
                        }
                    }
                }
            }

            return(relationshipId);
        }
        /// <summary>
        /// Queries for all digital twins using <see cref="DigitalTwinsClient.Query{T}(string, CancellationToken)"/>.
        /// </summary>
        /// <param name="cancellationToken">The token used to signal cancellation request.</param>
        public override void Run(CancellationToken cancellationToken)
        {
            Pageable <BasicDigitalTwin> result = _digitalTwinsClient
                                                 .Query <BasicDigitalTwin>($"SELECT * FROM DIGITALTWINS WHERE TestId = '{_testId}'", cancellationToken);
            long resultCount = 0;

            foreach (BasicDigitalTwin a in result)
            {
                resultCount++;
            }

#if DEBUG
            resultCount.Should().Be(_size);
#endif
        }