Fix RocDec.toString tests

This commit is contained in:
Jared Ramirez 2021-06-06 14:46:23 -07:00
parent ac4d718039
commit a42a2cc1b4

View file

@ -374,6 +374,7 @@ fn mul_u128(a: u128, b: u128) U256 {
const testing = std.testing; const testing = std.testing;
const expectEqual = testing.expectEqual; const expectEqual = testing.expectEqual;
const expectEqualSlices = testing.expectEqualSlices;
const expect = testing.expect; const expect = testing.expect;
test "fromU64" { test "fromU64" {
@ -488,73 +489,75 @@ test "fromString: .123.1" {
} }
test "toString: 123.45" { test "toString: 123.45" {
var roc_str = RocStr.init("123.45", 6); var dec: RocDec = .{ .num = 123450000000000000000 };
var dec = RocDec.fromString(roc_str); var res_roc_str = dec.toString();
var res_roc_str = dec.?.toString();
expect(RocStr.eq(roc_str, res_roc_str.?)); const res_slice: []const u8 = "123.45"[0..];
try expectEqualSlices(u8, res_slice, res_roc_str.?.asSlice());
} }
test "toString: -123.45" { test "toString: -123.45" {
var roc_str = RocStr.init("-123.45", 7); var dec: RocDec = .{ .num = -123450000000000000000 };
var dec = RocDec.fromString(roc_str); var res_roc_str = dec.toString();
var res_roc_str = dec.?.toString();
expect(RocStr.eq(roc_str, res_roc_str.?)); const res_slice: []const u8 = "-123.45"[0..];
try expectEqualSlices(u8, res_slice, res_roc_str.?.asSlice());
} }
test "toString: 123.0" { test "toString: 123.0" {
var roc_str = RocStr.init("123.0", 5); var dec: RocDec = .{ .num = 123000000000000000000 };
var dec = RocDec.fromString(roc_str); var res_roc_str = dec.toString();
var res_roc_str = dec.?.toString();
expect(RocStr.eq(roc_str, res_roc_str.?)); const res_slice: []const u8 = "123.0"[0..];
try expectEqualSlices(u8, res_slice, res_roc_str.?.asSlice());
} }
test "toString: -123.0" { test "toString: -123.0" {
var roc_str = RocStr.init("-123.0", 6); var dec: RocDec = .{ .num = -123000000000000000000 };
var dec = RocDec.fromString(roc_str); var res_roc_str = dec.toString();
var res_roc_str = dec.?.toString();
expect(RocStr.eq(roc_str, res_roc_str.?)); const res_slice: []const u8 = "-123.0"[0..];
try expectEqualSlices(u8, res_slice, res_roc_str.?.asSlice());
} }
test "toString: 0.45" { test "toString: 0.45" {
var roc_str = RocStr.init("0.45", 4); var dec: RocDec = .{ .num = 450000000000000000 };
var dec = RocDec.fromString(roc_str); var res_roc_str = dec.toString();
var res_roc_str = dec.?.toString();
expect(RocStr.eq(roc_str, res_roc_str.?)); const res_slice: []const u8 = "0.45"[0..];
try expectEqualSlices(u8, res_slice, res_roc_str.?.asSlice());
} }
test "toString: -0.45" { test "toString: -0.45" {
var roc_str = RocStr.init("-0.45", 5); var dec: RocDec = .{ .num = -450000000000000000 };
var dec = RocDec.fromString(roc_str); var res_roc_str = dec.toString();
var res_roc_str = dec.?.toString();
expect(RocStr.eq(roc_str, res_roc_str.?)); const res_slice: []const u8 = "-0.45"[0..];
try expectEqualSlices(u8, res_slice, res_roc_str.?.asSlice());
} }
test "toString: -111.123456789" { test "toString: -111.123456789" {
var roc_str = RocStr.init("-111.123456789", 14); var dec: RocDec = .{ .num = -111123456789000000000 };
var dec = RocDec.fromString(roc_str); var res_roc_str = dec.toString();
var res_roc_str = dec.?.toString();
expect(RocStr.eq(roc_str, res_roc_str.?)); const res_slice: []const u8 = "-111.123456789"[0..];
try expectEqualSlices(u8, res_slice, res_roc_str.?.asSlice());
} }
test "toString: 111.1234567891" { test "toString: 123.1111111" {
var roc_str = RocStr.init("111.1234567891", 14); var dec: RocDec = .{ .num = 123111111100000000000 };
var dec = RocDec.fromString(roc_str); var res_roc_str = dec.toString();
var res_roc_str = dec.?.toString();
expect(RocStr.eq(roc_str, res_roc_str.?)); const res_slice: []const u8 = "123.1111111"[0..];
try expectEqualSlices(u8, res_slice, res_roc_str.?.asSlice());
} }
test "toString: 123.111111111111 (big str)" { test "toString: 123.111111111111 (big str)" {
var roc_str = RocStr.init("123.111111111111", 16); var dec: RocDec = .{ .num = 123111111111110000000 };
var dec = RocDec.fromString(roc_str); var res_roc_str = dec.toString();
var res_roc_str = dec.?.toString();
expect(RocStr.eq(roc_str, res_roc_str.?)); const res_slice: []const u8 = "123.11111111111"[0..];
try expectEqualSlices(u8, res_slice, res_roc_str.?.asSlice());
} }
test "add: 0" { test "add: 0" {