Exemple #1
0
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            int objSize = 512 * 512 * 127;
            int rounds  = 2;
            BartServiceClient client = new BartServiceClient("NetTcpBinding_IBartService");
            //BartService.BartServiceClient client = new BartService.BartServiceClient("BasicHttpBinding_IBartService");
            Stopwatch timer     = new Stopwatch();
            double    totalTime = 0;

            for (int r = 0; r < rounds; ++r)
            {
                timer.Restart();

                BigObject obj = client.GetBigObject(objSize);
                timer.Stop();

                Debug.WriteLine("Round: " + r);
                Debug.WriteLine("Name: " + obj.Name);
                Debug.WriteLine("Data Len: " + obj.Data.Count());

                Debug.WriteLine("Elapsed time: " + timer.Elapsed.TotalSeconds);
                totalTime += timer.Elapsed.TotalSeconds;
            }

            Debug.WriteLine("Average time: " + totalTime / rounds);
        }
Exemple #2
0
        public void Deserialize_BigObject(BigObject source)
        {
            var json         = JsonConvert.SerializeObject(source);
            var deserialized = _converter.Deserialize <BigObject>(json);

            if (source.Boo != null)
            {
                Assert.NotNull(deserialized.Boo);
                Assert.Equal(source.Boo.Bool, deserialized.Boo.Bool);
                Assert.Equal(source.Boo.Double, deserialized.Boo.Double);
                Assert.Equal(source.Boo.Float, deserialized.Boo.Float);
                Assert.Equal(source.Boo.Int, deserialized.Boo.Int);
            }

            if (source.Foo != null)
            {
                Assert.NotNull(deserialized.Foo);
                Assert.Equal(source.Foo.Bool, deserialized.Foo.Bool);
                Assert.Equal(source.Foo.Float, deserialized.Foo.Float);
                Assert.Equal(source.Foo.Int, deserialized.Foo.Int);
            }

            Assert.Equal(source.Array, deserialized.Array);
            Assert.Equal(source.Bool, deserialized.Bool);
            Assert.Equal(source.Float, deserialized.Float);
            Assert.Equal(source.Double, deserialized.Double);
            Assert.Equal(source.Int, deserialized.Int);
            Assert.Equal(source.String, deserialized.String);
        }
Exemple #3
0
        public void ParseObjectFromString(BigObject source)
        {
            var serialized = JsonConvert.SerializeObject(source);
            var converter  = _converters.Get <BigObject>();
            var result     = converter.Read((JsonObject)JsonData.Parse(serialized));

            result.Should().BeEquivalentTo(source);
        }
        public void Write(BigObject source)
        {
            var converter = _converters.Get <BigObject>();

            var jsonObject = converter.Write(source);
            var result     = converter.Read(jsonObject);

            result.Should().BeEquivalentTo(source);
        }
        public void WriteNull()
        {
            BigObject source    = null;
            var       converter = _converters.Get <BigObject>();

            // ReSharper disable once ExpressionIsAlwaysNull
            var jsonObject = converter.Write(source);

            jsonObject.Type.Should().Be(JsonDataType.Null);
        }
Exemple #6
0
        public void Serialize_Null()
        {
            BigObject source = null;

            // ReSharper disable once ExpressionIsAlwaysNull
            var json         = _converter.Serialize(source);
            var deserialized = JsonConvert.DeserializeObject <BigObject>(json);

            Assert.Null(deserialized);
        }
        public void ReadNull()
        {
            BigObject source    = null;
            var       converter = _converters.Get <BigObject>();

            // ReSharper disable once ExpressionIsAlwaysNull
            var jsonObject = converter.Write(source);
            var result     = converter.Read(jsonObject);

            result.Should().BeNull();
        }
Exemple #8
0
        public void SerializeToTextWriter(BigObject obj)
        {
            var writer = new StringWriter();

            _converter.Serialize(obj, writer);

            var serialized = writer.ToString();
            var result     = JsonConvert.DeserializeObject <BigObject>(serialized);

            result.Should().BeEquivalentTo(obj);
        }
        protected void CreateSmallObjectsCollection(tAstroMapType at = tAstroMapType.NATAL)
        {
            for (int t = (int)NPTypes.tPlanetType.PT_SUN; t <= (int)NPTypes.tPlanetType.PT_TRUE_NODE; ++t)
            {
                bool isVisible = MapPlanetsVisibility.GetValue(at, (NPTypes.tPlanetType)t);

                if (t == (int)NPTypes.tPlanetType.PT_MEAN_NODE || !isVisible)
                {
                    continue;
                }

                SpaceObject so = new BigObject(JD, (NPTypes.tPlanetType)t);
                _space_objects.Add(new SpaceObjectData()
                {
                    _so = so
                });
            }
        }
