amethyst/test/data_test.exs

31 lines
1.5 KiB
Elixir

defmodule WriteTest do
use ExUnit.Case
doctest Amethyst.Minecraft.Write
doctest Amethyst.Minecraft.Read
test "writing a varint" do
assert Amethyst.Minecraft.Write.varint(0) == <<0x00>>
assert Amethyst.Minecraft.Write.varint(127) == <<0x7F>>
assert Amethyst.Minecraft.Write.varint(128) == <<0x80, 0x01>>
assert Amethyst.Minecraft.Write.varint(255) == <<0xFF, 0x01>>
assert Amethyst.Minecraft.Write.varint(2_147_483_647) == <<0xFF, 0xFF, 0xFF, 0xFF, 0x07>>
assert Amethyst.Minecraft.Write.varint(-1) == <<0xFF, 0xFF, 0xFF, 0xFF, 0x0F>>
assert Amethyst.Minecraft.Write.varint(-2_147_483_648) == <<0x80, 0x80, 0x80, 0x80, 0x08>>
end
test "writing a varlong" do
assert Amethyst.Minecraft.Write.varlong(0) == <<0x00>>
assert Amethyst.Minecraft.Write.varlong(127) == <<0x7F>>
assert Amethyst.Minecraft.Write.varlong(128) == <<0x80, 0x01>>
assert Amethyst.Minecraft.Write.varlong(255) == <<0xFF, 0x01>>
assert Amethyst.Minecraft.Write.varlong(2_147_483_647) == <<0xFF, 0xFF, 0xFF, 0xFF, 0x07>>
assert Amethyst.Minecraft.Write.varlong(9_223_372_036_854_775_807) == <<0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F>>
assert Amethyst.Minecraft.Write.varlong(-1) == <<0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01>>
end
test "writing a string" do
assert Amethyst.Minecraft.Write.string("Hello, world!") == <<0x0D, "Hello, world!">>
assert Amethyst.Minecraft.Write.string("") == <<0x00>>
end
end