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); }
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); }
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); }
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(); }
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 }); } }
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); }
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); } }
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(); }
private static void CreateFile(string fileName, BigObject data) { var content = JsonConvert.SerializeObject(data); File.WriteAllText(fileName, content, Encoding.UTF8); }