コード例 #1
0
ファイル: simple_test.go プロジェクト: nradz/DistGo
func TestFirstRequest(t *testing.T) {
	sp := New(problems.GetProblem("pruebaProblem"))
	sp.Init()
	defer sp.Close()

	var id uint32 = 1

	var lastUpdate uint32 = 0

	alg, datos, nUpdate, err := sp.NewRequest(id, lastUpdate)

	if alg == "" {
		t.Error("No alg")
	}

	if datos.(int64) != 0 {
		t.Error("No 0")
	}

	if nUpdate != 1 {
		t.Error("NUpdate is not 1")
	}

	if err != nil {
		t.Error(err.Error())
	}
}
コード例 #2
0
ファイル: simple_test.go プロジェクト: nradz/DistGo
func TestStandby(t *testing.T) {
	sp := New(problems.GetProblem("pruebaProblem"))
	sp.Init()
	defer sp.Close()

	var id1 uint32 = 5
	var lastUpdate1 uint32 = 1
	var id2 uint32 = 6
	var lastUpdate2 uint32 = 1

	datos := make([]string, 1)
	datos[0] = "6"

	aux := make(chan problems.Data)

	go func() {
		_, update, _, _ := sp.NewRequest(id1, lastUpdate1)
		aux <- update
	}()

	sp.NewResult(id2, datos, lastUpdate2)

	res := <-aux

	if 6 != res.(int64) {
		t.Error("Incorrect update:", res)
	}
}
コード例 #3
0
ファイル: pruebaProblem_test.go プロジェクト: nradz/DistGo
func TestGetProblem(t *testing.T) {

	res := problems.GetProblem("pruebaProblem")

	if res == nil {
		t.Error(res)
	}

}
コード例 #4
0
ファイル: simple_test.go プロジェクト: nradz/DistGo
func TestNewResult(t *testing.T) {
	sp := New(problems.GetProblem("pruebaProblem"))
	sp.Init()
	defer sp.Close()

	var id uint32 = 1

	var lastUpdate uint32 = 1

	datos := make([]string, 1)
	datos[0] = "6"

	err := sp.NewResult(id, datos, lastUpdate)

	if err != nil {
		t.Error(err.Error())
	}

}
コード例 #5
0
ファイル: connection_test.go プロジェクト: nradz/DistGo
func setup() *httptest.Server {
	cli = clientController.New()
	cli.Init()

	prob := problems.GetProblem("pruebaProblem")
	probCon = problemController.New(prob)
	if probCon == nil {
		panic("nil problemController")
	}
	probCon.Init()

	con := New(cli, probCon)

	server := httptest.NewUnstartedServer(con)

	go server.Start()
	time.Sleep(100 * time.Millisecond)

	return server
}
コード例 #6
0
ファイル: simple_test.go プロジェクト: nradz/DistGo
func TestUpdate(t *testing.T) {
	sp := New(problems.GetProblem("pruebaProblem"))
	sp.Init()
	defer sp.Close()

	var id1 uint32 = 5
	var lastUpdate1 uint32 = 1
	var id2 uint32 = 6
	var lastUpdate2 uint32 = 1

	datos := make([]string, 1)
	datos[0] = "6"

	err := sp.NewResult(id1, datos, lastUpdate1)

	if err != nil {
		t.Error("No result:", err)
	}

	time.Sleep(100 * time.Millisecond)

	alg, update, nUpdate, _ := sp.NewRequest(id2, lastUpdate2)

	if alg != "" {
		t.Error("alg:", alg)
	}

	if nUpdate != 2 {
		t.Error("Incorrect nUpdate:", nUpdate)
	}

	if 6 != update.(int64) {
		t.Error("No update:", update)
	}

}
コード例 #7
0
ファイル: simple_test.go プロジェクト: nradz/DistGo
func TestClose(t *testing.T) {
	sp := New(problems.GetProblem("pruebaProblem"))
	sp.Init()
	sp.Close()
}