// TestCheckTarget probes the checkTarget function. func TestCheckTarget(t *testing.T) { var b types.Block lowTarget := types.RootDepth highTarget := types.Target{} sameTarget := types.Target(b.ID()) if !checkTarget(b, lowTarget) { t.Error("CheckTarget failed for a low target") } if checkTarget(b, highTarget) { t.Error("CheckTarget passed for a high target") } if !checkTarget(b, sameTarget) { t.Error("CheckTarget failed for a same target") } }
// TestCheckHeaderTarget probes the checkHeaderTarget function and checks that // the result matches the result of checkTarget. func TestCheckHeaderTarget(t *testing.T) { var b types.Block var h types.BlockHeader tests := []struct { target types.Target expected bool msg string }{ {types.RootDepth, true, "checkHeaderTarget failed for a low target"}, {types.Target{}, false, "checkHeaderTarget passed for a high target"}, {types.Target(h.ID()), true, "checkHeaderTarget failed for a same target"}, } for _, tt := range tests { if checkHeaderTarget(h, tt.target) != tt.expected { t.Error(tt.msg) } if checkHeaderTarget(h, tt.target) != checkTarget(b, tt.target) { t.Errorf("checkHeaderTarget and checkTarget do not match for target %v", tt.target) } } }