@@ -10,6 +10,7 @@ import (
1010 "github.com/stretchr/testify/assert"
1111
1212 "github.com/ourstudio-se/puan-sdk-go/internal/fake"
13+ "github.com/ourstudio-se/puan-sdk-go/puanerror"
1314)
1415
1516func Test_RulesetCreator_newTimeBoundVariable_givenTimeEnabled_andValidPeriod (t * testing.T ) {
@@ -174,3 +175,51 @@ func Test_RulesetCreator_AssumeInPeriod_givenDifferentPeriod_shouldAddTimeBoundV
174175 assert .NotContains (t , creator .assumedVariables , "itemX" )
175176 assert .Contains (t , creator .timeBoundAssumedVariables .ids (), "itemX" )
176177}
178+
179+ func Test_RulesetCreator_setSingleOrOR_givenNoIDs_shouldReturnError (t * testing.T ) {
180+ creator := NewRulesetCreator ()
181+ _ , err := creator .setSingleOrOR ([]string {}... )
182+
183+ assert .ErrorIs (t , err , puanerror .InvalidArgument )
184+ }
185+
186+ func Test_RulesetCreator_setSingleOrOR_givenDuplicatedIDs_shouldReturnID (t * testing.T ) {
187+ code := fake .New [string ]()
188+ creator := NewRulesetCreator ()
189+ got , err := creator .setSingleOrOR (code , code )
190+
191+ assert .NoError (t , err )
192+ assert .Equal (t , code , got )
193+ }
194+
195+ func Test_RulesetCreator_setSingleOrXOR_givenNoIDs_shouldReturnError (t * testing.T ) {
196+ creator := NewRulesetCreator ()
197+ _ , err := creator .setSingleOrXOR ([]string {}... )
198+
199+ assert .ErrorIs (t , err , puanerror .InvalidArgument )
200+ }
201+
202+ func Test_RulesetCreator_setSingleOrXOR_givenDuplicatedIDs_shouldReturnID (t * testing.T ) {
203+ code := fake .New [string ]()
204+ creator := NewRulesetCreator ()
205+ got , err := creator .setSingleOrXOR (code , code )
206+
207+ assert .NoError (t , err )
208+ assert .Equal (t , code , got )
209+ }
210+
211+ func Test_RulesetCreator_setSingleOrAND_givenNoIDs_shouldReturnError (t * testing.T ) {
212+ creator := NewRulesetCreator ()
213+ _ , err := creator .setSingleOrAnd ([]string {}... )
214+
215+ assert .ErrorIs (t , err , puanerror .InvalidArgument )
216+ }
217+
218+ func Test_RulesetCreator_setSingleOrAND_givenDuplicatedIDs_shouldReturnID (t * testing.T ) {
219+ code := fake .New [string ]()
220+ creator := NewRulesetCreator ()
221+ got , err := creator .setSingleOrAnd (code , code )
222+
223+ assert .NoError (t , err )
224+ assert .Equal (t , code , got )
225+ }
0 commit comments