I have this Test Class for Batch Job

```
public class ContactBatchProcess_Dialy_Test {
    static testmethod void ContactBatchProcess_Dialy_Test(){

            // Account Record Type
            Schema.DescribeSObjectResult d = Schema.SObjectType.Account; 
            Map<String,Schema.RecordTypeInfo> rtMapByName = d.getRecordTypeInfosByName();
          map<Id, Contact> acctChangeContactsMap = new map<Id, Contact>();
            ContactAccountChangeUpdateEndDate.ContactAccountChangeUpdateEndDate(acctChangeContactsMap);

            //Insert Account Code 1 (Null Current Proposal Number)
            Account_Code__c acctCode1 = new Account_Code__c();
            acctCode1.Account_Code__c = 'PHZ';
            insert acctCode1;

            //Insert Account Code 1 (Null Current Proposal Number)
            Account_Code__c acctCode2 = new Account_Code__c();
            acctCode2.Account_Code__c = 'NOV';
            insert acctCode2;

            //Insert Account
            Account account = new Account();
            account.RecordTypeId = rtMapByName.get('Customer/Prospect').getRecordTypeId();
            account.Name = 'TEST ACCOUNT';
            account.Type = 'Global HQ';
            account.Business_Type__c = 'Large Pharmaceutical';
            account.BillingStreet = 'Test Street';
            account.BillingCity = 'Test City';
            account.BillingCountry = 'US';
            account.Billingstate = 'Alabama';
            account.Account_Code__c = acctCode1.Id;
            account.Insideview_ID__c = '12345678';
            insert account;

            //Insert Account
            Account account2 = new Account();
            account2.RecordTypeId = rtMapByName.get('Customer/Prospect').getRecordTypeId();
            account2.Name = 'TEST ACCOUNT2';
            account2.Type = 'Global HQ';
            account2.Business_Type__c = 'Large Pharmaceutical';
            account2.BillingStreet = 'Test Street';
            account2.BillingCity = 'Test City';
            account2.BillingCountry = 'US';
            account2.Billingstate = 'Alabama';
            account2.Account_Code__c = acctCode2.Id;
            account2.Insideview_ID__c = '12345678';
            insert account2;

            Contact ct1 = new Contact();
            ct1.FirstName = 'Garry';
            ct1.LastName = 'Page';
            ct1.Email='larry.page@test.com';
            ct1.Title = 'CEO';
            ct1.Phone = '111-111-1111';
            ct1.AccountId= account.id;
            ct1.InsideView_Id__c = '12121212';
            ct1.InsideView_People_Id__c = 'rl8sVlDHGchIB2aTIf62EzFF-s8UnsBp-UXeLQpGFcVNMJWPrMJUEhQ69eRdwxyz';    
            insert ct1;

            ct1.AccountId = account2.id;

            update ct1;

            test.startTest();
                 ContactBatchProcess_Dialy  ivapi = new ContactBatchProcess_Dialy();
                 DateTime dt10mins = system.now().addminutes(1);
                 String Sch = '0 ' + dt10mins.minute() + ' ' + dt10mins.hour() + ' ' + dt10mins.day() + ' ' + dt10mins.month() + ' ? ' + dt10mins.year();                    
                 System.schedule('ContactBatchProcess_Dialy', Sch, ivapi);
            test.stopTest(); 

        }
    }
}

```

I have this class, Did I call the this Apex class in this test class correctly? i'm stuck at 57 %

```
public with sharing class ContactAccountChangeUpdateEndDate {
    public static void ContactAccountChangeUpdateEndDate (map<Id, Contact> acctChangeContactsMap){
    Datetime today = system.today();
    List<AccountContactRelation> acccn = new List<AccountContactRelation>();
    List<Accountcontactrelation> acrn = 
                                         [SELECT AccountId, ContactId, Lastmodifieddate
                                          FROM AccountContactRelation 
                                          where contactid in : acctChangeContactsMap.keyset() and lastmodifieddate = today];

        for (Accountcontactrelation arnt : acrn){ 
                //in the event that the AccountID is not equal to AccountID, it will update the enddate to today's date
                if(arnt.accountid != acctChangeContactsMap.get(arnt.contactid).accountId){ 
                     arnt.enddate = system.today();
                     acccn.add(arnt); 
                  }
                //in the event that the AccountID is equal to Accountid, it will update the enddate to null
                else if(arnt.accountid == acctChangeContactsMap.get(arnt.contactid).accountId){ 
                arnt.enddate = NULL;
                acccn.add(arnt); 
            }
        }   
        //Updates the Enddate to Today/NULL
        update acccn;
        } 
    }

```

While having this BatchJob Class

```
global class ContactBatchProcess_Dialy implements Schedulable{
    global void execute(SchedulableContext SC){
            map<Id, Contact> acctChangeContactsMap = new map<Id, Contact>();
            String[] historyFields = new String[]{'Account'};  
            Map<Id, Contact> contacts = new Map<Id, Contact>();    
            for(Contact cnt : [Select Id, name, createdById, LastModifiedById, Account.name, LastModifiedBy.name, 
                              (Select Field, createdById From Histories 
                               Where Field IN :historyFields 
                               AND DAY_ONLY(CreatedDate) = :system.today())                                       
                               From Contact 
                               Where DAY_ONLY(LastModifiedDate) = :system.today()]){
               boolean accountChanged = false;                    
               for(contactHistory cnth : cnt.histories){ 
                    if(cnth.field == 'Account')
                        accountChanged = true;
               }    
               if(accountChanged)
                   acctChangeContactsMap.put(cnt.id, cnt);
            }                       
            //Call process - Email notification to ACC and creator when Account name changes
            if(acctChangeContactsMap.size() > 0)
            ContactAccountChangeUpdateEndDate.ContactAccountChangeUpdateEndDate(acctChangeContactsMap);
                //contactAccountNameChangeNotification.emailNotification(acctChangeContactsMap);  

    }
}

```