Assegnazione di più assegnazioni rispetto alla ricerca di HashTable

0

Sto scrivendo un CUIT (Coded UI Test) e sto sostituendo le variabili con i dati recuperati da un csv.

Esempio:

this.UIMap.IDBParams.UITboxFsEditText = TestContext.DataRow["num_fs"].ToString();
this.UIMap.IDBParams.UIArmGlCheckBoxChecked = Convert.ToBoolean(TestContext.DataRow["arm_gl"]);

Ma devo definire oltre 100 variabili .

Il mio concetto di come implementare una tabella di hash qui è:

  • All'avvio recupera tutte le variabili su ciascun metodo di prova e crea una nuova HashMap con le variabili come chiave. Es:

    {
     this.UIMap.IDBParams.UITboxFsEditText :  ,
     this.UIMap.IDBParams.UIArmGlCheckBoxChecked : ,
    } //indented just for visual clarity 
    
  • Recupera le colonne csv e assegnale come valore per ogni chiave. Es:

    {
     this.UIMap.IDBParams.UITboxFsEditText : 
        TestContext.DataRow["num_fs"].ToString() ,
     this.UIMap.IDBParams.UIArmGlCheckBoxChecked : 
        Convert.ToBoolean(TestContext.DataRow["arm_gl"]) ,
    } //indented just for visual clarity
    

È questo l'approccio migliore?

La lettura di un indice HashTable (es: MyTable['UiTboxFsEditText'] ) ha lo stesso effetto della riga this.UIMap.IDBParams.UITboxFsEditText = TestContext.DataRow["num_fs"].ToString(); ?

    
posta Onilol 05.11.2015 - 19:24
fonte

1 risposta

1

Mi sembra che tu stia facendo la stessa quantità di lavoro in ogni caso. In un posto stai compilando una HashMap e l'altra stai facendo assegnamento variabile. Forse uno è meno linee di codice? Quasi sicuramente la versione che usa HashMap sarà un po 'più complicata (a causa dell'indirizzamento indiretto) rispetto alla versione che usa un semplice compito. Non ci saranno quasi differenze nelle prestazioni di runtime.

Devi chiedertelo se vale davvero la pena di spendere gli sforzi per progettare la versione di HashMap quando c'è poco da guadagnare. Soprattutto nel codice di prova, che dovresti cercare di rendere semplice.

    
risposta data 05.11.2015 - 20:13
fonte

Leggi altre domande sui tag