Ejemplo n.º 1
0
        public void ReadTypeAnnotations_AssertUnknownSymbolException()
        {
            byte[] data = DirStructure.OwnTestFileAsBytes("binary/unknown_symbols.bindat");
            UserBinaryReader reader = new UserBinaryReader(new MemoryStream(data));

            ReaderTestCommon.ReadTypeAnnotations_AssertUnknownSymbolException(reader);
        }
Ejemplo n.º 2
0
        private void AssertReaderWriterPrescision(FileInfo file, double[] floats)
        {
            void assertReader(IIonReader reader)
            {
                foreach (var f in floats)
                {
                    Assert.AreEqual(IonType.Float, reader.MoveNext());
                    ReaderTestCommon.AssertFloatEqual(f, reader.DoubleValue());
                }

                Assert.AreEqual(IonType.None, reader.MoveNext());
            }

            void writerFunc(IIonWriter writer)
            {
                foreach (var f in floats)
                {
                    writer.WriteFloat(f);
                }

                writer.Finish();
            }

            var r = ReaderFromFile(file, InputStyle.FileStream);

            assertReader(r);

            AssertReaderWriter(assertReader, writerFunc);
        }
Ejemplo n.º 3
0
 public void OneBoolInStruct()
 {
     //simple datagram: {yolo:true}
     var oneBool = DirStructure.OwnTestFileAsBytes("binary/onebool.bindat");
     var reader = new UserBinaryReader(new MemoryStream(oneBool));
     ReaderTestCommon.OneBoolInStruct(reader);
 }
Ejemplo n.º 4
0
        public void Struct_OneBlob()
        {
            var data   = DirStructure.OwnTestFileAsBytes("binary/struct_oneblob.bindat");
            var reader = new UserBinaryReader(new MemoryStream(data));

            ReaderTestCommon.Struct_OneBlob(reader);
        }
Ejemplo n.º 5
0
        public void Empty()
        {
            var bytes  = new byte[0];
            var reader = new UserBinaryReader(new MemoryStream(bytes));

            ReaderTestCommon.Empty(reader);
        }
Ejemplo n.º 6
0
 public void TwoLayer_TestStepout_Skip()
 {
     const string fileName = "binary/twolayer.bindat";
     var data = DirStructure.OwnTestFileAsBytes(fileName);
     var reader = new UserBinaryReader(new MemoryStream(data));
     ReaderTestCommon.TwoLayer_TestStepoutSkip(reader);
 }
Ejemplo n.º 7
0
 public void TrivialStruct()
 {
     //empty struct {}
     var trivial = DirStructure.OwnTestFileAsBytes("binary/trivial.bindat");
     var reader = new UserBinaryReader(new MemoryStream(trivial));
     ReaderTestCommon.TrivialStruct(reader);
 }
Ejemplo n.º 8
0
        public void SingleIntNumberTest()
        {
            var value  = _ionValueFactory.NewInt(123);
            var reader = new UserTreeReader(value);

            ReaderTestCommon.SingleNumber(reader, 123);
        }
Ejemplo n.º 9
0
        public void Combined1()
        {
            var data = DirStructure.OwnTestFileAsBytes("binary/combined1.bindat");
            var reader = new UserBinaryReader(new MemoryStream(data));

            ReaderTestCommon.Combined1(reader);
        }
Ejemplo n.º 10
0
        public void BoolValueTest()
        {
            var value  = _ionValueFactory.NewBool(true);
            var reader = new UserTreeReader(value);

            ReaderTestCommon.SingleBool(reader, true);
        }
Ejemplo n.º 11
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.º 12
0
        public void SingleIntList()
        {
            var data   = DirStructure.OwnTestFileAsBytes("binary/single_int_list.bindat");
            var reader = new UserBinaryReader(new MemoryStream(data));

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

            var reader = new UserBinaryReader(new MemoryStream(flatListInt));
            ReaderTestCommon.FlatIntList(reader);
        }
