Merge branch 'dec-from-string' of github.com:rtfeldman/roc into dec-from-string

This commit is contained in:
rvcas 2021-06-01 19:56:54 -04:00
commit d994b02fe4

View file

@ -32,7 +32,7 @@ pub const RocDec = struct {
var initial_index: usize = if (is_negative) 1 else 0;
var point_index: ?usize = null;
var index: usize = 0;
var index: usize = initial_index;
while (index < length) {
var byte: u8 = roc_str_slice[index];
if (byte == '.' and point_index == null) {
@ -361,6 +361,12 @@ test "fromString: .45" {
expectEqual(RocDec{ .num = 450000000000000000 }, dec.?);
}
test "fromString: .45" {
var dec = RocDec.fromString("0.45", 4);
expectEqual(RocDec{ .num = 450000000000000000 }, dec.?);
}
test "fromString: 123" {
var roc_str = RocStr.init("123", 3);
var dec = RocDec.fromString(roc_str);
@ -368,6 +374,30 @@ test "fromString: 123" {
expectEqual(RocDec{ .num = 123000000000000000000 }, dec.?);
}
test "fromString: -.45" {
var dec = RocDec.fromString("-.45", 4);
expectEqual(RocDec{ .num = -450000000000000000 }, dec.?);
}
test "fromString: -0.45" {
var dec = RocDec.fromString("-0.45", 5);
expectEqual(RocDec{ .num = -450000000000000000 }, dec.?);
}
test "fromString: -123" {
var dec = RocDec.fromString("-123", 4);
expectEqual(RocDec{ .num = -123000000000000000000 }, dec.?);
}
test "fromString: -123.45" {
var dec = RocDec.fromString("-123.45", 7);
expectEqual(RocDec{ .num = -123450000000000000000 }, dec.?);
}
test "fromString: abc" {
var roc_str = RocStr.init("abc", 3);
var dec = RocDec.fromString(roc_str);