public void PropagateToDataRecord(bool simulateDbNull)
        {
            TestDataHelper <TestDataRecord, TestDataRecord> info = new(simulateDbNull : simulateDbNull, useConverter : false);
            DynamicMethodModelFactory          modelFactory      = new(info.DatabaseMapper);
            Func <IDataReader, TestDataRecord> factory           = modelFactory.GetFactory <TestDataRecord>(info.DataReader);

            TestDataRecord actual   = factory(info.DataReader);
            TestDataRecord expected = simulateDbNull
                ? TestDataRecord.CreateWithNulledProperties()
                : TestDataRecord.CreateWithDbValuesProperties();

            actual.Should().BeEquivalentTo(expected);
        }
        async void CallApi()
        {
            var testInfoApi      = RestService.For <ApiConnectionForTestPackage>(Utility.stapibaseUrl);
            var testInfoResponse = await testInfoApi.GetSTInfo(Testid + "");

            testDataRecord = JsonConvert.DeserializeObject <TestDataRecord>(testInfoResponse.Data);
            string language = testDataRecord.Languages;

            string[] languacodearray = language.Split(",");
            for (int i = 0; i < languacodearray.Count(); i++)
            {
                languagecodelist.Add(languacodearray[i]);
                languagelist.Add(languacodearray[i].ToUpper());
            }
            var adapter = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleSpinnerItem, languagelist);

            adapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
            Spnlanguage.Adapter       = adapter;
            Spnlanguage.ItemSelected += Spnlanguage_ItemSelected;
            try
            {
                testInfoList = testDataRecord.SubPattern;
            }
            catch (Exception)
            {
                Intent resultIntent = new Intent();
                resultIntent.PutExtra("serilizeObj", MyTest.SerilizeString);
                resultIntent.PutExtra("testtype", testtype);
                SetResult(Result.Ok, resultIntent);

                Finish();
                //MyTest.activity.Finish();
                //var intent1 = new Intent(this, typeof(MyTest));
                //intent1.PutExtra("serilizeObj", MyTest.SerilizeString);
                //StartActivity(intent1);
                OverridePendingTransition(Resource.Animation.hold, Resource.Animation.slide_right);
                return;
            }


            startingquestionposition.Add(mycounter);
            testInfoList.Sort((x, y) => x.SeqNo.CompareTo(y.SeqNo));
            for (int i = 0; i < testInfoList.Count; i++)
            {
                testInfoList[i].Duration = testInfoList[i].Duration * 60 * 1000;
                //testInfoList[i].Duration = 20 * 1000;

                if (i != 0)
                {
                    mycounter = mycounter + testInfoList[i - 1].TotalQuestion;
                    startingquestionposition.Add(mycounter);
                }
                items.Add(testInfoList[i].SubjectTitle);
                subjectid.Add(testInfoList[i].SubjectID);
                subjecttotalquestion.Add(testInfoList[i].TotalQuestion);
            }
            //  txtlanguage.Text = testDataRecord.Languages;
            txtnoofquestion.Text = testDataRecord.TotalQuestions + "";
            txttime.Text         = testDataRecord.Duration + "";
            txttotalmarks.Text   = testDataRecord.TotalMarks + "";
            mRecycleView         = FindViewById <RecyclerView>(Resource.Id.sectionalpatternlist);
            mLayoutManager       = new LinearLayoutManager(this);
            mRecycleView.SetLayoutManager(mLayoutManager);
            TestInstructionAdapter mAdapter = new TestInstructionAdapter(this, mRecycleView, testInfoList);

            mRecycleView.SetAdapter(mAdapter);
            cp.Dismiss();
        }