


test.transactions 	-> transaction.pay
				-> get.connection


			-> transaction.balance
			




class project.Main extends Thing {

	void DEFINITION () {
		NAME("project.Main");
		DEFINE_RESULT(RESULT_1, "objective.1", PASS_FAIL);
		DEFINE_RESULT(RESULT_2, "objective.2", PASS_FAIL);

		REQUIRE_PROPERTY(REQUIRED, "Target");
		REQUIRE_PROPERTY(REQUIRED, "ListFile");


		


		ACCUMULATION(SEND_ACCUMULATION_S, "send.totals.seconds", ACCUMULATION, TIME_BUCKET, 1000);
		ACCUMULATION(SEND_ACCUMULATION_M, "send.totals.minutes", ACCUMULATION, TIME_BUCKET, 60000);
		ACCUMULATION(SEND_ACCUMULATION_E, "send.totals.events", ACCUMULATION, EVENT_BUCKET, 100);

		// EVENT(SEND_EVENT, "sent", EXPRESS);




	}

	void PROCESS(TABLE	information) {
		
		// Setup
		Sender 	sender = new Sender():
		sender.init(information.get("Name"));
		
		Lister lister = new Lister();
		lister.init(information.get("ListFile"));		

		SET_RESULT(RESULT_1, PASS);

		// Run it
		for (ListItem item : lister) {
			Result = sender.send(item);			
			RECORD_RESULT(SEND_ACCUMULATION_M, Result);
			EXPRESS(Result);
			EXPRESS(Result, Named_Result_Expressor);
		}
		SET_RESULT(RESULT_2, PASS);			

	} 



	void RESULTS() {

	}

	// void EVENTS(Result resultEvent) {
	// 
	// }


}