+ Start a Discussion
sgsssgss 

map test class with postive negative test case

Prepare the following map structures :
 
 Code:
 /** a. Account Name as key and AccountId as value.*/
 public class AccountMapClass {
  public static Map<String,String> accountMap(){
        Map<String,String> mapAccount = new Map<String,String>();
        for (Account acc :[SELECT Name,Id
                          FROM Account])
        {
            mapAccount.put(acc.Name,acc.Id);
        }
        System.debug(mapAccount);
        return mapAccount;
    }
    
  /*b. Account Id as key and entire Account object as value*/      
    public static Map<String, Account> accountMapNew(){
        Map<String, Account> mapAccount = new Map<String, Account>();
        for(Account accountObject  : [SELECT Id,Name,BillingAddress 
                                     FROM Account])
        {
            mapAccount.put(accountObject.Id, accountObject);
        }
        System.debug(mapAccount);
        return mapAccount;
    }    
}

Can anyone help in Test Class for following code. Considering positive and negative test Cases for both methods.
Best Answer chosen by sgss
devedeve
Hi Supriya,

TestClass for this class:-

@isTest
private class AccountMapClassTest {
    
    @isTest
    static void testaccountMapReturnAccount() {
        Account account = new Account(Name='testAccount');
        insert account;
        
        Test.startTest();
            Map<String,String> accountMap = AccountMapClass.accountMap();
        Test.stopTest();
        
        System.assertEquals(true, accountMap.size()>0, 'retuens account');
    }
    
    @isTest
    static void testaccountMapNotReturnAccount() {
        
        Test.startTest();
            Map<String,String> accountMap = AccountMapClass.accountMap();
        Test.stopTest();
        
        System.assertEquals(true, accountMap.size()==0, 'not returns account');
    }
    
    @isTest
    static void testaccountMapNewReturnAccount() {
        Account account = new Account(Name='testAccount');
        insert account;
        
        Test.startTest();
            Map<String,String> accountMap = AccountMapClass.accountMap();
        Test.stopTest();
        
        System.assertEquals(true, accountMap.size()>0, 'retuens account');
    }
    
    @isTest
    static void testaccountMapNewNotReturnAccount() {
        
        Test.startTest();
            Map<String,Account> accountMap = AccountMapClass.accountMapNew();
        Test.stopTest();
        
        System.assertEquals(true, accountMap.size()==0, 'not returns account');
    }
       
}

All Answers

devedeve
Hi Supriya,

TestClass for this class:-

@isTest
private class AccountMapClassTest {
    
    @isTest
    static void testaccountMapReturnAccount() {
        Account account = new Account(Name='testAccount');
        insert account;
        
        Test.startTest();
            Map<String,String> accountMap = AccountMapClass.accountMap();
        Test.stopTest();
        
        System.assertEquals(true, accountMap.size()>0, 'retuens account');
    }
    
    @isTest
    static void testaccountMapNotReturnAccount() {
        
        Test.startTest();
            Map<String,String> accountMap = AccountMapClass.accountMap();
        Test.stopTest();
        
        System.assertEquals(true, accountMap.size()==0, 'not returns account');
    }
    
    @isTest
    static void testaccountMapNewReturnAccount() {
        Account account = new Account(Name='testAccount');
        insert account;
        
        Test.startTest();
            Map<String,String> accountMap = AccountMapClass.accountMap();
        Test.stopTest();
        
        System.assertEquals(true, accountMap.size()>0, 'retuens account');
    }
    
    @isTest
    static void testaccountMapNewNotReturnAccount() {
        
        Test.startTest();
            Map<String,Account> accountMap = AccountMapClass.accountMapNew();
        Test.stopTest();
        
        System.assertEquals(true, accountMap.size()==0, 'not returns account');
    }
       
}
This was selected as the best answer
sgsssgss
Thanks