Skip to content

Commit 2db945a

Browse files
committed
Added additonal tests for Series.replace()
1 parent 7200a40 commit 2db945a

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

src/danfojs-node/test/core/series.test.ts

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)