コード例 #1
0
ファイル: StrReadWriteTests.cs プロジェクト: ikvm/StackXML
        public static void Read()
        {
            var reader       = new StrReader(c_target.AsSpan(), ' ');
            var hello        = reader.GetString();
            var world        = reader.GetString();
            var fivePointSix = reader.GetDouble();
            var ff           = reader.GetInt();

            Assert.Equal("hello", hello.ToString());
            Assert.Equal("world", world.ToString());
            Assert.Equal(5.6, fivePointSix);
            Assert.Equal(255, ff);
        }
コード例 #2
0
ファイル: StrReadWriteTests.cs プロジェクト: ikvm/StackXML
        public static void TestReadToEnd()
        {
            var actual = new[]
            {
                "1", "2", "3", "4", "5"
            };

            var input  = "1,2,3,4,5";
            var reader = new StrReader(input.AsSpan(), ',');

            var readToEnd = reader.ReadToEnd().ToArray();

            Assert.Equal(actual, readToEnd);
        }
コード例 #3
0
ファイル: StructuredStr.cs プロジェクト: ikvm/StackXML
        public static void RoundTrip()
        {
            const char separator = '/';

            var input = new GeneratedClass
            {
                m_int     = int.MaxValue,
                m_double  = 3.14,
                m_string  = "hello world",
                m_spanStr = new SpanStr("span string")
            };

            var writer = new StrWriter(separator);

            input.Serialize(ref writer);

            var  builtString     = writer.ToString();
            bool exceptionThrown = false;

            try
            {
                writer.PutRaw('\0');
                Assert.True(false); // lol
            } catch (ObjectDisposedException)
            {
                exceptionThrown = true;
                // good
            }
            Assert.True(exceptionThrown);
            var reader = new StrReader(builtString.AsSpan(), separator);

            var output = new GeneratedClass();

            output.Deserialize(ref reader);

            Assert.Equal(input.m_int, output.m_int);
            Assert.Equal(input.m_double, output.m_double);
            Assert.Equal(input.m_string, output.m_string);
            Assert.Equal(input.m_spanStr.ToString(), output.m_spanStr.ToString());
        }
コード例 #4
0
ファイル: InterpretBool.cs プロジェクト: ikvm/StackXML
 public static void InterpretError()
 {
     Assert.Throws <InvalidDataException>(() => StrReader.InterpretBool("yep"));
 }
コード例 #5
0
ファイル: InterpretBool.cs プロジェクト: ikvm/StackXML
        public static void Interpret(string str, bool expected)
        {
            var actual = StrReader.InterpretBool(str.AsSpan());

            Assert.Equal(expected, actual);
        }