1
0
mirror of https://github.com/fumiama/unibase2n.git synced 2026-06-05 08:40:33 +08:00
Files
unibase2n/encode_test.go
2022-10-01 14:53:17 +08:00

148 lines
7.5 KiB
Go

package unibase2n
import (
"math/rand"
"testing"
base14 "github.com/fumiama/go-base16384"
"github.com/stretchr/testify/assert"
)
func TestEncodeBase16384(t *testing.T) {
var buf [4096]byte
_, err := rand.Read(buf[:])
if err != nil {
t.Fatal(err)
}
for i := 1; i <= 4096; i++ {
if !assert.Equal(t, base14.Encode(buf[:i]), Base16384.Encode(buf[:i])) {
t.Fatal("expect:", base14.EncodeToString(buf[:i]), "actual:", Base16384.EncodeToString(buf[:i]))
}
}
}
func TestEncodeBase8192(t *testing.T) {
assert.Equal(t, "눠찁", Base8192.EncodeString("1"))
assert.Equal(t, "눦됀찂", Base8192.EncodeString("12"))
assert.Equal(t, "눦듌찃", Base8192.EncodeString("123"))
assert.Equal(t, "눦듌였찄", Base8192.EncodeString("1234"))
assert.Equal(t, "눦듌옚밀찅", Base8192.EncodeString("12345"))
assert.Equal(t, "눦듌옚뽠찆", Base8192.EncodeString("123456"))
assert.Equal(t, "눦듌옚뽣먀찇", Base8192.EncodeString("1234567"))
assert.Equal(t, "눦듌옚뽣며찈", Base8192.EncodeString("12345678"))
assert.Equal(t, "눦듌옚뽣며멀찉", Base8192.EncodeString("123456789"))
assert.Equal(t, "눦듌옚뽣며멌가찊", Base8192.EncodeString("1234567890"))
assert.Equal(t, "눦듌옚뽣며멌궈찋", Base8192.EncodeString("12345678901"))
if !assert.Equal(t, "눦듌옚뽣며멌궉븀찌", Base8192.EncodeString("123456789012")) {
t.Fatal("123456789012")
}
if !assert.Equal(t, "눦듌옚뽣며멌궉븳", Base8192.EncodeString("1234567890123")) {
t.Fatal("1234567890123")
}
if !assert.Equal(t, "눦듌옚뽣며멌궉븳늀찁", Base8192.EncodeString("12345678901234")) {
t.Fatal("12345678901234")
}
}
func TestEncodeBase256(t *testing.T) {
assert.Equal(t, "ᄱ", Base256.EncodeString("1"))
assert.Equal(t, "ᄱᄲ", Base256.EncodeString("12"))
assert.Equal(t, "ᄱᄲᄳ", Base256.EncodeString("123"))
assert.Equal(t, "ᄱᄲᄳᄴ", Base256.EncodeString("1234"))
assert.Equal(t, "ᄱᄲᄳᄴᄵ", Base256.EncodeString("12345"))
assert.Equal(t, "ᄱᄲᄳᄴᄵᄶ", Base256.EncodeString("123456"))
assert.Equal(t, "ᄱᄲᄳᄴᄵᄶᄷ", Base256.EncodeString("1234567"))
assert.Equal(t, "ᄱᄲᄳᄴᄵᄶᄷᄸ", Base256.EncodeString("12345678"))
assert.Equal(t, "ᄱᄲᄳᄴᄵᄶᄷᄸᄹ", Base256.EncodeString("123456789"))
assert.Equal(t, "ᄱᄲᄳᄴᄵᄶᄷᄸᄹᄰ", Base256.EncodeString("1234567890"))
assert.Equal(t, "ᄱᄲᄳᄴᄵᄶᄷᄸᄹᄰᄱ", Base256.EncodeString("12345678901"))
if !assert.Equal(t, "ᄱᄲᄳᄴᄵᄶᄷᄸᄹᄰᄱᄲ", Base256.EncodeString("123456789012")) {
t.Fatal("123456789012")
}
if !assert.Equal(t, "ᄱᄲᄳᄴᄵᄶᄷᄸᄹᄰᄱᄲᄳ", Base256.EncodeString("1234567890123")) {
t.Fatal("1234567890123")
}
if !assert.Equal(t, "ᄱᄲᄳᄴᄵᄶᄷᄸᄹᄰᄱᄲᄳᄴ", Base256.EncodeString("12345678901234")) {
t.Fatal("12345678901234")
}
}
func TestEncodeBase128(t *testing.T) {
assert.Equal(t, "⑸⒠⓵", Base128.EncodeString("1"))
assert.Equal(t, "⑸⒬⒠⓶", Base128.EncodeString("12"))
assert.Equal(t, "⑸⒬⒦⒐⓷", Base128.EncodeString("123"))
assert.Equal(t, "⑸⒬⒦⒓⒀⓸", Base128.EncodeString("1234"))
assert.Equal(t, "⑸⒬⒦⒓⒁⒴⓹", Base128.EncodeString("12345"))
assert.Equal(t, "⑸⒬⒦⒓⒁⒴Ⓦ⓺", Base128.EncodeString("123456"))
assert.Equal(t, "⑸⒬⒦⒓⒁⒴Ⓦ⒗", Base128.EncodeString("1234567"))
assert.Equal(t, "⑸⒬⒦⒓⒁⒴Ⓦ⒗⑼①⓵", Base128.EncodeString("12345678"))
assert.Equal(t, "⑸⒬⒦⒓⒁⒴Ⓦ⒗⑼⑮⒀⓶", Base128.EncodeString("123456789"))
assert.Equal(t, "⑸⒬⒦⒓⒁⒴Ⓦ⒗⑼⑮⒆①⓷", Base128.EncodeString("1234567890"))
assert.Equal(t, "⑸⒬⒦⒓⒁⒴Ⓦ⒗⑼⑮⒆④⑨⓸", Base128.EncodeString("12345678901"))
if !assert.Equal(t, "⑸⒬⒦⒓⒁⒴Ⓦ⒗⑼⑮⒆④⑩⒨⓹", Base128.EncodeString("123456789012")) {
t.Fatal("123456789012")
}
if !assert.Equal(t, "⑸⒬⒦⒓⒁⒴Ⓦ⒗⑼⑮⒆④⑩⒨Ⓠ⓺", Base128.EncodeString("1234567890123")) {
t.Fatal("1234567890123")
}
if !assert.Equal(t, "⑸⒬⒦⒓⒁⒴Ⓦ⒗⑼⑮⒆④⑩⒨Ⓠ⒔", Base128.EncodeString("12345678901234")) {
t.Fatal("12345678901234")
}
}
func TestEncodeBase64Gua(t *testing.T) {
assert.Equal(t, "䷌䷐☰", Base64Gua.EncodeString("1"))
assert.Equal(t, "䷌䷓䷈☱", Base64Gua.EncodeString("12"))
assert.Equal(t, "䷌䷓䷈䷳", Base64Gua.EncodeString("123"))
assert.Equal(t, "䷌䷓䷈䷳䷍䷀☰", Base64Gua.EncodeString("1234"))
assert.Equal(t, "䷌䷓䷈䷳䷍䷃䷔☱", Base64Gua.EncodeString("12345"))
assert.Equal(t, "䷌䷓䷈䷳䷍䷃䷔䷶", Base64Gua.EncodeString("123456"))
assert.Equal(t, "䷌䷓䷈䷳䷍䷃䷔䷶䷍䷰☰", Base64Gua.EncodeString("1234567"))
assert.Equal(t, "䷌䷓䷈䷳䷍䷃䷔䷶䷍䷳䷠☱", Base64Gua.EncodeString("12345678"))
assert.Equal(t, "䷌䷓䷈䷳䷍䷃䷔䷶䷍䷳䷠䷹", Base64Gua.EncodeString("123456789"))
assert.Equal(t, "䷌䷓䷈䷳䷍䷃䷔䷶䷍䷳䷠䷹䷌䷀☰", Base64Gua.EncodeString("1234567890"))
assert.Equal(t, "䷌䷓䷈䷳䷍䷃䷔䷶䷍䷳䷠䷹䷌䷃䷄☱", Base64Gua.EncodeString("12345678901"))
if !assert.Equal(t, "䷌䷓䷈䷳䷍䷃䷔䷶䷍䷳䷠䷹䷌䷃䷄䷲", Base64Gua.EncodeString("123456789012")) {
t.Fatal("123456789012")
}
if !assert.Equal(t, "䷌䷓䷈䷳䷍䷃䷔䷶䷍䷳䷠䷹䷌䷃䷄䷲䷌䷰☰", Base64Gua.EncodeString("1234567890123")) {
t.Fatal("1234567890123")
}
if !assert.Equal(t, "䷌䷓䷈䷳䷍䷃䷔䷶䷍䷳䷠䷹䷌䷃䷄䷲䷌䷳䷐☱", Base64Gua.EncodeString("12345678901234")) {
t.Fatal("12345678901234")
}
}
func TestEncodeBase32(t *testing.T) {
assert.Equal(t, "▆▄■", Base32.EncodeString("1"))
assert.Equal(t, "▆▄▙▀□", Base32.EncodeString("12"))
assert.Equal(t, "▆▄▙▃▆▢", Base32.EncodeString("123"))
assert.Equal(t, "▆▄▙▃▆▍▀▣", Base32.EncodeString("1234"))
assert.Equal(t, "▆▄▙▃▆▍▁▕", Base32.EncodeString("12345"))
assert.Equal(t, "▆▄▙▃▆▍▁▕▆▘■", Base32.EncodeString("123456"))
assert.Equal(t, "▆▄▙▃▆▍▁▕▆▘▛▐□", Base32.EncodeString("1234567"))
assert.Equal(t, "▆▄▙▃▆▍▁▕▆▘▛▓▐▢", Base32.EncodeString("12345678"))
assert.Equal(t, "▆▄▙▃▆▍▁▕▆▘▛▓▐▎█▣", Base32.EncodeString("123456789"))
}
func TestEncodeBase16(t *testing.T) {
assert.Equal(t, "㆓㆑", Base16.EncodeString("1"))
assert.Equal(t, "㆓㆑㆓㆒", Base16.EncodeString("12"))
assert.Equal(t, "㆓㆑㆓㆒㆓㆓", Base16.EncodeString("123"))
assert.Equal(t, "㆓㆑㆓㆒㆓㆓㆓㆔", Base16.EncodeString("1234"))
assert.Equal(t, "㆓㆑㆓㆒㆓㆓㆓㆔㆓㆕", Base16.EncodeString("12345"))
assert.Equal(t, "㆓㆑㆓㆒㆓㆓㆓㆔㆓㆕㆓㆖", Base16.EncodeString("123456"))
assert.Equal(t, "㆓㆑㆓㆒㆓㆓㆓㆔㆓㆕㆓㆖㆓㆗", Base16.EncodeString("1234567"))
assert.Equal(t, "㆓㆑㆓㆒㆓㆓㆓㆔㆓㆕㆓㆖㆓㆗㆓㆘", Base16.EncodeString("12345678"))
assert.Equal(t, "㆓㆑㆓㆒㆓㆓㆓㆔㆓㆕㆓㆖㆓㆗㆓㆘㆓㆙", Base16.EncodeString("123456789"))
}
func TestEncodeBase8Gua(t *testing.T) {
assert.Equal(t, "☱☴☲⚊", Base8Gua.EncodeString("1"))
assert.Equal(t, "☱☴☲☳☱☰⚋", Base8Gua.EncodeString("12"))
assert.Equal(t, "☱☴☲☳☱☰☶☳", Base8Gua.EncodeString("123"))
assert.Equal(t, "☱☴☲☳☱☰☶☳☱☵☰⚊", Base8Gua.EncodeString("1234"))
assert.Equal(t, "☱☴☲☳☱☰☶☳☱☵☰☳☲☴⚋", Base8Gua.EncodeString("12345"))
assert.Equal(t, "☱☴☲☳☱☰☶☳☱☵☰☳☲☴☶☶", Base8Gua.EncodeString("123456"))
}