Ejemplo n.º 14
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.º 15
0
        public void ReadTypeAnnotations_SingleField()
        {
            // a singlefield structure with annotations
            // {withannot:years::months::days::hours::minutes::seconds::18}
            byte[] data = DirStructure.OwnTestFileAsBytes("binary/annot_singlefield.bindat");
            UserBinaryReader reader = new UserBinaryReader(new MemoryStream(data));

            ReaderTestCommon.ReadTypeAnnotations_SingleField(reader);
        }
Ejemplo n.º 16
0
        public void SingleSymbol()
        {
            //struct with single symbol
            //{single_symbol:'something'}
            var data = DirStructure.OwnTestFileAsBytes("binary/single_symbol.bindat");

            var reader = new UserBinaryReader(new MemoryStream(data));
            ReaderTestCommon.SingleSymbol(reader);
        }
Ejemplo n.º 17
0
        public void ReadTypeAnnotations_ZeroSymbol()
        {
            // an int with zero symbol annotation
            // $0::18
            var data = new byte[] { 0xE4, 0x81, 0x80, 0x21, 0x12 };
            var reader = new UserBinaryReader(new MemoryStream(data));

            ReaderTestCommon.ReadTypeAnnotations_ZeroSymbol(reader);
        }
Ejemplo n.º 18
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.º 19
0
        public void ValueWithTypeAnnotationSymbolsTest_AssertNoUnknownSymbolException()
        {
            string    input = "$ion_symbol_table::{ imports:[{ name: \"abc\", version: 1, max_id: 1}],symbols: [\"foo\"]}$10::$11::\"value\"";
            IIonValue data  = IonLoader.Default.Load(input);

            UserTreeReader reader = new UserTreeReader(data);

            ReaderTestCommon.ReadTypeAnnotationSymbols_AssertNoUnknownSymbolException(reader);
        }
Ejemplo n.º 20
0
        public void FloatWithTerminatingEof()
        {
            var file = DirStructure.IonTestFile("good/floatWithTerminatingEof.ion");
            var r    = ReaderFromFile(file, InputStyle.FileStream);

            Assert.AreEqual(IonType.Float, r.MoveNext());
            ReaderTestCommon.AssertFloatEqual(12.3, r.DoubleValue());

            Assert.AreEqual(IonType.None, r.MoveNext());
        }
Ejemplo n.º 21
0
        public void HasAnnotationTrueTest_ZeroSymbol()
        {
            //Must be: $0::18
            var intValue = _ionValueFactory.NewInt(18);

            intValue.AddTypeAnnotation(new SymbolToken(null, 0));
            var reader = new UserTreeReader(intValue);

            ReaderTestCommon.HasAnnotation_ZeroSymbol(reader);
        }
Ejemplo n.º 22
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.º 23
0
        public void SingleSymbolTest()
        {
            //{single_symbol:'something'}
            var value = new IonStruct {
                { "single_symbol", _ionValueFactory.NewSymbol("something") }
            };
            var reader = new UserTreeReader(value);

            ReaderTestCommon.SingleSymbol(reader);
        }
Ejemplo n.º 24
0
        public void SimpleDatagramTest()
        {
            //simple datagram: {yolo:true}
            var value = new IonStruct {
                { "yolo", _ionValueFactory.NewBool(true) }
            };
            var reader = new UserTreeReader(value);

            ReaderTestCommon.OneBoolInStruct(reader);
        }
Ejemplo n.º 25
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.º 26
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.º 27
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.º 28
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.º 29
0
        public void ListOfIntsTest()
        {
            //Must be: [123,456,789]
            var value = _ionValueFactory.NewEmptyList();

            value.Add(_ionValueFactory.NewInt(123));
            value.Add(_ionValueFactory.NewInt(456));
            value.Add(_ionValueFactory.NewInt(789));
            var reader = new UserTreeReader(value);

            ReaderTestCommon.FlatIntList(reader);
        }
Ejemplo n.º 30
0
        public void BlobPartialReadTest()
        {
            var blob = new byte[30];

            for (var i = 0; i < 30; i++)
            {
                blob[i] = (byte)i;
            }
            var value  = _ionValueFactory.NewBlob(blob);
            var reader = new UserTreeReader(value);

            ReaderTestCommon.Blob_PartialRead(30, 7, reader);
        }