bloom9_test.go 1.9 KB
Newer Older
F
Felix Lange 已提交
1
// Copyright 2014 The go-ethereum Authors
2
// This file is part of the go-ethereum library.
F
Felix Lange 已提交
3
//
4
// The go-ethereum library is free software: you can redistribute it and/or modify
F
Felix Lange 已提交
5 6 7 8
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
9
// The go-ethereum library is distributed in the hope that it will be useful,
F
Felix Lange 已提交
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
F
Felix Lange 已提交
12 13 14
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
15
// along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>.
F
Felix Lange 已提交
16

17
package types
18

19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
import (
	"math/big"
	"testing"
)

func TestBloom(t *testing.T) {
	positive := []string{
		"testtest",
		"test",
		"hallo",
		"other",
	}
	negative := []string{
		"tes",
		"lo",
	}

	var bloom Bloom
	for _, data := range positive {
		bloom.Add(new(big.Int).SetBytes([]byte(data)))
	}

	for _, data := range positive {
42
		if !bloom.TestBytes([]byte(data)) {
43 44 45 46
			t.Error("expected", data, "to test true")
		}
	}
	for _, data := range negative {
47
		if bloom.TestBytes([]byte(data)) {
48 49 50 51 52
			t.Error("did not expect", data, "to test true")
		}
	}
}

53
/*
54 55
import (
	"testing"
56

O
obscuren 已提交
57
	"github.com/ethereum/go-ethereum/core/state"
58 59 60 61
)

func TestBloom9(t *testing.T) {
	testCase := []byte("testtest")
62 63 64
	bin := LogsBloom([]state.Log{
		{testCase, [][]byte{[]byte("hellohello")}, nil},
	}).Bytes()
65 66 67 68 69 70
	res := BloomLookup(bin, testCase)

	if !res {
		t.Errorf("Bloom lookup failed")
	}
}
O
obscuren 已提交
71

72

O
obscuren 已提交
73 74
func TestAddress(t *testing.T) {
	block := &Block{}
O
obscuren 已提交
75
	block.Coinbase = common.Hex2Bytes("22341ae42d6dd7384bc8584e50419ea3ac75b83f")
76
	fmt.Printf("%x\n", crypto.Keccak256(block.Coinbase))
O
obscuren 已提交
77 78

	bin := CreateBloom(block)
O
obscuren 已提交
79
	fmt.Printf("bin = %x\n", common.LeftPadBytes(bin, 64))
O
obscuren 已提交
80
}
O
obscuren 已提交
81
*/