Ejemplo n.º 1
0
        public void HasAnnotation_AssertUnknownSymbolException()
        {
            string         input  = "$ion_symbol_table::{ imports:[{ name: \"abc\", version: 1, max_id: 1}],symbols: [\"foo\"]}$10::$11::\"value\"";
            UserTextReader reader = new UserTextReader(input);

            ReaderTestCommon.HasAnnotation_AssertUnknownSymbolException(reader);
        }
Ejemplo n.º 2
0
        public void EmptyBlob()
        {
            const string text   = "{{}}";
            var          reader = new UserTextReader(text);

            Assert.AreEqual(IonType.Blob, reader.MoveNext());
        }
Ejemplo n.º 3
0
        public void Date_2000_11_20_8_20_15_Unknown()
        {
            var        data   = DirStructure.OwnTestFileAsBytes("text/ts_2000_11_20_8_20_15_unknown.ion");
            IIonReader reader = new UserTextReader(new MemoryStream(data));

            ReaderTimestampCommon.Date_2000_11_20_8_20_15_Unknown(reader);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Deserialize a text format to object type T
        /// </summary>
        /// <param name="text">Text input</param>
        /// <typeparam name="T">Type of object to deserialize to</typeparam>
        /// <returns>Deserialized object</returns>
        public T Deserialize <T>(string text)
        {
            var reader = new UserTextReader(text);

            reader.MoveNext();
            return((T)IonSerializationPrivate.Deserialize(reader, typeof(T)));
        }
Ejemplo n.º 5
0
        public void Float_Underscore(string f, double val)
        {
            var reader = new UserTextReader(f);

            Assert.AreEqual(IonType.Float, reader.MoveNext());
            Assert.AreEqual(val, reader.DoubleValue());
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Deserialize a text format to object type T
        /// </summary>
        /// <param name="text">Text input</param>
        /// <param name="scalarConverter"></param>
        /// <typeparam name="T">Type of object to deserialize to</typeparam>
        /// <returns>Deserialized object</returns>
        public T Deserialize <T>(string text, IScalarConverter scalarConverter = null)
        {
            var reader = new UserTextReader(text);

            reader.MoveNext();
            return((T)IonSerializationPrivate.Deserialize(reader, typeof(T), scalarConverter));
        }
Ejemplo n.º 7
0
        public void Empty()
        {
            var bytes  = new byte[0];
            var reader = new UserTextReader(new MemoryStream(bytes));

            ReaderTestCommon.Empty(reader);
        }
Ejemplo n.º 8
0
        public void HasAnnotation_ZeroSymbol()
        {
            // an int with zero symbol annotation
            // $0::18
            var reader = new UserTextReader("$0::18");

            ReaderTestCommon.HasAnnotation_ZeroSymbol(reader);
        }
Ejemplo n.º 9
0
        public void HasAnnotationFalse_SingleField()
        {
            // a singlefield structure with annotations
            // {withannot:years::months::days::hours::minutes::seconds::18}
            byte[]         data   = DirStructure.OwnTestFileAsBytes("text/annot_singlefield.ion");
            UserTextReader reader = new UserTextReader(new MemoryStream(data));

            ReaderTestCommon.HasAnnotationFalse_SingleField(reader);
        }
Ejemplo n.º 10
0
        public void FlatIntList()
        {
            //a flat list of ints [123,456,789]
            var flatListInt = DirStructure.OwnTestFileAsBytes("text/flatlist_int.ion");

            var reader = new UserTextReader(new MemoryStream(flatListInt));

            ReaderTestCommon.FlatIntList(reader);
        }
Ejemplo n.º 11
0
        public void CommentThenEof(string fileName)
        {
            var fileAsStream = DirStructure.IonTestFileAsStream(fileName);
            var reader       = new UserTextReader(fileAsStream);

            Assert.AreEqual(IonType.Symbol, reader.MoveNext());
            Assert.AreEqual("abc", reader.SymbolValue().Text);
            Assert.AreEqual(IonType.None, reader.MoveNext());
        }
Ejemplo n.º 12
0
        public void CurrentType()
        {
            var bin    = Encoding.UTF8.GetBytes("true");
            var reader = new UserTextReader(new MemoryStream(bin));

            Assert.AreEqual(IonType.None, reader.CurrentType);

            reader.MoveNext();
            Assert.AreEqual(IonType.Bool, reader.CurrentType);
        }
Ejemplo n.º 13
0
        public void SingleIntList()
        {
            var data   = DirStructure.OwnTestFileAsBytes("text/single_int_list.ion");
            var reader = new UserTextReader(new MemoryStream(data));

            ReaderTestCommon.SingleIntList(reader);

            reader = new UserTextReader(Encoding.UTF8.GetString(data));
            ReaderTestCommon.SingleIntList(reader);
        }
Ejemplo n.º 14
0
        public void SingleNumber(string text, long value)
        {
            var bin    = Encoding.UTF8.GetBytes(text);
            var reader = new UserTextReader(new MemoryStream(bin));

            ReaderTestCommon.SingleNumber(reader, value);

            reader = new UserTextReader(text);
            ReaderTestCommon.SingleNumber(reader, value);
        }
Ejemplo n.º 15
0
        public void Combined1()
        {
            var data   = DirStructure.OwnTestFileAsBytes("text/combined1.ion");
            var reader = new UserTextReader(new MemoryStream(data));

            ReaderTestCommon.Combined1(reader);

            reader = new UserTextReader(Encoding.UTF8.GetString(data));
            ReaderTestCommon.Combined1(reader);
        }
Ejemplo n.º 16
0
        public void Struct_OneBlob()
        {
            var data   = DirStructure.OwnTestFileAsBytes("text/struct_oneblob.ion");
            var reader = new UserTextReader(new MemoryStream(data));

            ReaderTestCommon.Struct_OneBlob(reader);

            reader = new UserTextReader(Encoding.UTF8.GetString(data));
            ReaderTestCommon.Struct_OneBlob(reader);
        }
Ejemplo n.º 17
0
        public void OneBoolInStruct()
        {
            //simple datagram: {yolo:true}
            var oneBool = DirStructure.OwnTestFileAsBytes("text/onebool.ion");
            var reader  = new UserTextReader(new MemoryStream(oneBool));

            ReaderTestCommon.OneBoolInStruct(reader);

            reader = new UserTextReader(Encoding.UTF8.GetString(oneBool));
            ReaderTestCommon.OneBoolInStruct(reader);
        }
Ejemplo n.º 18
0
        public void EolComment(string fileName)
        {
            var fileAsStream = DirStructure.IonTestFileAsStream(fileName);
            var reader       = new UserTextReader(fileAsStream);

            Assert.AreEqual(IonType.List, reader.MoveNext());
            reader.StepIn();
            Assert.AreEqual(IonType.None, reader.MoveNext());
            reader.StepOut();
            Assert.AreEqual(IonType.None, reader.MoveNext());
        }
Ejemplo n.º 19
0
        public void TestBasicBool()
        {
            byte[] values = DirStructure.IonTestFileAsBytes("good/booleans.ion");
            string str    = Encoding.UTF8.GetString(values);

            var reader = new UserTextReader(str);

            reader.MoveNext();
            Assert.AreEqual(true, reader.BoolValue());
            var a = reader.MoveNext();

            Assert.AreEqual(false, reader.BoolValue());
        }
Ejemplo n.º 20
0
        public void SingleSymbol()
        {
            //struct with single symbol
            //{single_symbol:'something'}
            var data = DirStructure.OwnTestFileAsBytes("text/single_symbol.ion");

            var reader = new UserTextReader(new MemoryStream(data));

            ReaderTestCommon.SingleSymbol(reader);

            reader = new UserTextReader(Encoding.UTF8.GetString(data));
            ReaderTestCommon.SingleSymbol(reader);
        }
Ejemplo n.º 21
0
        public void TrivialStruct()
        {
            //empty struct {}
            var trivial = DirStructure.OwnTestFileAsBytes("text/trivial.ion");
            var text    = Encoding.UTF8.GetString(trivial);

            var reader = new UserTextReader(text);

            ReaderTestCommon.TrivialStruct(reader);

            reader = new UserTextReader(new MemoryStream(trivial));
            ReaderTestCommon.TrivialStruct(reader);
        }
Ejemplo n.º 22
0
        public void Blob_PartialRead(int size, int step)
        {
            var blob = new byte[size];

            for (var i = 0; i < size; i++)
            {
                blob[i] = (byte)i;
            }

            var text   = "{{" + Convert.ToBase64String(blob) + "}}";
            var reader = new UserTextReader(text);

            ReaderTestCommon.Blob_PartialRead(size, step, reader);
        }
Ejemplo n.º 23
0
        public void FlatScalar()
        {
            //a flat struct of scalar values:
            //boolean:true
            //str:"yes"
            //integer:123456
            //longInt:int.Max*2
            //bigInt:long.Max*10
            //double:2213.1267567f
            var flatScalar = DirStructure.OwnTestFileAsBytes("text/flat_scalar.ion");

            var reader = new UserTextReader(new MemoryStream(flatScalar));

            ReaderTestCommon.FlatScalar(reader);

            reader = new UserTextReader(Encoding.UTF8.GetString(flatScalar));
            ReaderTestCommon.FlatScalar(reader);
        }
Ejemplo n.º 24
0
        /// <summary>
        /// Load a string of Ion text.
        /// </summary>
        /// <param name="ionText">Ion text string.</param>
        /// <returns>An <see cref="IonDatagram"/> tree view.</returns>
        public IonDatagram Load(string ionText)
        {
            var reader = new UserTextReader(ionText, _catalog);

            return(WriteDatagram(reader));
        }