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
up_skyup_sky 

I need help for creating Apex test class

Hello

 

I am new to Apex and just starting to learn it, so I would appreciate any help here.

 

I was informed the class needs to pass 75% before I can depoly it to my production org

 

Can anyone help me write a Test Class for this?

 

public class CMIAExecResult {
	public static CMIAJsonEntryMap createErrorResult(String msg) {
		CMIAJsonEntryMap r = new CMIAJsonEntryMap();
		r.addEntry(new CMIAJsonEntryPair('result', CMIAJsonEntryBool.R_FALSE));
		r.addEntry(new CMIAJsonEntryPair('msg', new CMIAJsonEntryString(msg)));
		return r;
	}

	public static CMIAJsonEntryMap createSuccessResult() {
		CMIAJsonEntryMap r = new CMIAJsonEntryMap();
		r.addEntry(new CMIAJsonEntryPair('result', CMIAJsonEntryBool.R_TRUE));
		return r;
	}
	
}

 For reference class

public class CMIAJsonEntryMap implements CMIAJsonEntry {
	private LIST<CMIAJsonEntryPair> pairs;

	public CMIAJsonEntryMap() {
		pairs = new LIST<CMIAJsonEntryPair>();
	}
	
	public void addEntry(CMIAJsonEntryPair p) {
		pairs.add(p);
	}
	
	public void addEntry(String key, CMIAJsonEntry value) {
		pairs.add(new CMIAJsonEntryPair(key, value));
	}
	
	public void addEntry(String key, boolean value) {
		pairs.add(new CMIAJsonEntryPair(key, value ? CMIAJsonEntryBool.R_TRUE : CMIAJsonEntryBool.R_FALSE));
	}

	public void addEntry(String key, double value) {
		pairs.add(new CMIAJsonEntryPair(key, new CMIAJsonEntryDouble(value)));
	}
	
	public void addEntry(String key, integer value) {
		pairs.add(new CMIAJsonEntryPair(key, new CMIAJsonEntryInt(value)));		
	}
	
	public void addEntry(String key, String value) {
		pairs.add(new CMIAJsonEntryPair(key, new CMIAJsonEntryString(value)));		
	}
	
	public String render() {
		String r = '{';
		integer last = pairs.size() - 1;
		for (integer i = 0; i < pairs.size(); i++) {
			r = r + pairs.get(i).render();
			if (i != last)
				r = r + ', ';
		}
		return r + ' }' + '\n';
	}
		 

static testmethod void testOne() {

        CMIAJsonEntryMap cmj = new CMIAJsonEntryMap();

		String str1='test';
		
		CMIAJsonEntry cmia1;
		
		cmj.addEntry(str1,cmia1);
		
		CMIAJsonEntryPair cmia= new CMIAJsonEntryPair();
		
		cmj.addEntry(cmia);
		
		Boolean bol= true;
		
		cmj.addEntry(str1,bol);
		
		Double value1=4.124563;
		
		cmj.addEntry(str1,value1);
		
		Integer int1=898;
		
		cmj.addEntry(str1,int1);
		
		String str2='test2';
		
		cmj.addEntry(str1,str2);
		
		cmj.render();
		}
}

 

and

public class CMIAJsonEntryPair implements CMIAJsonEntry {
	private String key;
	private CMIAJsonEntry value;
	
	public CMIAJsonEntryPair(){
		
	}
		
	public CMIAJsonEntryPair(String key, CMIAJsonEntry value) {
		this.key = key;
		this.value = value;
	}
	
	public String render() {
		return '"' + key + '" : ' + value.render();
	}
	
	static testmethod void testOne() {

           String key = 'mykey';

           CMIAJsonEntry cmiaMap;   // any concrete class that implements CMIAJsonEntry could go here.

           CMIAJsonEntryPair cmia = new CMIAJsonEntryPair( key, cmiaMap );

           String rendered  =  cmia.render(); 


	}
}

 Thank you in advance,

 

Apple

 

Best Answer chosen by Admin (Salesforce Developers) 
Damien_Damien_

http://wiki.developerforce.com/page/An_Introduction_to_Apex_Code_Test_Methods

 

This link should get you started writing test methods/classes.  If you have a more specific question, feel free to ask.