Exemple #10
0
        public void Deserialize_Object_NullProperty()
        {
            var source = new BigObject
            {
                Array  = null,
                Boo    = null,
                Foo    = null,
                String = null
            };

            var json         = JsonConvert.SerializeObject(source);
            var deserialized = _converter.Deserialize <BigObject>(json);

            Assert.Null(deserialized.Array);
            Assert.Null(deserialized.Boo);
            Assert.Null(deserialized.Foo);
            Assert.Null(deserialized.String);
        }
Exemple #11
0
        public void ReturnValidValues(BigObject values)
        {
            var fileName = $"{nameof(ReturnValidValues)}.json";

            CreateFile(fileName, values);

            try
            {
                var fileSource = new JsonFileSource(fileName, true);
                fileSource.TryGet(out var jsonObject);

                var converter = BuildConvertersCollection().Get <BigObject>();
                converter.Read(jsonObject).Should().BeEquivalentTo(values);
            }
            catch
            {
                File.Delete(fileName);
            }
        }
Exemple #12
0
        public static void Demo()
        {
            int readonlyArgument = 44;

            InArgExample(readonlyArgument);
            Console.WriteLine(readonlyArgument);

            void InArgExample(in int number)
            {
                // Next row will raise compilation error after uncomment
                // number = 19;
            }

            BigObject bigObject = new BigObject();

            bigObject.BigInt  = 9999999999.9999M;
            bigObject.BigInt2 = 9999999999.9999M;
            bigObject.BigInt3 = 9999999999.9999M;
            bigObject.BigInt4 = 9999999999.9999M;
        }
        protected List <SpaceObjectData> GreateListSOData(tAstroMapType at, tPlanetType tFrom, tPlanetType tTo)
        {
            List <SpaceObjectData> lst_objects = new List <SpaceObjectData>();

            for (int t = (int)tFrom; t <= (int)tTo; ++t)
            {
                bool isVisible = MapPlanetsVisibility.GetValue(at, (NPTypes.tPlanetType)t);

                if (!isVisible)
                {
                    continue;
                }

                SpaceObject so = new BigObject(JD, (tPlanetType)t);
                lst_objects.Add(new SpaceObjectData()
                {
                    _so = so
                });
            }
            return(lst_objects);
        }
        public override void SetUp()
        {
            base.SetUp();
            var config = new RelationalStoreConfiguration(ConnectionString);

            config.DocumentMaps.Register(new BigObjectMap(JsonStorageFormat.TextOnly));

            store           = new RelationalStore(config);
            readTransaction = store.BeginReadTransaction();

            using var writer = store.BeginWriteTransaction();

            var history = GenerateHistory();
            var doc1    = history.Take(1).ToList();
            var doc10   = history.Take(10).ToList();
            var doc100  = history.Take(100).ToList();
            var doc500  = history.Take(500).ToList();

            var rand = new Random(42);

            for (var i = 0; i < 1000; i++)
            {
                var doc = new BigObject {
                    Name = "Document " + i
                };

                var distribution = rand.Next(1, 100);
                if (distribution < 70)
                {
                    doc.History = doc1;
                }
                else if (distribution < 85)
                {
                    doc.History = doc10;
                }
                else if (distribution < 95)
                {
                    doc.History = doc100;
                }
                else if (distribution <= 100)
                {
                    doc.History = doc500;
                }

                writer.Insert(doc, new InsertOptions {
                    CommandTimeout = TimeSpan.FromSeconds(180)
                });
                if (i % 100 == 0)
                {
                    Console.WriteLine($"Inserted: {i} history: {doc.History.Count} rand: {distribution}");
                }
            }

            foreach (var item in writer.Stream <(long?Bucket, int?Count)>(
                         "select len([JSON]) as Bucket, count(*) from BigObject group by len([JSON]) order by len([JSON])"))
            {
                Console.WriteLine($"{item.Bucket} bytes: {item.Count} documents");
            }

            writer.Commit();
        }
Exemple #15
0
        private static void CreateFile(string fileName, BigObject data)
        {
            var content = JsonConvert.SerializeObject(data);

            File.WriteAllText(fileName, content, Encoding.UTF8);
        }