@@ -1171,13 +1171,79 @@ describe("Series Functions", () => {
11711171 sf . replace ( "A" , "boy" , { inplace : true } ) ;
11721172 assert . deepEqual ( sf . values , expected ) ;
11731173 } ) ;
1174+
11741175 it ( "Replace values given in replace param with value (boolean type)" , function ( ) {
11751176 const data1 = [ true , true , false , false ] ;
11761177 const sf = new Series ( data1 ) ;
11771178 const expected = [ false , false , false , false ] ;
11781179 sf . replace ( true , false , { inplace : true } ) ;
11791180 assert . deepEqual ( sf . values , expected ) ;
11801181 } ) ;
1182+
1183+ it ( "Replace oldValue supports falsy numbers (0)" , function ( ) {
1184+ const data1 = [ 0 , 45 , 56 , 25 , 23 , 20 , 0 ] ;
1185+ const sf = new Series ( data1 ) ;
1186+ const expected = [ 1 , 45 , 56 , 25 , 23 , 20 , 1 ] ;
1187+ const dfRep = sf . replace ( 0 , 1 )
1188+ assert . deepEqual ( dfRep . values , expected ) ;
1189+ } ) ;
1190+
1191+ it ( "Replace oldValue supports falsy numbers (NaN)" , function ( ) {
1192+ const data1 = [ NaN , 45 , 56 , 25 , 23 , 20 , NaN ] ;
1193+ const sf = new Series ( data1 ) ;
1194+ const expected = [ 1 , 45 , 56 , 25 , 23 , 20 , 1 ] ;
1195+ const dfRep = sf . replace ( NaN , 1 )
1196+ assert . deepEqual ( dfRep . values , expected ) ;
1197+ } ) ;
1198+
1199+ it ( "Replace oldValue supports falsy strings" , function ( ) {
1200+ const data1 = [ '' , 'bar' , 'baz' ] ;
1201+ const sf = new Series ( data1 ) ;
1202+ const expected = [ 'foo' , 'bar' , 'baz' ] ;
1203+ const dfRep = sf . replace ( '' , 'foo' )
1204+ assert . deepEqual ( dfRep . values , expected ) ;
1205+ } ) ;
1206+
1207+ it ( "Replace oldValue supports falsy booleans" , function ( ) {
1208+ const data1 = [ true , false , true , false ] ;
1209+ const sf = new Series ( data1 ) ;
1210+ const expected = [ true , true , true , true ] ;
1211+ const dfRep = sf . replace ( false , true )
1212+ assert . deepEqual ( dfRep . values , expected ) ;
1213+ } ) ;
1214+
1215+ it ( "Replace newValue supports falsy numbers (0)" , function ( ) {
1216+ const data1 = [ 1 , 45 , 56 , 25 , 23 , 20 , 1 ] ;
1217+ const sf = new Series ( data1 ) ;
1218+ const expected = [ 0 , 45 , 56 , 25 , 23 , 20 , 0 ] ;
1219+ const dfRep = sf . replace ( 1 , 0 )
1220+ assert . deepEqual ( dfRep . values , expected ) ;
1221+ } ) ;
1222+
1223+ it ( "Replace newValue supports falsy numbers (NaN)" , function ( ) {
1224+ const data1 = [ 1 , 45 , 56 , 25 , 23 , 20 , 1 ] ;
1225+ const sf = new Series ( data1 ) ;
1226+ const expected = [ NaN , 45 , 56 , 25 , 23 , 20 , NaN ] ;
1227+ const dfRep = sf . replace ( 1 , NaN )
1228+ assert . deepEqual ( dfRep . values , expected ) ;
1229+ } ) ;
1230+
1231+ it ( "Replace newValue supports falsy strings" , function ( ) {
1232+ const data1 = [ 'foo' , 'bar' , 'baz' ] ;
1233+ const sf = new Series ( data1 ) ;
1234+ const expected = [ '' , 'bar' , 'baz' ] ;
1235+ const dfRep = sf . replace ( 'foo' , '' )
1236+ assert . deepEqual ( dfRep . values , expected ) ;
1237+ } ) ;
1238+
1239+ it ( "Replace newValue supports falsy booleans" , function ( ) {
1240+ const data1 = [ true , false , true , false ] ;
1241+ const sf = new Series ( data1 ) ;
1242+ const expected = [ false , false , false , false ] ;
1243+ const dfRep = sf . replace ( true , false )
1244+ assert . deepEqual ( dfRep . values , expected ) ;
1245+ } ) ;
1246+
11811247 // it("Throw error on wrong param passed", function () {
11821248 // const data1 = ["A", "A", "A", "B", "B", "C", "C", "D"];
11831249 // const sf = new Series(data1);
0 commit comments