You need to sign in to do that
Don't have an account?
John Athitakis
Test Class Question: Method does not exist or incorrect signature: system.assertEquals(Decimal)
Getting a strange error on some test cases when comparing two decimal values together. Error occurs on line 27 and would probably occur again on line 32.
@isTest /* Author: -- Test for Trigger: PR2PO_ExchangeRateTest */ public class PR2PO_ExchangeRateTest { static testMethod void validateExchangeTrigger() { //Logic: Vendor__c vendor=new Vendor__c(); vendor.Name='Test'; vendor.Billing_Contact_Email__c='test@puppetlabs.com'; insert vendor; Vendor__c vendorInserted = [SELECT Id FROM Vendor__c WHERE Billing_Contact_Email__c = 'test@puppetlabs.com' ]; Purchase_Order__c order = new Purchase_Order__c(); order.Vendor__c = vendorInserted.Id; order.Name = 'PO-99999-Test'; order.Terms__c = 'Net 30'; order.Currency__c= 'GBP'; order.Currency_Base__c='GBP'; string newCurrencyCode=order.Currency_Base__c; order.Total__c=100.50; test.startTest(); date startOfMonth = date.today().toStartofMonth().addMonths(-1); insert order; system.assertEquals(startOfMonth , date.today().toStartofMonth().addMonths(-1)); Exchange_Rate__c exchangeRate = [SELECT ConversionRate__c FROM Exchange_Rate__c WHERE StartDate__c <= today AND StartDate__c >= :startOfMonth AND IsoCode__c = :newCurrencyCode ORDER BY StartDate__c DESC LIMIT 1]; system.assertEquals(order.ExchRate_to_USD__c = exchangeRate.ConversionRate__c); order.Currency__c= 'EUR'; order.Currency_Base__c='EUR'; update order; system.assertEquals(startOfMonth , date.today().toStartofMonth().addMonths(-1)); Exchange_Rate__c exchangeRate2 = [SELECT ConversionRate__c FROM Exchange_Rate__c WHERE StartDate__c <= today AND StartDate__c >= :startOfMonth AND IsoCode__c = :newCurrencyCode ORDER BY StartDate__c DESC LIMIT 1]; system.assertEquals(order.ExchRate_to_USD__c = exchangeRate2.ConversionRate__c); order.Currency__c= 'USD'; order.Currency_Base__c='USD'; update order; system.assertEquals(order.ExchRate_to_USD__c = 1.0); test.stopTest(); } }
System.assertEquals accepts two or three Object parameters.
So in your case the invocation should look like below,
system.assertEquals(order.ExchRate_to_USD__c , exchangeRate.ConversionRate__c);
Hope this helps
All Answers
System.assertEquals accepts two or three Object parameters.
So in your case the invocation should look like below,
system.assertEquals(order.ExchRate_to_USD__c , exchangeRate.ConversionRate__c);
Hope this helps