forked from iotexproject/iotex-core
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathheightupgrade_test.go
67 lines (59 loc) · 2.55 KB
/
heightupgrade_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// Copyright (c) 2020 IoTeX
// This is an alpha (internal) release and is not suitable for production. This source code is provided 'as is' and no
// warranties are given as to title or non-infringement, merchantability or fitness for purpose and, to the extent
// permitted by law, all liability for your use of the code is disclaimed. This source code is governed by Apache
// License 2.0 that can be found in the LICENSE file.
package config
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestNewHeightChange(t *testing.T) {
require := require.New(t)
require.Equal(0, Pacific)
require.Equal(1, Aleutian)
require.Equal(2, Bering)
require.Equal(3, Cook)
require.Equal(4, Dardanelles)
require.Equal(5, Daytona)
require.Equal(6, Easter)
require.Equal(7, Fairbank)
require.Equal(8, FbkMigration)
require.Equal(9, Greenland)
cfg := Default
cfg.Genesis.PacificBlockHeight = uint64(432001)
hu := NewHeightUpgrade(&cfg.Genesis)
require.True(hu.IsPre(Pacific, uint64(432000)))
require.True(hu.IsPost(Pacific, uint64(432001)))
require.True(hu.IsPre(Aleutian, uint64(864000)))
require.True(hu.IsPost(Aleutian, uint64(864001)))
require.True(hu.IsPre(Bering, uint64(1512000)))
require.True(hu.IsPost(Bering, uint64(1512001)))
require.True(hu.IsPre(Cook, uint64(1641600)))
require.True(hu.IsPost(Cook, uint64(1641601)))
require.True(hu.IsPre(Dardanelles, uint64(1816200)))
require.True(hu.IsPost(Dardanelles, uint64(1816201)))
require.True(hu.IsPre(Daytona, uint64(3238920)))
require.True(hu.IsPost(Daytona, uint64(3238921)))
require.True(hu.IsPre(Easter, uint64(4478760)))
require.True(hu.IsPost(Easter, uint64(4478761)))
require.True(hu.IsPre(Fairbank, uint64(5165640)))
require.True(hu.IsPost(Fairbank, uint64(5165641)))
require.True(hu.IsPre(FbkMigration, uint64(5157000)))
require.True(hu.IsPost(FbkMigration, uint64(5157001)))
require.True(hu.IsPre(Greenland, uint64(6544440)))
require.True(hu.IsPost(Greenland, uint64(6544441)))
require.Panics(func() {
hu.IsPost(-1, 0)
})
require.Equal(hu.PacificBlockHeight(), uint64(432001))
require.Equal(hu.AleutianBlockHeight(), uint64(864001))
require.Equal(hu.BeringBlockHeight(), uint64(1512001))
require.Equal(hu.CookBlockHeight(), uint64(1641601))
require.Equal(hu.DardanellesBlockHeight(), uint64(1816201))
require.Equal(hu.DaytonaBlockHeight(), uint64(3238921))
require.Equal(hu.EasterBlockHeight(), uint64(4478761))
require.Equal(hu.FairbankBlockHeight(), uint64(5165641))
require.Equal(hu.FbkMigrationBlockHeight(), uint64(5157001))
require.Equal(hu.GreenlandBlockHeight(), uint64(6544441))
}