update: cleanup
This commit is contained in:
parent
a0645cb0d1
commit
f0115a15b9
1 changed files with 42 additions and 0 deletions
|
|
@ -5,6 +5,9 @@ const Context = @import("context.zig").Context;
|
||||||
const RelativeDelta = @import("delta.zig").RelativeDelta;
|
const RelativeDelta = @import("delta.zig").RelativeDelta;
|
||||||
|
|
||||||
test "relativedelta rigoroso - meses" {
|
test "relativedelta rigoroso - meses" {
|
||||||
|
std.debug.print("____________________________________________________\n", .{});
|
||||||
|
std.debug.print("1 - context set amigável e get com ponto\n", .{});
|
||||||
|
|
||||||
const a = try Time.parse("2025-03-31");
|
const a = try Time.parse("2025-03-31");
|
||||||
const b = try Time.parse("2025-01-31");
|
const b = try Time.parse("2025-01-31");
|
||||||
const delta = a.subRelative(b);
|
const delta = a.subRelative(b);
|
||||||
|
|
@ -17,6 +20,9 @@ test "relativedelta rigoroso - meses" {
|
||||||
}
|
}
|
||||||
|
|
||||||
test "relativedelta - overflow de dia" {
|
test "relativedelta - overflow de dia" {
|
||||||
|
std.debug.print("____________________________________________________\n", .{});
|
||||||
|
std.debug.print("2 - relativedelta - overflow de dia\n", .{});
|
||||||
|
|
||||||
const jan31 = try Time.parse("2023-01-31");
|
const jan31 = try Time.parse("2023-01-31");
|
||||||
const mar01 = try Time.parse("2023-03-01");
|
const mar01 = try Time.parse("2023-03-01");
|
||||||
|
|
||||||
|
|
@ -27,6 +33,9 @@ test "relativedelta - overflow de dia" {
|
||||||
}
|
}
|
||||||
|
|
||||||
test "bissexto: 2021-02-28 - 2020-02-29" {
|
test "bissexto: 2021-02-28 - 2020-02-29" {
|
||||||
|
std.debug.print("____________________________________________________\n", .{});
|
||||||
|
std.debug.print("3 - bissexto: 2021-02-28 - 2020-02-29\n", .{});
|
||||||
|
|
||||||
const a = try Time.parse("2021-02-28");
|
const a = try Time.parse("2021-02-28");
|
||||||
const b = try Time.parse("2020-02-29");
|
const b = try Time.parse("2020-02-29");
|
||||||
const delta = a.subRelative(b);
|
const delta = a.subRelative(b);
|
||||||
|
|
@ -36,6 +45,9 @@ test "bissexto: 2021-02-28 - 2020-02-29" {
|
||||||
}
|
}
|
||||||
|
|
||||||
test "bissexto: 2021-03-01 - 2020-02-29" {
|
test "bissexto: 2021-03-01 - 2020-02-29" {
|
||||||
|
std.debug.print("____________________________________________________\n", .{});
|
||||||
|
std.debug.print("4 - bissexto: 2021-03-01 - 2020-02-29\n", .{});
|
||||||
|
|
||||||
const a = try Time.parse("2021-03-01");
|
const a = try Time.parse("2021-03-01");
|
||||||
const b = try Time.parse("2020-02-29");
|
const b = try Time.parse("2020-02-29");
|
||||||
const delta = a.subRelative(b);
|
const delta = a.subRelative(b);
|
||||||
|
|
@ -45,6 +57,9 @@ test "bissexto: 2021-03-01 - 2020-02-29" {
|
||||||
}
|
}
|
||||||
|
|
||||||
test "bissexto: 2021-02-27 - 2020-02-29" {
|
test "bissexto: 2021-02-27 - 2020-02-29" {
|
||||||
|
std.debug.print("____________________________________________________\n", .{});
|
||||||
|
std.debug.print("5 - bissexto: 2021-02-27 - 2020-02-29\n", .{});
|
||||||
|
|
||||||
const a = try Time.parse("2021-02-27");
|
const a = try Time.parse("2021-02-27");
|
||||||
const b = try Time.parse("2020-02-29");
|
const b = try Time.parse("2020-02-29");
|
||||||
const delta = a.subRelative(b);
|
const delta = a.subRelative(b);
|
||||||
|
|
@ -54,6 +69,9 @@ test "bissexto: 2021-02-27 - 2020-02-29" {
|
||||||
}
|
}
|
||||||
|
|
||||||
test "bissexto reverso: 2020-02-29 - 2021-02-28" {
|
test "bissexto reverso: 2020-02-29 - 2021-02-28" {
|
||||||
|
std.debug.print("____________________________________________________\n", .{});
|
||||||
|
std.debug.print("6 - bissexto reverso: 2020-02-29 - 2021-02-28\n", .{});
|
||||||
|
|
||||||
const a = try Time.parse("2020-02-29");
|
const a = try Time.parse("2020-02-29");
|
||||||
const b = try Time.parse("2021-02-28");
|
const b = try Time.parse("2021-02-28");
|
||||||
const delta = a.subRelative(b);
|
const delta = a.subRelative(b);
|
||||||
|
|
@ -63,6 +81,9 @@ test "bissexto reverso: 2020-02-29 - 2021-02-28" {
|
||||||
}
|
}
|
||||||
|
|
||||||
test "addRelative: anos normais (não bissexto)" {
|
test "addRelative: anos normais (não bissexto)" {
|
||||||
|
std.debug.print("____________________________________________________\n", .{});
|
||||||
|
std.debug.print("7 - addRelative: anos normais (não bissexto)\n", .{});
|
||||||
|
|
||||||
// 2023 não é bissexto
|
// 2023 não é bissexto
|
||||||
const base = try Time.parse("2023-06-15");
|
const base = try Time.parse("2023-06-15");
|
||||||
const expected = try Time.parse("2026-06-15");
|
const expected = try Time.parse("2026-06-15");
|
||||||
|
|
@ -77,6 +98,9 @@ test "addRelative: anos normais (não bissexto)" {
|
||||||
}
|
}
|
||||||
|
|
||||||
test "addRelative: anos normais com overflow de dia" {
|
test "addRelative: anos normais com overflow de dia" {
|
||||||
|
std.debug.print("____________________________________________________\n", .{});
|
||||||
|
std.debug.print("8 - addRelative: anos normais com overflow de dia\n", .{});
|
||||||
|
|
||||||
// Janeiro 31 + 2 anos → deve ir para 31/jan (2025 não bissexto)
|
// Janeiro 31 + 2 anos → deve ir para 31/jan (2025 não bissexto)
|
||||||
const base = try Time.parse("2023-01-31");
|
const base = try Time.parse("2023-01-31");
|
||||||
const expected = try Time.parse("2025-01-31");
|
const expected = try Time.parse("2025-01-31");
|
||||||
|
|
@ -91,6 +115,9 @@ test "addRelative: anos normais com overflow de dia" {
|
||||||
}
|
}
|
||||||
|
|
||||||
test "addRelative: de 29/fev bissexto + 1 ano (vai para 28/fev)" {
|
test "addRelative: de 29/fev bissexto + 1 ano (vai para 28/fev)" {
|
||||||
|
std.debug.print("____________________________________________________\n", .{});
|
||||||
|
std.debug.print("9 - addRelative: de 29/fev bissexto + 1 ano (vai para 28/fev)\n", .{});
|
||||||
|
|
||||||
// 2020 foi bissexto → +1 ano deve ir para 2021-02-28 (não bissexto)
|
// 2020 foi bissexto → +1 ano deve ir para 2021-02-28 (não bissexto)
|
||||||
const base = try Time.parse("2020-02-29");
|
const base = try Time.parse("2020-02-29");
|
||||||
const expected = try Time.parse("2021-02-28");
|
const expected = try Time.parse("2021-02-28");
|
||||||
|
|
@ -105,6 +132,9 @@ test "addRelative: de 29/fev bissexto + 1 ano (vai para 28/fev)" {
|
||||||
}
|
}
|
||||||
|
|
||||||
test "addRelative: de 29/fev bissexto + 4 anos (permanece 29/fev)" {
|
test "addRelative: de 29/fev bissexto + 4 anos (permanece 29/fev)" {
|
||||||
|
std.debug.print("____________________________________________________\n", .{});
|
||||||
|
std.debug.print("10 - addRelative: de 29/fev bissexto + 4 anos (permanece 29/fev)\n", .{});
|
||||||
|
|
||||||
// 2020 → 2024 (ambos bissextos)
|
// 2020 → 2024 (ambos bissextos)
|
||||||
const base = try Time.parse("2020-02-29");
|
const base = try Time.parse("2020-02-29");
|
||||||
const expected = try Time.parse("2024-02-29");
|
const expected = try Time.parse("2024-02-29");
|
||||||
|
|
@ -119,6 +149,9 @@ test "addRelative: de 29/fev bissexto + 4 anos (permanece 29/fev)" {
|
||||||
}
|
}
|
||||||
|
|
||||||
test "addRelative: de 29/fev + 1 ano + 1 mês (vai para março)" {
|
test "addRelative: de 29/fev + 1 ano + 1 mês (vai para março)" {
|
||||||
|
std.debug.print("____________________________________________________\n", .{});
|
||||||
|
std.debug.print("11 - addRelative: de 29/fev + 1 ano + 1 mês (vai para março)\n", .{});
|
||||||
|
|
||||||
// 2020-02-29 + 1 ano → 2021-02-28 + 1 mês → 2021-03-28
|
// 2020-02-29 + 1 ano → 2021-02-28 + 1 mês → 2021-03-28
|
||||||
const base = try Time.parse("2020-02-29");
|
const base = try Time.parse("2020-02-29");
|
||||||
const expected = try Time.parse("2021-03-28");
|
const expected = try Time.parse("2021-03-28");
|
||||||
|
|
@ -133,6 +166,9 @@ test "addRelative: de 29/fev + 1 ano + 1 mês (vai para março)" {
|
||||||
}
|
}
|
||||||
|
|
||||||
test "addRelative: meses com overflow (31 → 28/30)" {
|
test "addRelative: meses com overflow (31 → 28/30)" {
|
||||||
|
std.debug.print("____________________________________________________\n", .{});
|
||||||
|
std.debug.print("12 - addRelative: meses com overflow (31 → 28/30)\n", .{});
|
||||||
|
|
||||||
const cases = [_]struct { base: []const u8, months: i32, expected: []const u8 }{
|
const cases = [_]struct { base: []const u8, months: i32, expected: []const u8 }{
|
||||||
.{ .base = "2023-01-31", .months = 1, .expected = "2023-02-28" }, // não bissexto
|
.{ .base = "2023-01-31", .months = 1, .expected = "2023-02-28" }, // não bissexto
|
||||||
.{ .base = "2024-01-31", .months = 1, .expected = "2024-02-29" }, // bissexto
|
.{ .base = "2024-01-31", .months = 1, .expected = "2024-02-29" }, // bissexto
|
||||||
|
|
@ -156,6 +192,9 @@ test "addRelative: meses com overflow (31 → 28/30)" {
|
||||||
}
|
}
|
||||||
|
|
||||||
test "addRelative: combinação anos + meses + dias (bissexto envolvido)" {
|
test "addRelative: combinação anos + meses + dias (bissexto envolvido)" {
|
||||||
|
std.debug.print("____________________________________________________\n", .{});
|
||||||
|
std.debug.print("13 - addRelative: combinação anos + meses + dias (bissexto envolvido)\n", .{});
|
||||||
|
|
||||||
// 2024-02-29 + 1 ano + 2 meses + 3 dias
|
// 2024-02-29 + 1 ano + 2 meses + 3 dias
|
||||||
// → 2025-02-28 + 2 meses → 2025-04-28 + 3 dias → 2025-05-01
|
// → 2025-02-28 + 2 meses → 2025-04-28 + 3 dias → 2025-05-01
|
||||||
const base = try Time.parse("2024-02-29");
|
const base = try Time.parse("2024-02-29");
|
||||||
|
|
@ -171,6 +210,9 @@ test "addRelative: combinação anos + meses + dias (bissexto envolvido)" {
|
||||||
}
|
}
|
||||||
|
|
||||||
test "addRelative: delta zero não altera data" {
|
test "addRelative: delta zero não altera data" {
|
||||||
|
std.debug.print("____________________________________________________\n", .{});
|
||||||
|
std.debug.print("14 - addRelative: delta zero não altera data\n", .{});
|
||||||
|
|
||||||
const base = try Time.parse("2025-07-20");
|
const base = try Time.parse("2025-07-20");
|
||||||
const delta = RelativeDelta.init(.{});
|
const delta = RelativeDelta.init(.{});
|
||||||
const result = base.addRelative(delta);
|
const result = base.addRelative(delta);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue