@@ -33,7 +33,7 @@ def test_leave_single_channel(self):
3333 'uuid' : self .pubnub .uuid
3434 })
3535
36- self .assertEqual (self .leave ._channels , ['ch' ])
36+ self .assertEqual (sorted ( list ( self .leave ._channels )) , ['ch' ])
3737
3838 def test_leave_multiple_channels (self ):
3939 self .leave .channels ("ch1,ch2,ch3" )
@@ -45,7 +45,7 @@ def test_leave_multiple_channels(self):
4545 'uuid' : self .pubnub .uuid
4646 })
4747
48- self .assertEqual (self .leave ._channels , ['ch1' , 'ch2' , 'ch3' ])
48+ self .assertEqual (sorted ( list ( self .leave ._channels )) , ['ch1' , 'ch2' , 'ch3' ])
4949
5050 def test_leave_multiple_channels_using_list (self ):
5151 self .leave .channels (['ch1' , 'ch2' , 'ch3' ])
@@ -57,7 +57,7 @@ def test_leave_multiple_channels_using_list(self):
5757 'uuid' : self .pubnub .uuid
5858 })
5959
60- self .assertEqual (self .leave ._channels , ['ch1' , 'ch2' , 'ch3' ])
60+ self .assertEqual (sorted ( list ( self .leave ._channels )) , ['ch1' , 'ch2' , 'ch3' ])
6161
6262 def test_leave_multiple_channels_using_tuple (self ):
6363 self .leave .channels (('ch1' , 'ch2' , 'ch3' ))
@@ -69,7 +69,14 @@ def test_leave_multiple_channels_using_tuple(self):
6969 'uuid' : self .pubnub .uuid
7070 })
7171
72- self .assertEqual (self .leave ._channels , ['ch1' , 'ch2' , 'ch3' ])
72+ self .assertEqual (sorted (list (self .leave ._channels )), ['ch1' , 'ch2' , 'ch3' ])
73+
74+ def test_leave_unique_channels_using_list (self ):
75+ self .leave .channels (['ch1' , 'ch2' , 'ch1' ])
76+
77+ self .assertEqual (self .leave .build_path (), Leave .LEAVE_PATH % (pnconf .subscribe_key , "ch1,ch2" ))
78+
79+ self .assertEqual (sorted (list (self .leave ._channels )), ['ch1' , 'ch2' ])
7380
7481 def test_leave_single_group (self ):
7582 self .leave .channel_groups ("gr" )
@@ -83,7 +90,7 @@ def test_leave_single_group(self):
8390 'uuid' : self .pubnub .uuid
8491 })
8592
86- self .assertEqual (self .leave ._groups , ['gr' ])
93+ self .assertEqual (list ( self .leave ._groups ) , ['gr' ])
8794
8895 def test_leave_multiple_groups_using_string (self ):
8996 self .leave .channel_groups ("gr1,gr2,gr3" )
@@ -97,7 +104,7 @@ def test_leave_multiple_groups_using_string(self):
97104 'uuid' : self .pubnub .uuid
98105 })
99106
100- self .assertEqual (self .leave ._groups , ['gr1' , 'gr2' , 'gr3' ])
107+ self .assertEqual (sorted ( list ( self .leave ._groups )) , ['gr1' , 'gr2' , 'gr3' ])
101108
102109 def test_leave_multiple_groups_using_list (self ):
103110 self .leave .channel_groups (['gr1' , 'gr2' , 'gr3' ])
@@ -111,7 +118,18 @@ def test_leave_multiple_groups_using_list(self):
111118 'uuid' : self .pubnub .uuid
112119 })
113120
114- self .assertEqual (self .leave ._groups , ['gr1' , 'gr2' , 'gr3' ])
121+ self .assertEqual (sorted (list (self .leave ._groups )), ['gr1' , 'gr2' , 'gr3' ])
122+
123+ def test_leave_unique_channel_groups_using_list (self ):
124+ self .leave .channel_groups (['gr1' , 'gr2' , 'gr1' ])
125+
126+ self .assertEqual (self .leave .build_params_callback ()({}), {
127+ 'channel-group' : 'gr1,gr2' ,
128+ 'pnsdk' : sdk_name ,
129+ 'uuid' : self .pubnub .uuid
130+ })
131+
132+ self .assertEqual (sorted (list (self .leave ._groups )), ['gr1' , 'gr2' ])
115133
116134 def test_leave_channels_and_groups (self ):
117135 self .leave .channels ('ch1,ch2' ).channel_groups (["gr1" , "gr2" ])
@@ -125,5 +143,5 @@ def test_leave_channels_and_groups(self):
125143 'channel-group' : 'gr1,gr2' ,
126144 })
127145
128- self .assertEqual (self .leave ._groups , ['gr1' , 'gr2' ])
129- self .assertEqual (self .leave ._channels , ['ch1' , 'ch2' ])
146+ self .assertEqual (sorted ( list ( self .leave ._groups )) , ['gr1' , 'gr2' ])
147+ self .assertEqual (sorted ( list ( self .leave ._channels )) , ['ch1' , 'ch2' ])
0 commit comments