public async Task WellboreMarkerSet200_PutObject_Can_Add_WellboreMarkerSet()
        {
            AddParents();
            await RequestSessionAndAssert();

            var handler = _client.Handler <IStoreCustomer>();
            var uri     = WellboreMarkerSet.GetUri();

            var dataObject = CreateDataObject(uri, WellboreMarkerSet);

            // Get Object Expecting it Not to Exist
            await GetAndAssert(handler, uri, Energistics.Etp.EtpErrorCodes.NotFound);

            // Put Object
            await PutAndAssert(handler, dataObject);

            // Get Object
            var args = await GetAndAssert(handler, uri);

            // Check Data Object XML
            Assert.IsNotNull(args?.Message.DataObject);
            var xml = args.Message.DataObject.GetString();

            var result = Parse <WellboreMarkerSet>(xml);

            Assert.IsNotNull(result);
        }
        public void TestSetUp()
        {
            Logger.Debug($"Executing {TestContext.TestName}");
            DevKit = new DevKit200Aspect(TestContext);

            Well = new Well
            {
                Uuid     = DevKit.Uid(),
                Citation = DevKit.Citation("Well"),

                GeographicLocationWGS84 = DevKit.Location(),
                SchemaVersion           = "2.0",

                TimeZone = DevKit.TimeZone
            };
            Wellbore = new Wellbore
            {
                Uuid     = DevKit.Uid(),
                Citation = DevKit.Citation("Wellbore"),

                Well          = DevKit.DataObjectReference(Well),
                SchemaVersion = "2.0"
            };
            WellboreMarkerSet = new WellboreMarkerSet
            {
                Uuid     = DevKit.Uid(),
                Citation = DevKit.Citation("WellboreMarkerSet"),

                Wellbore      = DevKit.DataObjectReference(Wellbore),
                SchemaVersion = EtpUris.GetUriFamily(typeof(WellboreMarkerSet)).Version,
            };

            BeforeEachTest();
            OnTestSetUp();
        }
 protected override void PrepareData()
 {
     Well = new Well
     {
         Uuid     = DevKit.Uid(),
         Citation = DevKit.Citation("Well"),
         GeographicLocationWGS84 = DevKit.Location(),
         SchemaVersion           = "2.0",
         TimeZone = DevKit.TimeZone
     };
     Wellbore = new Wellbore
     {
         Uuid          = DevKit.Uid(),
         Citation      = DevKit.Citation("Wellbore"),
         Well          = DevKit.DataObjectReference(Well),
         SchemaVersion = "2.0"
     };
     WellboreMarkerSet = new WellboreMarkerSet
     {
         Uuid          = DevKit.Uid(),
         Citation      = DevKit.Citation("WellboreMarkerSet"),
         Wellbore      = DevKit.DataObjectReference(Wellbore),
         SchemaVersion = EtpUris.GetUriFamily(typeof(WellboreMarkerSet)).Version,
     };
 }
        public async Task WellboreMarkerSet200_PutObject_Can_Update_WellboreMarkerSet()
        {
            AddParents();
            await RequestSessionAndAssert();

            var handler = _client.Handler <IStoreCustomer>();
            var uri     = WellboreMarkerSet.GetUri();

            // Add a ExtensionNameValue to Data Object
            var envName = "TestPutObject";
            var env     = DevKit.ExtensionNameValue(envName, envName);

            WellboreMarkerSet.ExtensionNameValue = new List <ExtensionNameValue>()
            {
                env
            };

            var dataObject = CreateDataObject(uri, WellboreMarkerSet);

            // Get Object Expecting it Not to Exist
            await GetAndAssert(handler, uri, Energistics.Etp.EtpErrorCodes.NotFound);

            // Put Object for Add
            await PutAndAssert(handler, dataObject);

            // Get Added Object
            var args = await GetAndAssert(handler, uri);

            // Check Added Data Object XML
            Assert.IsNotNull(args?.Message.DataObject);
            var xml = args.Message.DataObject.GetString();

            var result = Parse <WellboreMarkerSet>(xml);

            Assert.IsNotNull(result);
            Assert.IsNotNull(result.ExtensionNameValue.FirstOrDefault(e => e.Name.Equals(envName)));

            // Remove Comment from Data Object
            result.ExtensionNameValue.Clear();

            var updateDataObject = CreateDataObject(uri, result);

            // Put Object for Update
            await PutAndAssert(handler, updateDataObject);

            // Get Updated Object
            args = await GetAndAssert(handler, uri);

            // Check Added Data Object XML
            Assert.IsNotNull(args?.Message.DataObject);
            var updateXml = args.Message.DataObject.GetString();

            result = Parse <WellboreMarkerSet>(updateXml);
            Assert.IsNotNull(result);

            // Test Data Object overwrite
            Assert.IsNull(result.ExtensionNameValue.FirstOrDefault(e => e.Name.Equals(envName)));
        }
 /// <summary>
 /// Sets additional default values for the specified data object.
 /// </summary>
 /// <param name="dataObject">The data object.</param>
 /// <param name="uri">The URI.</param>
 partial void SetAdditionalDefaultValues(WellboreMarkerSet dataObject, EtpUri uri)
 {
     dataObject.MarkerSetInterval = new MdInterval()
     {
         Datum  = "SL",
         MDTop  = new LengthMeasure(0, LengthUom.ft),
         MDBase = new LengthMeasure(1, LengthUom.ft)
     };
 }
        public async Task WellboreMarkerSet200_GetResources_Can_Get_All_WellboreMarkerSet_Resources()
        {
            AddParents();
            DevKit.AddAndAssert(WellboreMarkerSet);
            await RequestSessionAndAssert();

            var uri       = WellboreMarkerSet.GetUri();
            var parentUri = uri.Parent;

            await GetResourcesAndAssert(WellboreMarkerSet.Wellbore.GetUri());

            var folderUri = parentUri.Append(uri.ObjectType);

            await GetResourcesAndAssert(folderUri);
        }