Exemplo n.º 1
0
func main() {

	var test_data [21]*calcProfitTest

	test_data[0] = new(calcProfitTest)
	test_data[0].amount = 10
	test_data[0].repaid_amount = 0
	test_data[0].time_start = 0
	test_data[0].time_finish = 300
	test_data[0].pct_array = []map[int64]map[string]float64{
		{0: {"user": 0.0059, "miner": 0.05}},
	}
	test_data[0].points_status_array = []map[int64]string{
		{0: "miner"},
		{101: "user"},
		{200: "miner"},
		{203: "miner"},
	}
	test_data[0].holidays_array = [][]int64{
		{130, 150},
	}
	test_data[0].max_promised_amount_array = []map[int64]string{
		{0: "1000"},
	}
	test_data[0].currency_id = 10
	test_data[0].result = 288977.43266019

	test_data[1] = new(calcProfitTest)
	test_data[1].amount = 10
	test_data[1].repaid_amount = 0
	test_data[1].time_start = 0
	test_data[1].time_finish = 300
	test_data[1].pct_array = []map[int64]map[string]float64{
		{0: {"user": 0.0059, "miner": 0.05}},
		{250: {"user": 0.0019, "miner": 0.01}},
		{300: {"user": 0.0029, "miner": 0.02}},
		{301: {"user": 0.0029, "miner": 0.03}},
	}
	test_data[1].points_status_array = []map[int64]string{
		{0: "miner"},
		{101: "user"},
		{200: "miner"},
		{203: "miner"},
	}
	test_data[1].holidays_array = [][]int64{
		{130, 150},
	}
	test_data[1].max_promised_amount_array = []map[int64]string{
		{0: "1000"},
	}
	test_data[1].currency_id = 10
	test_data[1].result = 41436.006657618

	test_data[2] = new(calcProfitTest)
	test_data[2].amount = 10
	test_data[2].repaid_amount = 0
	test_data[2].time_start = 0
	test_data[2].time_finish = 300
	test_data[2].pct_array = []map[int64]map[string]float64{
		{0: {"user": 0.0059, "miner": 0.05}},
		{250: {"user": 0.0019, "miner": 0.01}},
		{301: {"user": 0.0029, "miner": 0.03}},
		{300: {"user": 0.0029, "miner": 0.02}},
	}
	test_data[2].points_status_array = []map[int64]string{
		{0: "miner"},
		{101: "user"},
		{200: "miner"},
		{203: "miner"},
	}
	test_data[2].holidays_array = [][]int64{
		{130, 500},
	}
	test_data[2].max_promised_amount_array = []map[int64]string{
		{0: "1000"},
	}
	test_data[2].currency_id = 10
	test_data[2].result = 1627.6030645193

	test_data[3] = new(calcProfitTest)
	test_data[3].amount = 10
	test_data[3].repaid_amount = 0
	test_data[3].time_start = 0
	test_data[3].time_finish = 300
	test_data[3].pct_array = []map[int64]map[string]float64{
		{0: {"user": 0.0059, "miner": 0.05}},
		{250: {"user": 0.0019, "miner": 0.01}},
		{301: {"user": 0.0029, "miner": 0.03}},
		{300: {"user": 0.0029, "miner": 0.02}},
	}
	test_data[3].points_status_array = []map[int64]string{
		{0: "miner"},
		{101: "user"},
		{200: "miner"},
		{203: "miner"},
	}
	test_data[3].holidays_array = [][]int64{
		{130, 140},
		{150, 160},
		{170, 210},
	}
	test_data[3].max_promised_amount_array = []map[int64]string{
		{0: "1000"},
	}
	test_data[3].currency_id = 10
	test_data[3].result = 21317.770423946

	test_data[4] = new(calcProfitTest)
	test_data[4].amount = 10
	test_data[4].repaid_amount = 0
	test_data[4].time_start = 0
	test_data[4].time_finish = 300
	test_data[4].pct_array = []map[int64]map[string]float64{
		{0: {"user": 0.0059, "miner": 0.05}},
		{250: {"user": 0.0019, "miner": 0.01}},
		{300: {"user": 0.0029, "miner": 0.02}},
	}
	test_data[4].points_status_array = []map[int64]string{
		{0: "miner"},
		{101: "user"},
		{200: "miner"},
		{203: "miner"},
		{210: "user"},
	}
	test_data[4].holidays_array = [][]int64{
		{130, 140},
		{150, 160},
		{170, 210},
	}
	test_data[4].max_promised_amount_array = []map[int64]string{
		{0: "1000"},
	}
	test_data[4].currency_id = 10
	test_data[4].result = 2552.8073541488

	test_data[5] = new(calcProfitTest)
	test_data[5].amount = 10
	test_data[5].repaid_amount = 0
	test_data[5].time_start = 100
	test_data[5].time_finish = 300
	test_data[5].pct_array = []map[int64]map[string]float64{
		{0: {"user": 0.0059, "miner": 0.05}},
		{150: {"user": 0.0029, "miner": 0.02}},
	}
	test_data[5].points_status_array = []map[int64]string{
		{0: "miner"},
		{101: "user"},
		{200: "miner"},
	}
	test_data[5].holidays_array = [][]int64{
		{20, 30},
		{90, 100},
	}
	test_data[5].max_promised_amount_array = []map[int64]string{
		{0: "1000"},
	}
	test_data[5].currency_id = 10
	test_data[5].result = 107.29341748147

	test_data[6] = new(calcProfitTest)
	test_data[6].amount = 1500
	test_data[6].repaid_amount = 0
	test_data[6].time_start = 100
	test_data[6].time_finish = 300
	test_data[6].pct_array = []map[int64]map[string]float64{
		{0: {"user": 0.0059, "miner": 0.05}},
		{150: {"user": 0.0029, "miner": 0.02}},
	}
	test_data[6].points_status_array = []map[int64]string{
		{0: "miner"},
		{101: "user"},
		{200: "miner"},
	}
	test_data[6].holidays_array = [][]int64{
		{20, 30},
		{90, 150},
	}
	test_data[6].max_promised_amount_array = []map[int64]string{
		{0: "1000"},
		{150: "1600"},
	}
	test_data[6].currency_id = 1
	test_data[6].result = 15153.345929561

	test_data[7] = new(calcProfitTest)
	test_data[7].amount = 1500
	test_data[7].repaid_amount = 0
	test_data[7].time_start = 100
	test_data[7].time_finish = 300
	test_data[7].pct_array = []map[int64]map[string]float64{
		{0: {"user": 0.0059, "miner": 0.05}},
		{150: {"user": 0.0029, "miner": 0.02}},
	}
	test_data[7].points_status_array = []map[int64]string{
		{0: "miner"},
		{101: "user"},
		{200: "miner"},
	}
	test_data[7].holidays_array = [][]int64{
		{20, 30},
		{90, 150},
	}
	test_data[7].max_promised_amount_array = []map[int64]string{
		{0: "1000"},
		{150: "1600"},
		{210: "100"},
	}
	test_data[7].currency_id = 10
	test_data[7].result = 4139.6240767059

	test_data[8] = new(calcProfitTest)
	test_data[8].amount = 1500
	test_data[8].repaid_amount = 0
	test_data[8].time_start = 100
	test_data[8].time_finish = 300
	test_data[8].pct_array = []map[int64]map[string]float64{
		{0: {"user": 0.0059, "miner": 0.05}},
		{150: {"user": 0.0029, "miner": 0.02}},
	}
	test_data[8].points_status_array = []map[int64]string{
		{0: "miner"},
		{101: "user"},
		{200: "miner"},
	}
	test_data[8].holidays_array = [][]int64{
		{20, 30},
		{90, 150},
	}
	test_data[8].max_promised_amount_array = []map[int64]string{
		{0: "1000"},
		{150: "1600"},
		{210: "100"},
	}
	test_data[8].currency_id = 1
	test_data[8].result = 7738.6462401027

	test_data[9] = new(calcProfitTest)
	test_data[9].amount = 1500
	test_data[9].repaid_amount = 0
	test_data[9].time_start = 100
	test_data[9].time_finish = 300
	test_data[9].pct_array = []map[int64]map[string]float64{
		{0: {"user": 0.0059, "miner": 0.05}},
		{150: {"user": 0.0029, "miner": 0.02}},
	}
	test_data[9].points_status_array = []map[int64]string{
		{0: "miner"},
		{101: "user"},
		{120: "miner"},
	}
	test_data[9].holidays_array = [][]int64{
		{20, 30},
		{90, 101},
	}
	test_data[9].max_promised_amount_array = []map[int64]string{
		{0: "1000"},
		{150: "1600"},
		{210: "100"},
		{220: "10000"},
	}
	test_data[9].currency_id = 10
	test_data[9].result = 100997.3763937

	test_data[10] = new(calcProfitTest)
	test_data[10].amount = 1500
	test_data[10].repaid_amount = 0
	test_data[10].time_start = 100
	test_data[10].time_finish = 300
	test_data[10].pct_array = []map[int64]map[string]float64{
		{0: {"user": 0.0059, "miner": 0.05}},
		{150: {"user": 0.0029, "miner": 0.02}},
	}
	test_data[10].points_status_array = []map[int64]string{
		{0: "miner"},
		{101: "user"},
		{120: "miner"},
	}
	test_data[10].holidays_array = [][]int64{
		{20, 30},
		{90, 101},
		{299, 300},
		{330, 350},
	}
	test_data[10].max_promised_amount_array = []map[int64]string{
		{0: "1000"},
		{150: "1600"},
		{210: "100"},
		{220: "10000"},
	}
	test_data[10].currency_id = 10
	test_data[10].result = 98987.623915392

	test_data[11] = new(calcProfitTest)
	test_data[11].amount = 1500
	test_data[11].repaid_amount = 0
	test_data[11].time_start = 100
	test_data[11].time_finish = 300
	test_data[11].pct_array = []map[int64]map[string]float64{
		{0: {"user": 0.0059, "miner": 0.05}},
		{150: {"user": 0.0029, "miner": 0.02}},
	}
	test_data[11].points_status_array = []map[int64]string{
		{0: "miner"},
		{101: "user"},
		{120: "miner"},
	}
	test_data[11].holidays_array = [][]int64{
		{20, 350},
	}
	test_data[11].max_promised_amount_array = []map[int64]string{
		{0: "1000"},
		{150: "1600"},
		{210: "100"},
		{220: "10000"},
	}
	test_data[11].currency_id = 10
	test_data[11].result = 0

	test_data[12] = new(calcProfitTest)
	test_data[12].amount = 1500
	test_data[12].repaid_amount = 0
	test_data[12].time_start = 0
	test_data[12].time_finish = 300
	test_data[12].pct_array = []map[int64]map[string]float64{
		{0: {"user": 0.0059, "miner": 0.05}},
		{200: {"user": 0.0029, "miner": 0.02}},
	}
	test_data[12].points_status_array = []map[int64]string{
		{0: "miner"},
		{101: "user"},
		{295: "miner"},
	}
	test_data[12].holidays_array = [][]int64{
		{0, 10},
		{10, 20},
		{30, 40},
		{290, 10000000},
	}
	test_data[12].max_promised_amount_array = []map[int64]string{
		{0: "1000"},
		{220: "10000"},
	}
	test_data[12].currency_id = 10
	test_data[12].result = 73337.843828611

	test_data[13] = new(calcProfitTest)
	test_data[13].amount = 1500
	test_data[13].repaid_amount = 0
	test_data[13].time_start = 300
	test_data[13].time_finish = 400
	test_data[13].pct_array = []map[int64]map[string]float64{
		{0: {"user": 0.0059, "miner": 0.05}},
		{200: {"user": 0.0029, "miner": 0.02}},
	}
	test_data[13].points_status_array = []map[int64]string{
		{0: "miner"},
		{101: "user"},
		{295: "miner"},
	}
	test_data[13].holidays_array = [][]int64{
		{0, 10},
		{10, 20},
		{30, 40},
		{290, 295},
	}
	test_data[13].max_promised_amount_array = []map[int64]string{
		{0: "1000"},
		{220: "500"},
	}
	test_data[13].currency_id = 10
	test_data[13].result = 3122.3230591262

	test_data[14] = new(calcProfitTest)
	test_data[14].amount = 1500
	test_data[14].repaid_amount = 0
	test_data[14].time_start = 50
	test_data[14].time_finish = 51
	test_data[14].pct_array = []map[int64]map[string]float64{
		{0: {"user": 0.0059, "miner": 0.05}},
		{200: {"user": 0.0029, "miner": 0.02}},
	}
	test_data[14].points_status_array = []map[int64]string{
		{0: "miner"},
		{101: "user"},
		{295: "miner"},
	}
	test_data[14].holidays_array = [][]int64{
		{0, 10},
		{10, 20},
		{30, 40},
		{290, 295},
	}
	test_data[14].max_promised_amount_array = []map[int64]string{
		{0: "1000"},
		{220: "500"},
	}
	test_data[14].currency_id = 10
	test_data[14].result = 50

	test_data[15] = new(calcProfitTest)
	test_data[15].amount = 1500
	test_data[15].repaid_amount = 0
	test_data[15].time_start = 50
	test_data[15].time_finish = 51
	test_data[15].pct_array = []map[int64]map[string]float64{
		{0: {"user": 0.0059, "miner": 0.05}},
		{10: {"user": 0.0049, "miner": 0.04}},
		{11: {"user": 0.0088, "miner": 0.08}},
		{200: {"user": 0.0029, "miner": 0.02}},
	}
	test_data[15].points_status_array = []map[int64]string{
		{0: "miner"},
		{101: "user"},
		{295: "miner"},
	}
	test_data[15].holidays_array = [][]int64{
		{0, 10},
		{10, 20},
		{30, 40},
		{51, 250},
		{290, 295},
		{500, 600},
	}
	test_data[15].max_promised_amount_array = []map[int64]string{
		{0: "1000"},
		{220: "500"},
	}
	test_data[15].currency_id = 10
	test_data[15].result = 80

	test_data[16] = new(calcProfitTest)
	test_data[16].amount = 1500
	test_data[16].repaid_amount = 0
	test_data[16].time_start = 50
	test_data[16].time_finish = 51
	test_data[16].pct_array = []map[int64]map[string]float64{
		{0: {"user": 0.0059, "miner": 0.05}},
		{10: {"user": 0.0049, "miner": 0.04}},
		{11: {"user": 0.0088, "miner": 0.08}},
		{200: {"user": 0.0029, "miner": 0.02}},
	}
	test_data[16].points_status_array = []map[int64]string{
		{0: "miner"},
		{101: "user"},
		{295: "miner"},
	}
	test_data[16].holidays_array = [][]int64{
		{0, 10},
		{10, 20},
		{30, 40},
		{51, 250},
		{290, 295},
		{500, 600},
	}
	test_data[16].max_promised_amount_array = []map[int64]string{
		{0: "1000"},
		{220: "500"},
	}
	test_data[16].currency_id = 1
	test_data[16].result = 80

	test_data[17] = new(calcProfitTest)
	test_data[17].amount = 1500
	test_data[17].repaid_amount = 0
	test_data[17].time_start = 1000
	test_data[17].time_finish = 1001
	test_data[17].pct_array = []map[int64]map[string]float64{
		{0: {"user": 0.0059, "miner": 0.05}},
		{10: {"user": 0.0049, "miner": 0.04}},
		{11: {"user": 0.0088, "miner": 0.08}},
		{200: {"user": 0.0029, "miner": 0.02}},
	}
	test_data[17].points_status_array = []map[int64]string{
		{0: "miner"},
		{101: "user"},
		{295: "miner"},
	}
	test_data[17].holidays_array = [][]int64{
		{0, 10},
		{10, 20},
		{30, 40},
		{51, 250},
		{290, 295},
		{500, 600},
	}
	test_data[17].max_promised_amount_array = []map[int64]string{
		{0: "1000"},
		{220: "500"},
	}
	test_data[17].currency_id = 10
	test_data[17].result = 10

	test_data[18] = new(calcProfitTest)
	test_data[18].amount = 1500
	test_data[18].repaid_amount = 0
	test_data[18].time_start = 50
	test_data[18].time_finish = 140
	test_data[18].pct_array = []map[int64]map[string]float64{
		{0: {"user": 0.0059, "miner": 0.05}},
		{36: {"user": 0.0088, "miner": 0.08}},
		{164: {"user": 0.0049, "miner": 0.04}},
		{223: {"user": 0.0029, "miner": 0.02}},
	}
	test_data[18].points_status_array = []map[int64]string{
		{0: "miner"},
		{98: "miner"},
		{101: "user"},
		{295: "miner"},
	}
	test_data[18].holidays_array = [][]int64{
		{0, 10},
		{10, 20},
		{30, 30},
		{40, 50},
		{66, 99},
		{233, 1999},
	}
	test_data[18].max_promised_amount_array = []map[int64]string{
		{0: "1000"},
		{63: "3333"},
		{156: "899"},
		{220: "500"},
	}
	test_data[18].currency_id = 10
	test_data[18].result = 5157.6623487708

	test_data[19] = new(calcProfitTest)
	test_data[19].amount = 1500
	test_data[19].repaid_amount = 0
	test_data[19].time_start = 50
	test_data[19].time_finish = 140
	test_data[19].pct_array = []map[int64]map[string]float64{
		{0: {"user": 0.0059, "miner": 0.05}},
		{36: {"user": 0.0088, "miner": 0.08}},
		{164: {"user": 0.0049, "miner": 0.04}},
		{223: {"user": 0.0029, "miner": 0.02}},
	}
	test_data[19].points_status_array = []map[int64]string{
		{0: "miner"},
		{98: "miner"},
		{101: "user"},
		{295: "miner"},
	}
	test_data[19].holidays_array = [][]int64{
		{0, 10},
		{10, 20},
		{30, 30},
		{40, 50},
		{66, 99},
		{233, 1999},
	}
	test_data[19].max_promised_amount_array = []map[int64]string{
		{0: "1000"},
		{63: "3333"},
		{156: "899"},
		{220: "500"},
	}
	test_data[19].currency_id = 1
	test_data[19].result = 129106.50065867

	test_data[20] = new(calcProfitTest)
	test_data[20].amount = 1500
	test_data[20].repaid_amount = 50
	test_data[20].time_start = 50
	test_data[20].time_finish = 140
	test_data[20].pct_array = []map[int64]map[string]float64{
		{0: {"user": 0.0059, "miner": 0.05}},
		{36: {"user": 0.0088, "miner": 0.08}},
		{164: {"user": 0.0049, "miner": 0.04}},
		{223: {"user": 0.0029, "miner": 0.02}},
	}
	test_data[20].points_status_array = []map[int64]string{
		{0: "miner"},
		{98: "miner"},
		{101: "user"},
		{295: "miner"},
	}
	test_data[20].holidays_array = [][]int64{
		{0, 10},
		{10, 20},
		{30, 30},
		{40, 50},
		{66, 99},
		{233, 1999},
	}
	test_data[20].max_promised_amount_array = []map[int64]string{
		{0: "1000"},
		{63: "1525"},
		{64: "1550"},
		{139: "500"},
	}
	test_data[20].currency_id = 10
	test_data[20].result = 4966.7977985526

	f, _ := os.OpenFile("dclog.txt", os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0777)
	defer f.Close()
	//	log.SetOutput(io.MultiWriter(f, os.Stdout))
	log.SetOutput(f)
	log.SetFlags(log.LstdFlags | log.Lshortfile)

	for i := 0; i < 21; i++ {
		p := new(dcparser.Parser)
		profit, _ := p.CalcProfit_24946(test_data[i].amount, test_data[i].time_start, test_data[i].time_finish, test_data[i].pct_array, test_data[i].points_status_array, test_data[i].holidays_array, test_data[i].max_promised_amount_array, test_data[i].currency_id, test_data[i].repaid_amount)
		//fmt.Println(i, utils.Round(test_data[i].result, 8), utils.Round(profit, 8))
	}
}