@@ -592,6 +592,41 @@ func Test_Mock_UnsetIfAlreadyUnsetFails(t *testing.T) {
592592 assert .Equal (t , 0 , len (mockedService .ExpectedCalls ))
593593}
594594
595+ func Test_Mock_UnsetOfCallRequiredByNotBefore (t * testing.T ) {
596+ // make a test impl object
597+ var mockedServiceA = new (TestExampleImplementation )
598+ var mockedServiceB = new (TestExampleImplementation )
599+ var mockedServiceC = new (TestExampleImplementation )
600+
601+ mock1 := mockedServiceA .
602+ On ("TheExampleMethod" , 1 , 1 , 1 ).
603+ Return (1 ).
604+ Once ()
605+
606+ mock2 := mockedServiceB .
607+ On ("TheExampleMethod" , 2 , 2 , 2 ).
608+ Return (2 ).
609+ NotBefore (mock1 )
610+
611+ mock3 := mockedServiceC .
612+ On ("TheExampleMethod" , 3 , 3 , 3 ).
613+ Return (3 ).
614+ NotBefore (mock1 ).
615+ NotBefore (mock2 )
616+
617+ assert .Equal (t , 2 , len (mock1 .requiredBy ))
618+ assert .Equal (t , 1 , len (mock2 .requires ))
619+ assert .Equal (t , 1 , len (mock2 .requiredBy ))
620+ assert .Equal (t , 2 , len (mock3 .requires ))
621+
622+ mock1 .Unset ()
623+
624+ assert .Equal (t , 0 , len (mock1 .requiredBy ))
625+ assert .Equal (t , 0 , len (mock2 .requires ))
626+ assert .Equal (t , 1 , len (mock2 .requiredBy ))
627+ assert .Equal (t , 1 , len (mock3 .requires ))
628+ }
629+
595630func Test_Mock_UnsetByOnMethodSpec (t * testing.T ) {
596631 // make a test impl object
597632 var mockedService = new (TestExampleImplementation )
0 commit comments