Added TagBuilder tests
This commit is contained in:
parent
39fdbfba13
commit
c10deb3900
|
@ -0,0 +1,109 @@
|
|||
using System;
|
||||
using Xunit;
|
||||
using Xunit.Abstractions;
|
||||
|
||||
namespace SharpNBT.Tests
|
||||
{
|
||||
public class TagBuilderTest
|
||||
{
|
||||
private readonly ITestOutputHelper output;
|
||||
|
||||
public TagBuilderTest(ITestOutputHelper output)
|
||||
{
|
||||
this.output = output;
|
||||
}
|
||||
|
||||
private static byte[] GetByteArray()
|
||||
{
|
||||
var bytes = new byte[1000];
|
||||
for (var i = 0; i < 1000; i++)
|
||||
bytes[i] = Convert.ToByte((i * i * 255 + i * 7) % 100);
|
||||
return bytes;
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CreateBigTest()
|
||||
{
|
||||
|
||||
var builder = new TagBuilder("Level")
|
||||
.BeginCompound("nested compound test")
|
||||
.BeginCompound("egg").AddString("name", "Eggbert").AddFloat("value", 0.5f).EndCompound()
|
||||
.BeginCompound("ham").AddString("name", "Hampus").AddFloat("value", 0.75f).EndCompound()
|
||||
.EndCompound()
|
||||
.AddInt("iniTest", 2147483647)
|
||||
.AddByte("byteTest", 127)
|
||||
.AddString("stringTest", "HELLO WORLD THIS IS A TEST STRING \xc5\xc4\xd6!")
|
||||
.BeginList(TagType.Long, "listTest (long)")
|
||||
.AddLong(11).AddLong(12).AddLong(13).AddLong(14).AddLong(15)
|
||||
.EndList()
|
||||
.AddDouble("doubleTest", 0.49312871321823148)
|
||||
.AddFloat("floatTest", 0.49823147058486938f)
|
||||
.AddLong("longTest", 9223372036854775807L)
|
||||
.BeginList(TagType.Compound, "listTest (compound)")
|
||||
.BeginCompound().AddLong("created-on", 1264099775885L).AddString("name", "Compound tag #0").EndCompound()
|
||||
.BeginCompound().AddLong("created-on", 1264099775885L).AddString("name", "Compound tag #1").EndCompound()
|
||||
.EndList()
|
||||
.AddByteArray("byteArrayTest (the first 1000 values of (n*n*255+n*7)%100, starting with n=0 (0, 62, 34, 16, 8, ...))", GetByteArray())
|
||||
.AddShort("shortTest", 32767);
|
||||
|
||||
output.WriteLine(builder.Create().PrettyPrinted());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CreateBigTest2()
|
||||
{
|
||||
var tb = new TagBuilder("Level");
|
||||
using (tb.NewCompound("nested compound test"))
|
||||
{
|
||||
using (tb.NewCompound("egg"))
|
||||
{
|
||||
tb.AddString("name", "Eggbert");
|
||||
tb.AddFloat("value", 0.5f);
|
||||
}
|
||||
|
||||
using (tb.NewCompound("ham"))
|
||||
{
|
||||
tb.AddString("name", "Hampus");
|
||||
tb.AddFloat("value", 0.75f);
|
||||
}
|
||||
}
|
||||
|
||||
tb.AddInt("iniTest", 2147483647);
|
||||
tb.AddByte("byteTest", 127);
|
||||
tb .AddString("stringTest", "HELLO WORLD THIS IS A TEST STRING \xc5\xc4\xd6!");
|
||||
|
||||
using (tb.NewList(TagType.Long, "listTest (long"))
|
||||
{
|
||||
tb.AddLong(11);
|
||||
tb.AddLong(12);
|
||||
tb.AddLong(13);
|
||||
tb.AddLong(14);
|
||||
tb.AddLong(15);
|
||||
}
|
||||
|
||||
tb.AddDouble("doubleTest", 0.49312871321823148);
|
||||
tb.AddFloat("floatTest", 0.49823147058486938f);
|
||||
tb.AddLong("longTest", 9223372036854775807L);
|
||||
|
||||
using (tb.NewList(TagType.Compound, "listTest (compound)"))
|
||||
{
|
||||
using (tb.NewCompound(null))
|
||||
{
|
||||
tb.AddLong("created-on", 1264099775885L);
|
||||
tb.AddString("name", "Compound tag #0");
|
||||
}
|
||||
using (tb.NewCompound(null))
|
||||
{
|
||||
tb.AddLong("created-on", 1264099775885L);
|
||||
tb.AddString("name", "Compound tag #1");
|
||||
}
|
||||
}
|
||||
|
||||
tb.AddByteArray("byteArrayTest (the first 1000 values of (n*n*255+n*7)%100, starting with n=0 (0, 62, 34, 16, 8, ...))", GetByteArray());
|
||||
tb.AddShort("shortTest", 32767);
|
||||
|
||||
|
||||
output.WriteLine(tb.Create().PrettyPrinted());
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue