anchor.diff:  			undefined, undefined, undefined, ServiceId1, Timestamp1, undefined,
   			undefined, final, [], [], SessionId1),
   	BucketList = ocs:get_buckets(ProdRef),
  -	#bucket{units = cents, attributes = #{bucket_type := normal}}
  -			=  lists:keyfind(cents, #bucket.units, BucketList),
  -	#bucket{units = octets, attributes = #{bucket_type := normal}}
  -			=  lists:keyfind(octets, #bucket.units, BucketList).
  +	F1 = fun(#bucket{attributes = #{reservations := Reservation}})
  +					when is_map(Reservation) ->
  +				I1 = maps:iterator(Reservation),
  +				F2 = fun({Key, _Value, _I2}) when Key == SessionId1 ->
  +							false;
  +						({_Key, _Value, I2}) ->
  +							maps:next(I2);
  +						(none) ->
  +							true
  +				end,
  +				F2(maps:next(I1));
  +			(#bucket{}) ->
  +				true
  +	end,
  +	true = lists:all(F1, BucketList).
   
   initial_invalid_service_type() ->
   	[{userdata, [{doc, "Check the validity of a service type during rating"}]}].
  
positive.code: 			undefined, undefined, undefined, ServiceId, Timestamp, undefined,
  			undefined, final, [], [], SessionId),
  	BucketList = ocs:get_buckets(ProdRef),
  	#bucket{units = cents, attributes = #{bucket_type := normal}}
  			=  lists:keyfind(cents, #bucket.units, BucketList),
  	#bucket{units = octets, attributes = #{bucket_type := normal}}
  			=  lists:keyfind(octets, #bucket.units, BucketList).
  
  final_empty_mscc_multiple_services() ->
  	[{userdata, [{doc, "Rate final with an empty MSCC after rating interims with different services"}]}].
  
  final_empty_mscc_multiple_services(_Config) ->
  	Alteration = #alteration{name = "Allowance", units = octets,
  
negative.code: 	ok = file:close(File2).
  
  final_empty_mscc() ->
  	[{userdata, [{doc, "Rate a final call with an empty MSCC and check whether sessions are removed"}]}].
  
  final_empty_mscc(_Config) ->
  	Alteration = #alteration{name = "Allowance", units = octets,
  