github.com/sixexorg/magnetic-ring@v0.0.0-20191119090307-31705a21e419/events/event_test.go (about) 1 /* 2 * Copyright (C) 2018 The ontology Authors 3 * This file is part of The ontology library. 4 * 5 * The ontology is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU Lesser General Public License as published by 7 * the Free Software Foundation, either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * The ontology is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public License 16 * along with The ontology. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 package events 20 21 import ( 22 "fmt" 23 "testing" 24 ) 25 26 func TestNewEvent(t *testing.T) { 27 event := NewEvent() 28 29 var subscriber1 EventFunc = func(v interface{}) { 30 fmt.Println("subscriber1 event func.") 31 } 32 33 var subscriber2 EventFunc = func(v interface{}) { 34 fmt.Println("subscriber2 event func.") 35 } 36 37 fmt.Println("Subscribe...") 38 sub1 := event.Subscribe(EventReplyTx, subscriber1) 39 event.Subscribe(EventSaveBlock, subscriber2) 40 41 fmt.Println("Notify...") 42 event.Notify(EventReplyTx, nil) 43 44 fmt.Println("Notify All...") 45 event.NotifyAll() 46 47 event.UnSubscribe(EventReplyTx, sub1) 48 fmt.Println("Notify All after unsubscribe sub1...") 49 event.NotifyAll() 50 51 }