//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace Bajun.Network.NET.RestClient.Test.Generated
{
   using System;
   using NUnit.Framework;
   using System.Threading.Tasks;
   using System.Net.Http;
   using Bajun.Network.NET.RestClient.Mockup.Generated.Clients;
   using Bajun.Network.NET.RestClient.Generated.Clients;
   using Ajuna.NetApi.Model.Types.Base;
   using Ajuna.NetApi.Model.Types.Primitive;
   using Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2;
   using Bajun.Network.NET.NetApiExt.Generated.Model.sp_trie.storage_proof;
   using Bajun.Network.NET.NetApiExt.Generated.Model.cumulus_pallet_parachain_system.relay_state_snapshot;
   using Bajun.Network.NET.NetApiExt.Generated.Model.cumulus_primitives_parachain_inherent;
   using Bajun.Network.NET.NetApiExt.Generated.Types.Base;
   using Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_core_primitives;
   using Bajun.Network.NET.NetApiExt.Generated.Model.sp_weights.weight_v2;
   using Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types;
   
   public class ParachainSystemControllerClientTest : ClientTestBase
   {
      private System.Net.Http.HttpClient _httpClient;
      [SetUp()]
      public void Setup()
      {
         _httpClient = CreateHttpClient();
      }
      public Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8> GetTestValue2()
      {
         Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8> result;
         result = new Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>();
         result.Create(new Ajuna.NetApi.Model.Types.Primitive.U8[] {
                  this.GetTestValueU8()});
         return result;
      }
      [Test()]
      public async System.Threading.Tasks.Task TestPendingValidationCode()
      {
         // Construct new Mockup client to test with.
         ParachainSystemControllerMockupClient mockupClient = new ParachainSystemControllerMockupClient(_httpClient);

         // Construct new subscription client to test with.
         var subscriptionClient = CreateSubscriptionClient();

         // Construct new RPC client to test with.
         ParachainSystemControllerClient rpcClient = new ParachainSystemControllerClient(_httpClient, subscriptionClient);
         Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8> mockupValue = this.GetTestValue2();


         Assert.IsTrue(await rpcClient.SubscribePendingValidationCode());

         // Save the previously generated mockup value in RPC service storage.
         bool mockupSetResult = await mockupClient.SetPendingValidationCode(mockupValue);

         // Test that the expected mockup value was handled successfully from RPC service.
         Assert.IsTrue(mockupSetResult);
         var cts = new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(1));
         Assert.IsTrue(await subscriptionClient.ReceiveNextAsync(cts.Token));

         Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8> rpcResult = await rpcClient.GetPendingValidationCode();

         // Test that the expected mockup value matches the actual result from RPC service.
         Assert.AreEqual(mockupValue.Encode(), rpcResult.Encode());
      }
      public Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8> GetTestValue4()
      {
         Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8> result;
         result = new Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>();
         result.Create(new Ajuna.NetApi.Model.Types.Primitive.U8[] {
                  this.GetTestValueU8()});
         return result;
      }
      [Test()]
      public async System.Threading.Tasks.Task TestNewValidationCode()
      {
         // Construct new Mockup client to test with.
         ParachainSystemControllerMockupClient mockupClient = new ParachainSystemControllerMockupClient(_httpClient);

         // Construct new subscription client to test with.
         var subscriptionClient = CreateSubscriptionClient();

         // Construct new RPC client to test with.
         ParachainSystemControllerClient rpcClient = new ParachainSystemControllerClient(_httpClient, subscriptionClient);
         Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8> mockupValue = this.GetTestValue4();


         Assert.IsTrue(await rpcClient.SubscribeNewValidationCode());

         // Save the previously generated mockup value in RPC service storage.
         bool mockupSetResult = await mockupClient.SetNewValidationCode(mockupValue);

         // Test that the expected mockup value was handled successfully from RPC service.
         Assert.IsTrue(mockupSetResult);
         var cts = new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(1));
         Assert.IsTrue(await subscriptionClient.ReceiveNextAsync(cts.Token));

         Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8> rpcResult = await rpcClient.GetNewValidationCode();

         // Test that the expected mockup value matches the actual result from RPC service.
         Assert.AreEqual(mockupValue.Encode(), rpcResult.Encode());
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.PersistedValidationData GetTestValue6()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.PersistedValidationData result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.PersistedValidationData();
         result.ParentHead = new Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.HeadData();
         result.ParentHead = this.GetTestValue7();
         result.RelayParentNumber = this.GetTestValueU32();
         result.RelayParentStorageRoot = new Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256();
         result.RelayParentStorageRoot = this.GetTestValue8();
         result.MaxPovSize = this.GetTestValueU32();
         return result;
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.HeadData GetTestValue7()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.HeadData result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.HeadData();
         result.Value = new Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>();
         result.Value.Create(new Ajuna.NetApi.Model.Types.Primitive.U8[] {
                  this.GetTestValueU8()});
         return result;
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256 GetTestValue8()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256 result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256();
         result.Value = new Bajun.Network.NET.NetApiExt.Generated.Types.Base.Arr32U8();
         result.Value.Create(new Ajuna.NetApi.Model.Types.Primitive.U8[] {
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8()});
         return result;
      }
      [Test()]
      public async System.Threading.Tasks.Task TestValidationData()
      {
         // Construct new Mockup client to test with.
         ParachainSystemControllerMockupClient mockupClient = new ParachainSystemControllerMockupClient(_httpClient);

         // Construct new subscription client to test with.
         var subscriptionClient = CreateSubscriptionClient();

         // Construct new RPC client to test with.
         ParachainSystemControllerClient rpcClient = new ParachainSystemControllerClient(_httpClient, subscriptionClient);
         Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.PersistedValidationData mockupValue = this.GetTestValue6();


         Assert.IsTrue(await rpcClient.SubscribeValidationData());

         // Save the previously generated mockup value in RPC service storage.
         bool mockupSetResult = await mockupClient.SetValidationData(mockupValue);

         // Test that the expected mockup value was handled successfully from RPC service.
         Assert.IsTrue(mockupSetResult);
         var cts = new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(1));
         Assert.IsTrue(await subscriptionClient.ReceiveNextAsync(cts.Token));

         Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.PersistedValidationData rpcResult = await rpcClient.GetValidationData();

         // Test that the expected mockup value matches the actual result from RPC service.
         Assert.AreEqual(mockupValue.Encode(), rpcResult.Encode());
      }
      [Test()]
      public async System.Threading.Tasks.Task TestDidSetValidationCode()
      {
         // Construct new Mockup client to test with.
         ParachainSystemControllerMockupClient mockupClient = new ParachainSystemControllerMockupClient(_httpClient);

         // Construct new subscription client to test with.
         var subscriptionClient = CreateSubscriptionClient();

         // Construct new RPC client to test with.
         ParachainSystemControllerClient rpcClient = new ParachainSystemControllerClient(_httpClient, subscriptionClient);
         Ajuna.NetApi.Model.Types.Primitive.Bool mockupValue = this.GetTestValueBool();


         Assert.IsTrue(await rpcClient.SubscribeDidSetValidationCode());

         // Save the previously generated mockup value in RPC service storage.
         bool mockupSetResult = await mockupClient.SetDidSetValidationCode(mockupValue);

         // Test that the expected mockup value was handled successfully from RPC service.
         Assert.IsTrue(mockupSetResult);
         var cts = new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(1));
         Assert.IsTrue(await subscriptionClient.ReceiveNextAsync(cts.Token));

         Ajuna.NetApi.Model.Types.Primitive.Bool rpcResult = await rpcClient.GetDidSetValidationCode();

         // Test that the expected mockup value matches the actual result from RPC service.
         Assert.AreEqual(mockupValue.Encode(), rpcResult.Encode());
      }
      [Test()]
      public async System.Threading.Tasks.Task TestLastRelayChainBlockNumber()
      {
         // Construct new Mockup client to test with.
         ParachainSystemControllerMockupClient mockupClient = new ParachainSystemControllerMockupClient(_httpClient);

         // Construct new subscription client to test with.
         var subscriptionClient = CreateSubscriptionClient();

         // Construct new RPC client to test with.
         ParachainSystemControllerClient rpcClient = new ParachainSystemControllerClient(_httpClient, subscriptionClient);
         Ajuna.NetApi.Model.Types.Primitive.U32 mockupValue = this.GetTestValueU32();


         Assert.IsTrue(await rpcClient.SubscribeLastRelayChainBlockNumber());

         // Save the previously generated mockup value in RPC service storage.
         bool mockupSetResult = await mockupClient.SetLastRelayChainBlockNumber(mockupValue);

         // Test that the expected mockup value was handled successfully from RPC service.
         Assert.IsTrue(mockupSetResult);
         var cts = new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(1));
         Assert.IsTrue(await subscriptionClient.ReceiveNextAsync(cts.Token));

         Ajuna.NetApi.Model.Types.Primitive.U32 rpcResult = await rpcClient.GetLastRelayChainBlockNumber();

         // Test that the expected mockup value matches the actual result from RPC service.
         Assert.AreEqual(mockupValue.Encode(), rpcResult.Encode());
      }
      public Ajuna.NetApi.Model.Types.Base.BaseOpt<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.EnumUpgradeRestriction> GetTestValue12()
      {
         Ajuna.NetApi.Model.Types.Base.BaseOpt<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.EnumUpgradeRestriction> result;
         result = new Ajuna.NetApi.Model.Types.Base.BaseOpt<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.EnumUpgradeRestriction>();
         result.Create(this.GetTestValue13());
         return result;
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.EnumUpgradeRestriction GetTestValue13()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.EnumUpgradeRestriction result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.EnumUpgradeRestriction();
         result.Create(this.GetTestValueEnum<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.UpgradeRestriction>());
         return result;
      }
      [Test()]
      public async System.Threading.Tasks.Task TestUpgradeRestrictionSignal()
      {
         // Construct new Mockup client to test with.
         ParachainSystemControllerMockupClient mockupClient = new ParachainSystemControllerMockupClient(_httpClient);

         // Construct new subscription client to test with.
         var subscriptionClient = CreateSubscriptionClient();

         // Construct new RPC client to test with.
         ParachainSystemControllerClient rpcClient = new ParachainSystemControllerClient(_httpClient, subscriptionClient);
         Ajuna.NetApi.Model.Types.Base.BaseOpt<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.EnumUpgradeRestriction> mockupValue = this.GetTestValue12();


         Assert.IsTrue(await rpcClient.SubscribeUpgradeRestrictionSignal());

         // Save the previously generated mockup value in RPC service storage.
         bool mockupSetResult = await mockupClient.SetUpgradeRestrictionSignal(mockupValue);

         // Test that the expected mockup value was handled successfully from RPC service.
         Assert.IsTrue(mockupSetResult);
         var cts = new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(1));
         Assert.IsTrue(await subscriptionClient.ReceiveNextAsync(cts.Token));

         Ajuna.NetApi.Model.Types.Base.BaseOpt<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.EnumUpgradeRestriction> rpcResult = await rpcClient.GetUpgradeRestrictionSignal();

         // Test that the expected mockup value matches the actual result from RPC service.
         Assert.AreEqual(mockupValue.Encode(), rpcResult.Encode());
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.sp_trie.storage_proof.StorageProof GetTestValue15()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.sp_trie.storage_proof.StorageProof result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.sp_trie.storage_proof.StorageProof();
         result.TrieNodes = new Bajun.Network.NET.NetApiExt.Generated.Types.Base.BTreeSetT1();
         result.TrieNodes = this.GetTestValue16();
         return result;
      }
      public Bajun.Network.NET.NetApiExt.Generated.Types.Base.BTreeSetT1 GetTestValue16()
      {
         Bajun.Network.NET.NetApiExt.Generated.Types.Base.BTreeSetT1 result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Types.Base.BTreeSetT1();
         result.Value = new Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>>();
         result.Value.Create(new Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>[] {
                  this.GetTestValue17()});
         return result;
      }
      public Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8> GetTestValue17()
      {
         Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8> result;
         result = new Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>();
         result.Create(new Ajuna.NetApi.Model.Types.Primitive.U8[] {
                  this.GetTestValueU8()});
         return result;
      }
      [Test()]
      public async System.Threading.Tasks.Task TestRelayStateProof()
      {
         // Construct new Mockup client to test with.
         ParachainSystemControllerMockupClient mockupClient = new ParachainSystemControllerMockupClient(_httpClient);

         // Construct new subscription client to test with.
         var subscriptionClient = CreateSubscriptionClient();

         // Construct new RPC client to test with.
         ParachainSystemControllerClient rpcClient = new ParachainSystemControllerClient(_httpClient, subscriptionClient);
         Bajun.Network.NET.NetApiExt.Generated.Model.sp_trie.storage_proof.StorageProof mockupValue = this.GetTestValue15();


         Assert.IsTrue(await rpcClient.SubscribeRelayStateProof());

         // Save the previously generated mockup value in RPC service storage.
         bool mockupSetResult = await mockupClient.SetRelayStateProof(mockupValue);

         // Test that the expected mockup value was handled successfully from RPC service.
         Assert.IsTrue(mockupSetResult);
         var cts = new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(1));
         Assert.IsTrue(await subscriptionClient.ReceiveNextAsync(cts.Token));

         Bajun.Network.NET.NetApiExt.Generated.Model.sp_trie.storage_proof.StorageProof rpcResult = await rpcClient.GetRelayStateProof();

         // Test that the expected mockup value matches the actual result from RPC service.
         Assert.AreEqual(mockupValue.Encode(), rpcResult.Encode());
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.cumulus_pallet_parachain_system.relay_state_snapshot.MessagingStateSnapshot GetTestValue19()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.cumulus_pallet_parachain_system.relay_state_snapshot.MessagingStateSnapshot result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.cumulus_pallet_parachain_system.relay_state_snapshot.MessagingStateSnapshot();
         result.DmqMqcHead = new Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256();
         result.DmqMqcHead = this.GetTestValue20();
         result.RelayDispatchQueueSize = new Ajuna.NetApi.Model.Types.Base.BaseTuple<Ajuna.NetApi.Model.Types.Primitive.U32, Ajuna.NetApi.Model.Types.Primitive.U32>();
         result.RelayDispatchQueueSize.Create(this.GetTestValueU32(), this.GetTestValueU32());
         result.IngressChannels = new Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Base.BaseTuple<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id, Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.AbridgedHrmpChannel>>();
         result.IngressChannels.Create(new Ajuna.NetApi.Model.Types.Base.BaseTuple<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id, Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.AbridgedHrmpChannel>[] {
                  this.GetTestValue21()});
         result.EgressChannels = new Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Base.BaseTuple<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id, Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.AbridgedHrmpChannel>>();
         result.EgressChannels.Create(new Ajuna.NetApi.Model.Types.Base.BaseTuple<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id, Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.AbridgedHrmpChannel>[] {
                  this.GetTestValue25()});
         return result;
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256 GetTestValue20()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256 result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256();
         result.Value = new Bajun.Network.NET.NetApiExt.Generated.Types.Base.Arr32U8();
         result.Value.Create(new Ajuna.NetApi.Model.Types.Primitive.U8[] {
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8()});
         return result;
      }
      public Ajuna.NetApi.Model.Types.Base.BaseTuple<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id, Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.AbridgedHrmpChannel> GetTestValue21()
      {
         Ajuna.NetApi.Model.Types.Base.BaseTuple<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id, Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.AbridgedHrmpChannel> result;
         result = new Ajuna.NetApi.Model.Types.Base.BaseTuple<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id, Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.AbridgedHrmpChannel>();
         result.Create(this.GetTestValue22(), this.GetTestValue23());
         return result;
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id GetTestValue22()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id();
         result.Value = this.GetTestValueU32();
         return result;
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.AbridgedHrmpChannel GetTestValue23()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.AbridgedHrmpChannel result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.AbridgedHrmpChannel();
         result.MaxCapacity = this.GetTestValueU32();
         result.MaxTotalSize = this.GetTestValueU32();
         result.MaxMessageSize = this.GetTestValueU32();
         result.MsgCount = this.GetTestValueU32();
         result.TotalSize = this.GetTestValueU32();
         result.MqcHead = new Ajuna.NetApi.Model.Types.Base.BaseOpt<Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256>();
         result.MqcHead.Create(this.GetTestValue24());
         return result;
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256 GetTestValue24()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256 result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256();
         result.Value = new Bajun.Network.NET.NetApiExt.Generated.Types.Base.Arr32U8();
         result.Value.Create(new Ajuna.NetApi.Model.Types.Primitive.U8[] {
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8()});
         return result;
      }
      public Ajuna.NetApi.Model.Types.Base.BaseTuple<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id, Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.AbridgedHrmpChannel> GetTestValue25()
      {
         Ajuna.NetApi.Model.Types.Base.BaseTuple<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id, Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.AbridgedHrmpChannel> result;
         result = new Ajuna.NetApi.Model.Types.Base.BaseTuple<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id, Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.AbridgedHrmpChannel>();
         result.Create(this.GetTestValue26(), this.GetTestValue27());
         return result;
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id GetTestValue26()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id();
         result.Value = this.GetTestValueU32();
         return result;
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.AbridgedHrmpChannel GetTestValue27()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.AbridgedHrmpChannel result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.AbridgedHrmpChannel();
         result.MaxCapacity = this.GetTestValueU32();
         result.MaxTotalSize = this.GetTestValueU32();
         result.MaxMessageSize = this.GetTestValueU32();
         result.MsgCount = this.GetTestValueU32();
         result.TotalSize = this.GetTestValueU32();
         result.MqcHead = new Ajuna.NetApi.Model.Types.Base.BaseOpt<Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256>();
         result.MqcHead.Create(this.GetTestValue28());
         return result;
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256 GetTestValue28()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256 result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256();
         result.Value = new Bajun.Network.NET.NetApiExt.Generated.Types.Base.Arr32U8();
         result.Value.Create(new Ajuna.NetApi.Model.Types.Primitive.U8[] {
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8()});
         return result;
      }
      [Test()]
      public async System.Threading.Tasks.Task TestRelevantMessagingState()
      {
         // Construct new Mockup client to test with.
         ParachainSystemControllerMockupClient mockupClient = new ParachainSystemControllerMockupClient(_httpClient);

         // Construct new subscription client to test with.
         var subscriptionClient = CreateSubscriptionClient();

         // Construct new RPC client to test with.
         ParachainSystemControllerClient rpcClient = new ParachainSystemControllerClient(_httpClient, subscriptionClient);
         Bajun.Network.NET.NetApiExt.Generated.Model.cumulus_pallet_parachain_system.relay_state_snapshot.MessagingStateSnapshot mockupValue = this.GetTestValue19();


         Assert.IsTrue(await rpcClient.SubscribeRelevantMessagingState());

         // Save the previously generated mockup value in RPC service storage.
         bool mockupSetResult = await mockupClient.SetRelevantMessagingState(mockupValue);

         // Test that the expected mockup value was handled successfully from RPC service.
         Assert.IsTrue(mockupSetResult);
         var cts = new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(1));
         Assert.IsTrue(await subscriptionClient.ReceiveNextAsync(cts.Token));

         Bajun.Network.NET.NetApiExt.Generated.Model.cumulus_pallet_parachain_system.relay_state_snapshot.MessagingStateSnapshot rpcResult = await rpcClient.GetRelevantMessagingState();

         // Test that the expected mockup value matches the actual result from RPC service.
         Assert.AreEqual(mockupValue.Encode(), rpcResult.Encode());
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.AbridgedHostConfiguration GetTestValue30()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.AbridgedHostConfiguration result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.AbridgedHostConfiguration();
         result.MaxCodeSize = this.GetTestValueU32();
         result.MaxHeadDataSize = this.GetTestValueU32();
         result.MaxUpwardQueueCount = this.GetTestValueU32();
         result.MaxUpwardQueueSize = this.GetTestValueU32();
         result.MaxUpwardMessageSize = this.GetTestValueU32();
         result.MaxUpwardMessageNumPerCandidate = this.GetTestValueU32();
         result.HrmpMaxMessageNumPerCandidate = this.GetTestValueU32();
         result.ValidationUpgradeCooldown = this.GetTestValueU32();
         result.ValidationUpgradeDelay = this.GetTestValueU32();
         return result;
      }
      [Test()]
      public async System.Threading.Tasks.Task TestHostConfiguration()
      {
         // Construct new Mockup client to test with.
         ParachainSystemControllerMockupClient mockupClient = new ParachainSystemControllerMockupClient(_httpClient);

         // Construct new subscription client to test with.
         var subscriptionClient = CreateSubscriptionClient();

         // Construct new RPC client to test with.
         ParachainSystemControllerClient rpcClient = new ParachainSystemControllerClient(_httpClient, subscriptionClient);
         Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.AbridgedHostConfiguration mockupValue = this.GetTestValue30();


         Assert.IsTrue(await rpcClient.SubscribeHostConfiguration());

         // Save the previously generated mockup value in RPC service storage.
         bool mockupSetResult = await mockupClient.SetHostConfiguration(mockupValue);

         // Test that the expected mockup value was handled successfully from RPC service.
         Assert.IsTrue(mockupSetResult);
         var cts = new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(1));
         Assert.IsTrue(await subscriptionClient.ReceiveNextAsync(cts.Token));

         Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_primitives.v2.AbridgedHostConfiguration rpcResult = await rpcClient.GetHostConfiguration();

         // Test that the expected mockup value matches the actual result from RPC service.
         Assert.AreEqual(mockupValue.Encode(), rpcResult.Encode());
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.cumulus_primitives_parachain_inherent.MessageQueueChain GetTestValue32()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.cumulus_primitives_parachain_inherent.MessageQueueChain result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.cumulus_primitives_parachain_inherent.MessageQueueChain();
         result.Value = new Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256();
         result.Value = this.GetTestValue33();
         return result;
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256 GetTestValue33()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256 result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256();
         result.Value = new Bajun.Network.NET.NetApiExt.Generated.Types.Base.Arr32U8();
         result.Value.Create(new Ajuna.NetApi.Model.Types.Primitive.U8[] {
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8()});
         return result;
      }
      [Test()]
      public async System.Threading.Tasks.Task TestLastDmqMqcHead()
      {
         // Construct new Mockup client to test with.
         ParachainSystemControllerMockupClient mockupClient = new ParachainSystemControllerMockupClient(_httpClient);

         // Construct new subscription client to test with.
         var subscriptionClient = CreateSubscriptionClient();

         // Construct new RPC client to test with.
         ParachainSystemControllerClient rpcClient = new ParachainSystemControllerClient(_httpClient, subscriptionClient);
         Bajun.Network.NET.NetApiExt.Generated.Model.cumulus_primitives_parachain_inherent.MessageQueueChain mockupValue = this.GetTestValue32();


         Assert.IsTrue(await rpcClient.SubscribeLastDmqMqcHead());

         // Save the previously generated mockup value in RPC service storage.
         bool mockupSetResult = await mockupClient.SetLastDmqMqcHead(mockupValue);

         // Test that the expected mockup value was handled successfully from RPC service.
         Assert.IsTrue(mockupSetResult);
         var cts = new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(1));
         Assert.IsTrue(await subscriptionClient.ReceiveNextAsync(cts.Token));

         Bajun.Network.NET.NetApiExt.Generated.Model.cumulus_primitives_parachain_inherent.MessageQueueChain rpcResult = await rpcClient.GetLastDmqMqcHead();

         // Test that the expected mockup value matches the actual result from RPC service.
         Assert.AreEqual(mockupValue.Encode(), rpcResult.Encode());
      }
      public Bajun.Network.NET.NetApiExt.Generated.Types.Base.BTreeMapT1 GetTestValue35()
      {
         Bajun.Network.NET.NetApiExt.Generated.Types.Base.BTreeMapT1 result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Types.Base.BTreeMapT1();
         result.Value = new Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Base.BaseTuple<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id, Bajun.Network.NET.NetApiExt.Generated.Model.cumulus_primitives_parachain_inherent.MessageQueueChain>>();
         result.Value.Create(new Ajuna.NetApi.Model.Types.Base.BaseTuple<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id, Bajun.Network.NET.NetApiExt.Generated.Model.cumulus_primitives_parachain_inherent.MessageQueueChain>[] {
                  this.GetTestValue36()});
         return result;
      }
      public Ajuna.NetApi.Model.Types.Base.BaseTuple<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id, Bajun.Network.NET.NetApiExt.Generated.Model.cumulus_primitives_parachain_inherent.MessageQueueChain> GetTestValue36()
      {
         Ajuna.NetApi.Model.Types.Base.BaseTuple<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id, Bajun.Network.NET.NetApiExt.Generated.Model.cumulus_primitives_parachain_inherent.MessageQueueChain> result;
         result = new Ajuna.NetApi.Model.Types.Base.BaseTuple<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id, Bajun.Network.NET.NetApiExt.Generated.Model.cumulus_primitives_parachain_inherent.MessageQueueChain>();
         result.Create(this.GetTestValue37(), this.GetTestValue38());
         return result;
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id GetTestValue37()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id();
         result.Value = this.GetTestValueU32();
         return result;
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.cumulus_primitives_parachain_inherent.MessageQueueChain GetTestValue38()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.cumulus_primitives_parachain_inherent.MessageQueueChain result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.cumulus_primitives_parachain_inherent.MessageQueueChain();
         result.Value = new Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256();
         result.Value = this.GetTestValue39();
         return result;
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256 GetTestValue39()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256 result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256();
         result.Value = new Bajun.Network.NET.NetApiExt.Generated.Types.Base.Arr32U8();
         result.Value.Create(new Ajuna.NetApi.Model.Types.Primitive.U8[] {
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8()});
         return result;
      }
      [Test()]
      public async System.Threading.Tasks.Task TestLastHrmpMqcHeads()
      {
         // Construct new Mockup client to test with.
         ParachainSystemControllerMockupClient mockupClient = new ParachainSystemControllerMockupClient(_httpClient);

         // Construct new subscription client to test with.
         var subscriptionClient = CreateSubscriptionClient();

         // Construct new RPC client to test with.
         ParachainSystemControllerClient rpcClient = new ParachainSystemControllerClient(_httpClient, subscriptionClient);
         Bajun.Network.NET.NetApiExt.Generated.Types.Base.BTreeMapT1 mockupValue = this.GetTestValue35();


         Assert.IsTrue(await rpcClient.SubscribeLastHrmpMqcHeads());

         // Save the previously generated mockup value in RPC service storage.
         bool mockupSetResult = await mockupClient.SetLastHrmpMqcHeads(mockupValue);

         // Test that the expected mockup value was handled successfully from RPC service.
         Assert.IsTrue(mockupSetResult);
         var cts = new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(1));
         Assert.IsTrue(await subscriptionClient.ReceiveNextAsync(cts.Token));

         Bajun.Network.NET.NetApiExt.Generated.Types.Base.BTreeMapT1 rpcResult = await rpcClient.GetLastHrmpMqcHeads();

         // Test that the expected mockup value matches the actual result from RPC service.
         Assert.AreEqual(mockupValue.Encode(), rpcResult.Encode());
      }
      [Test()]
      public async System.Threading.Tasks.Task TestProcessedDownwardMessages()
      {
         // Construct new Mockup client to test with.
         ParachainSystemControllerMockupClient mockupClient = new ParachainSystemControllerMockupClient(_httpClient);

         // Construct new subscription client to test with.
         var subscriptionClient = CreateSubscriptionClient();

         // Construct new RPC client to test with.
         ParachainSystemControllerClient rpcClient = new ParachainSystemControllerClient(_httpClient, subscriptionClient);
         Ajuna.NetApi.Model.Types.Primitive.U32 mockupValue = this.GetTestValueU32();


         Assert.IsTrue(await rpcClient.SubscribeProcessedDownwardMessages());

         // Save the previously generated mockup value in RPC service storage.
         bool mockupSetResult = await mockupClient.SetProcessedDownwardMessages(mockupValue);

         // Test that the expected mockup value was handled successfully from RPC service.
         Assert.IsTrue(mockupSetResult);
         var cts = new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(1));
         Assert.IsTrue(await subscriptionClient.ReceiveNextAsync(cts.Token));

         Ajuna.NetApi.Model.Types.Primitive.U32 rpcResult = await rpcClient.GetProcessedDownwardMessages();

         // Test that the expected mockup value matches the actual result from RPC service.
         Assert.AreEqual(mockupValue.Encode(), rpcResult.Encode());
      }
      [Test()]
      public async System.Threading.Tasks.Task TestHrmpWatermark()
      {
         // Construct new Mockup client to test with.
         ParachainSystemControllerMockupClient mockupClient = new ParachainSystemControllerMockupClient(_httpClient);

         // Construct new subscription client to test with.
         var subscriptionClient = CreateSubscriptionClient();

         // Construct new RPC client to test with.
         ParachainSystemControllerClient rpcClient = new ParachainSystemControllerClient(_httpClient, subscriptionClient);
         Ajuna.NetApi.Model.Types.Primitive.U32 mockupValue = this.GetTestValueU32();


         Assert.IsTrue(await rpcClient.SubscribeHrmpWatermark());

         // Save the previously generated mockup value in RPC service storage.
         bool mockupSetResult = await mockupClient.SetHrmpWatermark(mockupValue);

         // Test that the expected mockup value was handled successfully from RPC service.
         Assert.IsTrue(mockupSetResult);
         var cts = new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(1));
         Assert.IsTrue(await subscriptionClient.ReceiveNextAsync(cts.Token));

         Ajuna.NetApi.Model.Types.Primitive.U32 rpcResult = await rpcClient.GetHrmpWatermark();

         // Test that the expected mockup value matches the actual result from RPC service.
         Assert.AreEqual(mockupValue.Encode(), rpcResult.Encode());
      }
      public Ajuna.NetApi.Model.Types.Base.BaseVec<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_core_primitives.OutboundHrmpMessage> GetTestValue43()
      {
         Ajuna.NetApi.Model.Types.Base.BaseVec<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_core_primitives.OutboundHrmpMessage> result;
         result = new Ajuna.NetApi.Model.Types.Base.BaseVec<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_core_primitives.OutboundHrmpMessage>();
         result.Create(new Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_core_primitives.OutboundHrmpMessage[] {
                  this.GetTestValue44()});
         return result;
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_core_primitives.OutboundHrmpMessage GetTestValue44()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_core_primitives.OutboundHrmpMessage result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_core_primitives.OutboundHrmpMessage();
         result.Recipient = new Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id();
         result.Recipient = this.GetTestValue45();
         result.Data = new Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>();
         result.Data.Create(new Ajuna.NetApi.Model.Types.Primitive.U8[] {
                  this.GetTestValueU8()});
         return result;
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id GetTestValue45()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_parachain.primitives.Id();
         result.Value = this.GetTestValueU32();
         return result;
      }
      [Test()]
      public async System.Threading.Tasks.Task TestHrmpOutboundMessages()
      {
         // Construct new Mockup client to test with.
         ParachainSystemControllerMockupClient mockupClient = new ParachainSystemControllerMockupClient(_httpClient);

         // Construct new subscription client to test with.
         var subscriptionClient = CreateSubscriptionClient();

         // Construct new RPC client to test with.
         ParachainSystemControllerClient rpcClient = new ParachainSystemControllerClient(_httpClient, subscriptionClient);
         Ajuna.NetApi.Model.Types.Base.BaseVec<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_core_primitives.OutboundHrmpMessage> mockupValue = this.GetTestValue43();


         Assert.IsTrue(await rpcClient.SubscribeHrmpOutboundMessages());

         // Save the previously generated mockup value in RPC service storage.
         bool mockupSetResult = await mockupClient.SetHrmpOutboundMessages(mockupValue);

         // Test that the expected mockup value was handled successfully from RPC service.
         Assert.IsTrue(mockupSetResult);
         var cts = new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(1));
         Assert.IsTrue(await subscriptionClient.ReceiveNextAsync(cts.Token));

         Ajuna.NetApi.Model.Types.Base.BaseVec<Bajun.Network.NET.NetApiExt.Generated.Model.polkadot_core_primitives.OutboundHrmpMessage> rpcResult = await rpcClient.GetHrmpOutboundMessages();

         // Test that the expected mockup value matches the actual result from RPC service.
         Assert.AreEqual(mockupValue.Encode(), rpcResult.Encode());
      }
      public Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>> GetTestValue47()
      {
         Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>> result;
         result = new Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>>();
         result.Create(new Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>[] {
                  this.GetTestValue48()});
         return result;
      }
      public Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8> GetTestValue48()
      {
         Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8> result;
         result = new Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>();
         result.Create(new Ajuna.NetApi.Model.Types.Primitive.U8[] {
                  this.GetTestValueU8()});
         return result;
      }
      [Test()]
      public async System.Threading.Tasks.Task TestUpwardMessages()
      {
         // Construct new Mockup client to test with.
         ParachainSystemControllerMockupClient mockupClient = new ParachainSystemControllerMockupClient(_httpClient);

         // Construct new subscription client to test with.
         var subscriptionClient = CreateSubscriptionClient();

         // Construct new RPC client to test with.
         ParachainSystemControllerClient rpcClient = new ParachainSystemControllerClient(_httpClient, subscriptionClient);
         Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>> mockupValue = this.GetTestValue47();


         Assert.IsTrue(await rpcClient.SubscribeUpwardMessages());

         // Save the previously generated mockup value in RPC service storage.
         bool mockupSetResult = await mockupClient.SetUpwardMessages(mockupValue);

         // Test that the expected mockup value was handled successfully from RPC service.
         Assert.IsTrue(mockupSetResult);
         var cts = new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(1));
         Assert.IsTrue(await subscriptionClient.ReceiveNextAsync(cts.Token));

         Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>> rpcResult = await rpcClient.GetUpwardMessages();

         // Test that the expected mockup value matches the actual result from RPC service.
         Assert.AreEqual(mockupValue.Encode(), rpcResult.Encode());
      }
      public Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>> GetTestValue50()
      {
         Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>> result;
         result = new Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>>();
         result.Create(new Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>[] {
                  this.GetTestValue51()});
         return result;
      }
      public Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8> GetTestValue51()
      {
         Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8> result;
         result = new Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>();
         result.Create(new Ajuna.NetApi.Model.Types.Primitive.U8[] {
                  this.GetTestValueU8()});
         return result;
      }
      [Test()]
      public async System.Threading.Tasks.Task TestPendingUpwardMessages()
      {
         // Construct new Mockup client to test with.
         ParachainSystemControllerMockupClient mockupClient = new ParachainSystemControllerMockupClient(_httpClient);

         // Construct new subscription client to test with.
         var subscriptionClient = CreateSubscriptionClient();

         // Construct new RPC client to test with.
         ParachainSystemControllerClient rpcClient = new ParachainSystemControllerClient(_httpClient, subscriptionClient);
         Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>> mockupValue = this.GetTestValue50();


         Assert.IsTrue(await rpcClient.SubscribePendingUpwardMessages());

         // Save the previously generated mockup value in RPC service storage.
         bool mockupSetResult = await mockupClient.SetPendingUpwardMessages(mockupValue);

         // Test that the expected mockup value was handled successfully from RPC service.
         Assert.IsTrue(mockupSetResult);
         var cts = new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(1));
         Assert.IsTrue(await subscriptionClient.ReceiveNextAsync(cts.Token));

         Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>> rpcResult = await rpcClient.GetPendingUpwardMessages();

         // Test that the expected mockup value matches the actual result from RPC service.
         Assert.AreEqual(mockupValue.Encode(), rpcResult.Encode());
      }
      [Test()]
      public async System.Threading.Tasks.Task TestAnnouncedHrmpMessagesPerCandidate()
      {
         // Construct new Mockup client to test with.
         ParachainSystemControllerMockupClient mockupClient = new ParachainSystemControllerMockupClient(_httpClient);

         // Construct new subscription client to test with.
         var subscriptionClient = CreateSubscriptionClient();

         // Construct new RPC client to test with.
         ParachainSystemControllerClient rpcClient = new ParachainSystemControllerClient(_httpClient, subscriptionClient);
         Ajuna.NetApi.Model.Types.Primitive.U32 mockupValue = this.GetTestValueU32();


         Assert.IsTrue(await rpcClient.SubscribeAnnouncedHrmpMessagesPerCandidate());

         // Save the previously generated mockup value in RPC service storage.
         bool mockupSetResult = await mockupClient.SetAnnouncedHrmpMessagesPerCandidate(mockupValue);

         // Test that the expected mockup value was handled successfully from RPC service.
         Assert.IsTrue(mockupSetResult);
         var cts = new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(1));
         Assert.IsTrue(await subscriptionClient.ReceiveNextAsync(cts.Token));

         Ajuna.NetApi.Model.Types.Primitive.U32 rpcResult = await rpcClient.GetAnnouncedHrmpMessagesPerCandidate();

         // Test that the expected mockup value matches the actual result from RPC service.
         Assert.AreEqual(mockupValue.Encode(), rpcResult.Encode());
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.sp_weights.weight_v2.Weight GetTestValue54()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.sp_weights.weight_v2.Weight result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.sp_weights.weight_v2.Weight();
         result.RefTime = new Ajuna.NetApi.Model.Types.Base.BaseCom<Ajuna.NetApi.Model.Types.Primitive.U64>();
         result.RefTime.Create(new Ajuna.NetApi.CompactInteger(this.GetTestValueU64().Value));
         result.ProofSize = new Ajuna.NetApi.Model.Types.Base.BaseCom<Ajuna.NetApi.Model.Types.Primitive.U64>();
         result.ProofSize.Create(new Ajuna.NetApi.CompactInteger(this.GetTestValueU64().Value));
         return result;
      }
      [Test()]
      public async System.Threading.Tasks.Task TestReservedXcmpWeightOverride()
      {
         // Construct new Mockup client to test with.
         ParachainSystemControllerMockupClient mockupClient = new ParachainSystemControllerMockupClient(_httpClient);

         // Construct new subscription client to test with.
         var subscriptionClient = CreateSubscriptionClient();

         // Construct new RPC client to test with.
         ParachainSystemControllerClient rpcClient = new ParachainSystemControllerClient(_httpClient, subscriptionClient);
         Bajun.Network.NET.NetApiExt.Generated.Model.sp_weights.weight_v2.Weight mockupValue = this.GetTestValue54();


         Assert.IsTrue(await rpcClient.SubscribeReservedXcmpWeightOverride());

         // Save the previously generated mockup value in RPC service storage.
         bool mockupSetResult = await mockupClient.SetReservedXcmpWeightOverride(mockupValue);

         // Test that the expected mockup value was handled successfully from RPC service.
         Assert.IsTrue(mockupSetResult);
         var cts = new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(1));
         Assert.IsTrue(await subscriptionClient.ReceiveNextAsync(cts.Token));

         Bajun.Network.NET.NetApiExt.Generated.Model.sp_weights.weight_v2.Weight rpcResult = await rpcClient.GetReservedXcmpWeightOverride();

         // Test that the expected mockup value matches the actual result from RPC service.
         Assert.AreEqual(mockupValue.Encode(), rpcResult.Encode());
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.sp_weights.weight_v2.Weight GetTestValue56()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.sp_weights.weight_v2.Weight result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.sp_weights.weight_v2.Weight();
         result.RefTime = new Ajuna.NetApi.Model.Types.Base.BaseCom<Ajuna.NetApi.Model.Types.Primitive.U64>();
         result.RefTime.Create(new Ajuna.NetApi.CompactInteger(this.GetTestValueU64().Value));
         result.ProofSize = new Ajuna.NetApi.Model.Types.Base.BaseCom<Ajuna.NetApi.Model.Types.Primitive.U64>();
         result.ProofSize.Create(new Ajuna.NetApi.CompactInteger(this.GetTestValueU64().Value));
         return result;
      }
      [Test()]
      public async System.Threading.Tasks.Task TestReservedDmpWeightOverride()
      {
         // Construct new Mockup client to test with.
         ParachainSystemControllerMockupClient mockupClient = new ParachainSystemControllerMockupClient(_httpClient);

         // Construct new subscription client to test with.
         var subscriptionClient = CreateSubscriptionClient();

         // Construct new RPC client to test with.
         ParachainSystemControllerClient rpcClient = new ParachainSystemControllerClient(_httpClient, subscriptionClient);
         Bajun.Network.NET.NetApiExt.Generated.Model.sp_weights.weight_v2.Weight mockupValue = this.GetTestValue56();


         Assert.IsTrue(await rpcClient.SubscribeReservedDmpWeightOverride());

         // Save the previously generated mockup value in RPC service storage.
         bool mockupSetResult = await mockupClient.SetReservedDmpWeightOverride(mockupValue);

         // Test that the expected mockup value was handled successfully from RPC service.
         Assert.IsTrue(mockupSetResult);
         var cts = new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(1));
         Assert.IsTrue(await subscriptionClient.ReceiveNextAsync(cts.Token));

         Bajun.Network.NET.NetApiExt.Generated.Model.sp_weights.weight_v2.Weight rpcResult = await rpcClient.GetReservedDmpWeightOverride();

         // Test that the expected mockup value matches the actual result from RPC service.
         Assert.AreEqual(mockupValue.Encode(), rpcResult.Encode());
      }
      public Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256 GetTestValue58()
      {
         Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256 result;
         result = new Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256();
         result.Value = new Bajun.Network.NET.NetApiExt.Generated.Types.Base.Arr32U8();
         result.Value.Create(new Ajuna.NetApi.Model.Types.Primitive.U8[] {
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8(),
                  this.GetTestValueU8()});
         return result;
      }
      [Test()]
      public async System.Threading.Tasks.Task TestAuthorizedUpgrade()
      {
         // Construct new Mockup client to test with.
         ParachainSystemControllerMockupClient mockupClient = new ParachainSystemControllerMockupClient(_httpClient);

         // Construct new subscription client to test with.
         var subscriptionClient = CreateSubscriptionClient();

         // Construct new RPC client to test with.
         ParachainSystemControllerClient rpcClient = new ParachainSystemControllerClient(_httpClient, subscriptionClient);
         Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256 mockupValue = this.GetTestValue58();


         Assert.IsTrue(await rpcClient.SubscribeAuthorizedUpgrade());

         // Save the previously generated mockup value in RPC service storage.
         bool mockupSetResult = await mockupClient.SetAuthorizedUpgrade(mockupValue);

         // Test that the expected mockup value was handled successfully from RPC service.
         Assert.IsTrue(mockupSetResult);
         var cts = new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(1));
         Assert.IsTrue(await subscriptionClient.ReceiveNextAsync(cts.Token));

         Bajun.Network.NET.NetApiExt.Generated.Model.primitive_types.H256 rpcResult = await rpcClient.GetAuthorizedUpgrade();

         // Test that the expected mockup value matches the actual result from RPC service.
         Assert.AreEqual(mockupValue.Encode(), rpcResult.Encode());
      }
      public Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8> GetTestValue60()
      {
         Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8> result;
         result = new Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8>();
         result.Create(new Ajuna.NetApi.Model.Types.Primitive.U8[] {
                  this.GetTestValueU8()});
         return result;
      }
      [Test()]
      public async System.Threading.Tasks.Task TestCustomValidationHeadData()
      {
         // Construct new Mockup client to test with.
         ParachainSystemControllerMockupClient mockupClient = new ParachainSystemControllerMockupClient(_httpClient);

         // Construct new subscription client to test with.
         var subscriptionClient = CreateSubscriptionClient();

         // Construct new RPC client to test with.
         ParachainSystemControllerClient rpcClient = new ParachainSystemControllerClient(_httpClient, subscriptionClient);
         Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8> mockupValue = this.GetTestValue60();


         Assert.IsTrue(await rpcClient.SubscribeCustomValidationHeadData());

         // Save the previously generated mockup value in RPC service storage.
         bool mockupSetResult = await mockupClient.SetCustomValidationHeadData(mockupValue);

         // Test that the expected mockup value was handled successfully from RPC service.
         Assert.IsTrue(mockupSetResult);
         var cts = new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(1));
         Assert.IsTrue(await subscriptionClient.ReceiveNextAsync(cts.Token));

         Ajuna.NetApi.Model.Types.Base.BaseVec<Ajuna.NetApi.Model.Types.Primitive.U8> rpcResult = await rpcClient.GetCustomValidationHeadData();

         // Test that the expected mockup value matches the actual result from RPC service.
         Assert.AreEqual(mockupValue.Encode(), rpcResult.Encode());
      }
   }
}
