From b615be746ab662a866b3babc92e17471d040a770 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Tue, 15 May 2018 07:23:53 +0200 Subject: [PATCH] Added a few StringTokenizer tests. --- .../Utilities/StringTokenizerTests.cs | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 tests/Avalonia.Base.UnitTests/Utilities/StringTokenizerTests.cs diff --git a/tests/Avalonia.Base.UnitTests/Utilities/StringTokenizerTests.cs b/tests/Avalonia.Base.UnitTests/Utilities/StringTokenizerTests.cs new file mode 100644 index 0000000000..4f94b1ca80 --- /dev/null +++ b/tests/Avalonia.Base.UnitTests/Utilities/StringTokenizerTests.cs @@ -0,0 +1,69 @@ +using System; +using Avalonia.Utilities; +using Xunit; + +namespace Avalonia.Base.UnitTests.Utilities +{ + public class StringTokenizerTests + { + [Fact] + public void ReadInt32_Reads_Values() + { + var target = new StringTokenizer("123,456"); + + Assert.Equal(123, target.ReadInt32()); + Assert.Equal(456, target.ReadInt32()); + Assert.Throws(() => target.ReadInt32()); + } + + [Fact] + public void ReadDouble_Reads_Values() + { + var target = new StringTokenizer("12.3,45.6"); + + Assert.Equal(12.3, target.ReadDouble()); + Assert.Equal(45.6, target.ReadDouble()); + Assert.Throws(() => target.ReadDouble()); + } + + [Fact] + public void TryReadInt32_Reads_Values() + { + var target = new StringTokenizer("123,456"); + + Assert.True(target.TryReadInt32(out var value)); + Assert.Equal(123, value); + Assert.True(target.TryReadInt32(out value)); + Assert.Equal(456, value); + Assert.False(target.TryReadInt32(out value)); + } + + [Fact] + public void TryReadInt32_Doesnt_Throw() + { + var target = new StringTokenizer("abc"); + + Assert.False(target.TryReadInt32(out var value)); + } + + [Fact] + public void TryReadDouble_Reads_Values() + { + var target = new StringTokenizer("12.3,45.6"); + + Assert.True(target.TryReadDouble(out var value)); + Assert.Equal(12.3, value); + Assert.True(target.TryReadDouble(out value)); + Assert.Equal(45.6, value); + Assert.False(target.TryReadDouble(out value)); + } + + [Fact] + public void TryReadDouble_Doesnt_Throw() + { + var target = new StringTokenizer("abc"); + + Assert.False(target.TryReadDouble(out var value)); + } + } +}