You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
878 B
Go
46 lines
878 B
Go
package hijricalendar
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestToISODate(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
date time.Time
|
|
want string
|
|
}{
|
|
{
|
|
name: "ramadan 3 1447",
|
|
date: time.Date(2026, 2, 20, 0, 0, 0, 0, time.UTC),
|
|
want: "1447-09-03",
|
|
},
|
|
{
|
|
name: "ramadan 1 1447",
|
|
date: time.Date(2026, 2, 18, 0, 0, 0, 0, time.UTC),
|
|
want: "1447-09-01",
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
got := ToISODate(tt.date)
|
|
require.NotEmpty(t, got)
|
|
assert.Equal(t, tt.want, got)
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestGregorianToIslamicRange(t *testing.T) {
|
|
y, m, d := GregorianToIslamic(2026, 2, 20)
|
|
assert.Positive(t, y)
|
|
assert.GreaterOrEqual(t, m, 1)
|
|
assert.LessOrEqual(t, m, 12)
|
|
assert.GreaterOrEqual(t, d, 1)
|
|
assert.LessOrEqual(t, d, 30)
|
|
}
|