/*
 * Copyright (C) 2020 The zfoo Authors
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and limitations under the License.
 */
package byteutil

import (
	"bytes"
	"testing"
)

func TestStringToBytes(t *testing.T) {
	x := "Hello Gopher!"
	y := StringToBytes(x)
	z := []byte(x)

	if !bytes.Equal(y, z) {
		t.Fail()
	}
}

func TestBytesToString(t *testing.T) {
	x := []byte("Hello Gopher!")
	y := BytesToString(x)
	z := string(x)

	if y != z {
		t.Fail()
	}
}

func TestUint64ToBytes(t *testing.T) {
	x := uint64(1234567890)
	y := Uint64ToBytes(x)
	t.Logf("Uint64ToBytes: %b", y)
}

func TestBytesToUint64(t *testing.T) {
	x := uint64(1234567890)
	y := Uint64ToBytes(x)
	z := BytesToUint64(y)
	t.Logf("%d", z)
}

func TestSplit(t *testing.T) {
	slice := Split([]byte("Hello Gopher!"), 1)
	t.Logf("%s", slice)
}

func TestJoin(t *testing.T) {
	b := Join(Split([]byte("Hello Gopher!"), 1))
	t.Logf("%s", b)
}
