using MfGames.Gallium; using MfGames.Nitride.Contents; using Xunit; using Xunit.Abstractions; namespace MfGames.Nitride.Tests; /// /// Tests the various functionality of the high-level content methods and /// extension methods. /// public class EntityContentTest : NitrideTestBase { public EntityContentTest(ITestOutputHelper output) : base(output) { } [Fact] public void AddBinaryContent() { var content = new ByteArrayBinaryContent(new byte[0]); Entity entity = new Entity().SetBinaryContent(content); Assert.Equal(1, entity.Count); Assert.True(entity.HasContent()); Assert.True(entity.HasBinaryContent()); Assert.False(entity.HasTextContent()); } [Fact] public void AddTextContent() { var content = new StringTextContent("contents"); Entity entity = new Entity().SetTextContent(content); Assert.Equal(1, entity.Count); Assert.True(entity.HasContent()); Assert.False(entity.HasBinaryContent()); Assert.True(entity.HasTextContent()); } [Fact] public void SwitchBinaryToTextContent() { var binaryContent = new ByteArrayBinaryContent(new byte[0]); var textContent = new StringTextContent("contents"); Entity entity = new Entity().SetBinaryContent(binaryContent) .SetTextContent(textContent); Assert.Equal(1, entity.Count); Assert.True(entity.HasContent()); Assert.False(entity.HasBinaryContent()); Assert.True(entity.HasTextContent()); } [Fact] public void SwitchTextToBinaryContent() { var binaryContent = new ByteArrayBinaryContent(new byte[0]); var textContent = new StringTextContent("contents"); Entity entity = new Entity().SetContent(textContent) .SetContent(binaryContent); Assert.Equal(1, entity.Count); Assert.True(entity.HasContent()); Assert.True(entity.HasBinaryContent()); Assert.False(entity.HasTextContent()); } }