// Copyright © 2016 Alan A. A. Donovan & Brian W. Kernighan. // License: https://creativecommons.org/licenses/by-nc-sa/4.0/ package bank_test import ( "fmt" "testing" "gopl.io/ch9/bank1" ) func TestBank(t *testing.T) { done := make(chan struct{}) // Alice go func() { bank.Deposit(200) fmt.Println("=", bank.Balance()) done <- struct{}{} }() // Bob go func() { bank.Deposit(100) done <- struct{}{} }() // Wait for both transactions. <-done <-done if got, want := bank.Balance(), 300; got != want { t.Errorf("Balance = %d, want %d", got, want) } }