+
+func TestRelativeAvailabilityHaveNone(t *testing.T) {
+ c := qt.New(t)
+ var err error
+ cl := Client{
+ config: TestingConfig(t),
+ }
+ tt := Torrent{
+ cl: &cl,
+ logger: log.Default,
+ gotMetainfoC: make(chan struct{}),
+ }
+ tt.setChunkSize(2)
+ g.MakeMapIfNil(&tt.conns)
+ pc := PeerConn{}
+ pc.t = &tt
+ pc.peerImpl = &pc
+ pc.initRequestState()
+ g.InitNew(&pc.callbacks)
+ tt.conns[&pc] = struct{}{}
+ err = pc.peerSentHave(0)
+ c.Assert(err, qt.IsNil)
+ info := testutil.Greeting.Info(5)
+ err = tt.setInfo(&info)
+ c.Assert(err, qt.IsNil)
+ tt.onSetInfo()
+ err = pc.peerSentHaveNone()
+ c.Assert(err, qt.IsNil)
+ var wg sync.WaitGroup
+ tt.close(&wg)
+ tt.assertAllPiecesRelativeAvailabilityZero()
+}