function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Prallavi DuaPrallavi Dua 

Test Class for Multiselect Picklist in Salesforce

Hi,
Below Code is the VF page and Controller for MultiSelect Picklist and also the test Class, But the code Coverage is 89%.
Can anyone please help me for 100% code coverage.
<apex:page controller="MultiSelectController">
    <style>
        .box{
            width :100px;
            length : 100px;
        
        }
    </style>
    <apex:form >
        <apex:panelGrid id="one" columns="3">
            <apex:selectList multiselect="true" styleClass="checkbox" value="{!added}">
                <apex:selectOptions value="{!selected}"></apex:selectOptions>
            </apex:selectList>
            <apex:panelGrid columns="1">
                <apex:commandButton action="{!addcities}" value="ADD" reRender="one"/>
                <apex:commandButton action="{!delcities}" value="DEL" reRender="one"/>
            </apex:panelGrid>
            <apex:selectList multiselect="true" styleClass="check" value="{!deleted}">
                <apex:selectOptions value="{!unSelected}"></apex:selectOptions>
            </apex:selectList>
        </apex:panelGrid>
            
    </apex:form>
</apex:page>
-----------------------------------------------------
public class MultiSelectController {
    public List<String> added{get;set;}
    public List<String> deleted{get;set;}
    public List<SelectOption> selected{get;set;}
    public List<SelectOption> unSelected{get;set;}
    public Set<String> sel{get;set;}
    public set<String> unsel{get;set;}
    
    public MultiSelectController(){
    added = new List<string>();
    deleted = new List<String>();
        sel = new Set<string>();
    unsel= new Set<String>();
    selected = new List<SelectOption>();
    unSelected = new List<selectOption>();
        List<String> cities = new List<String>{'HYD','Bang','Delhi','Pune','Mumbai'};
            unsel.addAll(cities);
        getData();
    }
    public void getData(){
        selected.clear();
        unSelected.clear();
        SelectOption op1 = new SelectOption('none','-None-');
        if(unsel.size()>0){
            for(String s1 : unsel){
                SelectOption op = new SelectOption(s1,s1);
               selected.add(op);
            }
           
        }
         else{
              Selected.add(op1);  
            }
            
        if(sel.size()>0){
            for(String s2:sel){
            selectOption op2 = new Selectoption(s2,s2);
                unSelected.add(op2);
                }
        }
        else{
            unselected.add(op1);
        }
    }
    public void addcities(){
    unsel.removeAll(added);
      sel.addAll(added);
      added.clear();
        getData();  
    }
    public void delcities(){
      sel.removeAll(deleted);
     unsel.addAll(deleted);
        getData();     
    }
}
----------------------------------------
@isTest
public class MiltiSelectTest {
      public static testMethod void TestController(){
      PageReference pagref = Page.MiltiSelect;
        Test.setCurrentPageReference(pagref);
          test.startTest();
          MultiSelectController MSP = new MultiSelectController();
          //MSP.addcities()
          MSP.addcities();
          MSP.delcities();
          MSP.getData();
          //MSP.unsel;
      test.stopTest();
      }

}
Akshay_DhimanAkshay_Dhiman
Hi Prallavi,
Please try the given code
 
@isTest
public class MiltiSelectTest {
      public static testMethod void TestController(){
      PageReference pagref = Page.MiltiSelect;
        Test.setCurrentPageReference(pagref);
          test.startTest();
    	set<String> cities = new set<String>{'HYD','Bang','Delhi','Pune','Mumbai'};
            set<String> cities1 = new set<String>();
          MultiSelectController MSP = new MultiSelectController();
          MSP.unsel = cities1;
          MSP.sel = cities;
          MSP.addcities();
          MSP.delcities();
          MSP.getData();
      test.stopTest();
      }
}

Regards,
Akshay​