protected override void PopulateData() { using (var session = Domain.OpenSession()) using (var transaction = session.OpenTransaction()) { var item = new TestEntity(session) { String = "test1" }; var item2 = new TestEntity2(session) { String = "test2", Value3 = MyEnum.Foo }; item.Link = item2; var list = new ListEntity(session) { String = "test3", Owner = item, Link = item2 }; item.LinkOnList = list; var item3 = new TestEntity(session) { String = "test4" }; transaction.Complete(); } }
public void CanPersistLinqSelectIEnumerable() { using (var store = NewDocumentStore()) { using (var session = store.OpenSession()) { var entity = new TestEntity2 { Id = 1, Property = new[] { 1, 2 }.Select(x => x - 1) }; session.Store(entity); session.SaveChanges(); } using (var session = store.OpenSession()) { var loadedEntity = session.Load <TestEntity2>(1); var array = loadedEntity.Property.ToList(); Assert.Equal(0, array[0]); Assert.Equal(1, array[1]); } } }
public void SerializeToString_WhenDateTime_ExpectSerializeAndDeserialize() { // Arrange var protocolBufferSerializer = new ProtocolBufferSerializer(true); var testEntity = new TestEntity2 { Value1 = new DateTime(2018, 1, 1), Value2 = 2.53m, }; var serialized = testEntity.SerializeToByteArray().ToBase64String(); var des = serialized.DecodeBase64ToString().Deserialize <TestEntity2>(); return; // Act var stopwatch = Stopwatch.StartNew(); var serializeToString = protocolBufferSerializer.SerializeToString <TestEntity2>(testEntity); var deserializeFromByteArray = protocolBufferSerializer.DeserializeFromString(serializeToString, typeof(TestEntity2)) as TestEntity2; stopwatch.Stop(); // Assert this.WriteTimeElapsed(stopwatch); Assert.That(deserializeFromByteArray.Value1, Is.EqualTo(new DateTime(2018, 1, 1))); Assert.That(deserializeFromByteArray.Value2, Is.EqualTo(2.53m)); }
public void CanPersistLinqSelectIEnumerable() { using (var store = NewDocumentStore()) { using (var session = store.OpenSession()) { var entity = new TestEntity2 { Id = 1, Property = new[] { 1, 2 }.Select(x => x - 1) }; session.Store(entity); session.SaveChanges(); } using (var session = store.OpenSession()) { var loadedEntity = session.Load<TestEntity2>(1); var array = loadedEntity.Property.ToList(); Assert.Equal(0, array[0]); Assert.Equal(1, array[1]); } } }
public void Given_EntitiesOfDifferentTypes_When_ComparingEquality_Then_ReturnsFalse() { // Arrance var leftEntity = new TestEntity(); var rightEntity = new TestEntity2(); // Act var actual = leftEntity.Equals(rightEntity); // Assert Assert.False(actual); }
protected override void PopulateData() { using (var session = Domain.OpenSession()) using (var transaction = session.OpenTransaction()) { var a = new TestEntity1 { CreationDate = DateTime.UtcNow.AddDays(-10) }; var b = new TestEntity1 { CreationDate = DateTime.UtcNow.AddDays(-9) }; var c = new TestEntity1 { CreationDate = DateTime.UtcNow.AddDays(-8) }; var d = new TestEntity2 { CreationDate = DateTime.UtcNow.AddDays(-6), DirectlyDeclaredField = 10, Value = 100, Comment = "100" }; var e = new TestEntity2 { CreationDate = DateTime.UtcNow.AddDays(-5), DirectlyDeclaredField = 11, Value = 101, Comment = "101" }; var f = new TestEntity2 { CreationDate = DateTime.UtcNow.AddDays(-4), DirectlyDeclaredField = 12, Value = 102, Comment = "102" }; var g = new TestEntity3 { CreationDate = DateTime.UtcNow.AddDays(-3), DirectlyDeclaredField = 20, Value = 200, Comment = "200", Field4 = 1.1f }; var h = new TestEntity3 { CreationDate = DateTime.UtcNow.AddDays(-2), DirectlyDeclaredField = 21, Value = 201, Comment = "201", Field4 = 1.2f }; var i = new TestEntity3 { CreationDate = DateTime.UtcNow.AddDays(-1), DirectlyDeclaredField = 22, Value = 202, Comment = "202", Field4 = 1.3f }; var j = new TestEntity3 { CreationDate = DateTime.UtcNow.AddDays(-1), DirectlyDeclaredField = 22, Value = 202, Comment = "202", Field4 = 1.4f }; _ = g.Field5.Add(d); _ = g.Field5.Add(h); _ = h.Field5.Add(e); _ = h.Field5.Add(i); _ = i.Field5.Add(j); var status = new Status { Name = "test" }; _ = new TestEntity4 { TestField = "Test", Status = status }; transaction.Complete(); } }
public void CanCopyOneEntityToAnother() { var source = new TestEntity { Id = 1, Name = "Name" }; var copy = new TestEntity2(); source.MapTo(copy); Assert.Equal(source.Name, copy.Name); Assert.Equal(source.Id, copy.Id); }
public void CustomLocalizableAttribute() { Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(""); var e = new TestEntity2(); e.Extensions.InitializeRules(); e.Extensions.BrokenRules[0].Message.ShouldEqual("Neutral"); Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("pl-PL"); e = new TestEntity2(); e.Extensions.InitializeRules(); e.Extensions.BrokenRules[0].Message.ShouldEqual("Polish"); }
public void Test03() { using (var session = Domain.OpenSession(new SessionConfiguration(SessionOptions.ClientProfile | SessionOptions.AutoActivation))) { var testEntity = new TestEntity { Text = "TestEntityTest03" }; var testEntity2 = new TestEntity2(session, testEntity); Assert.That(testEntity.Key.IsTemporary(Domain), Is.True); Assert.That(testEntity2.Key.IsTemporary(Domain), Is.False); Assert.That(testEntity2.Key.Value.GetValue(1), Is.LessThan(0)); Assert.DoesNotThrow(() => session.SaveChanges()); Assert.That(testEntity.Key.IsTemporary(Domain), Is.False); Assert.That(testEntity2.Key.IsTemporary(Domain), Is.False); Assert.That(testEntity2.Key.Value.GetValue(1), Is.GreaterThan(0)); } }
public void SimpleSerializerTest() { var stream = new MemoryStream(); var reader = new BinaryReader(stream); var writer = new BinaryWriter(stream); var serializer = new SimpleEntitySerializer<TestEntity2>(); serializer.Serialize(writer, new TestEntity2(), new SerializationInfo()); var ent = new TestEntity2(); // TODO: CREATE EMPTY ENTITY stream.Position = 0; serializer.Deserialize(reader, ref ent, new SerializationInfo()); Assert.AreEqual(Int64.MaxValue, ent.Int64); Assert.AreEqual(Int32.MaxValue, ent.Int32); Assert.AreEqual(Int16.MaxValue, ent.Int16); Assert.AreEqual(Double.MaxValue, ent.Double); Assert.AreEqual(Single.MaxValue, ent.Float); Assert.AreEqual("TEST", ent.String); }
protected override void PopulateData() { using (var session = Domain.OpenSession()) using (var transaction = session.OpenTransaction()) { var testEntity3 = new TestEntity3(session) { Name = "test" }; var testEntity2 = new TestEntity2(session) { Name = "test", TestEntity2LinkToTestEntity3 = testEntity3 }; _ = new TestEntity1(session) { TestEntity1LinkToTestEntity2 = testEntity2 }; _ = new TestEntity1(session); transaction.Complete(); } }
public virtual void execute() { long start = Environment.TickCount; // Do something for nearly 60 seconds (job gets invoked every 60 seconds while (Environment.TickCount - start < 58000) { IList <TestEntity> allTestEntities = null; IList <TestEntity2> allTest2Entities = null; ICache newCache = CacheProvider.GetCurrentCache(); CacheContext.ExecuteWithCache <Object>(newCache, delegate() { allTestEntities = HelloWorldService.GetAllTestEntities(); allTest2Entities = HelloWorldService.GetAllTest2Entities(); return(null); }); if (allTestEntities.Count > 0) { IRevertChangesSavepoint savepoint = RevertChangesHelper.CreateSavepoint(allTestEntities); allTestEntities[0].MyString = "Hallo"; allTestEntities[0].Version = -67; allTestEntities[0].Relation = null; savepoint.RevertChanges(); } // Evaluate random type of change ( INSERT / UPDATE / DELETE / NOTHING) double randomChange = random.NextDouble(); bool entity2Change = random.NextDouble() > 0.66; // Evaluate entity to change by its index in the result list of existing entities (necessary for UPDATE / // DELETE) int changeIndex = (int)(random.NextDouble() * allTestEntities.Count); // Evaluate entity2 to select its index in the result list of existing entities (necessary for INSERT of // entity1) int selectEntity2Index = (int)(random.NextDouble() * allTest2Entities.Count); // Evaluate new value to change on chosen entity (necessary for INSERT / UPDATE) int randomNewValue = (int)(random.NextDouble() * Int32.MaxValue / 2); // Map from randomChange to the enum-based operation to execute ChangeOperation changeOperation; if (randomChange < 0.10) // 10% probability for INSERTs { changeOperation = ChangeOperation.INSERT; } else if (randomChange < 0.20) // 10% probability for DELETEs { changeOperation = ChangeOperation.DELETE; } else if (randomChange < 0.40) // 20% probability for doing NOTHING { changeOperation = ChangeOperation.NOTHING; } else // 60% probablity for doing an ordinary UPDATE on an entity { changeOperation = ChangeOperation.UPDATE; } if (entity2Change && allTestEntities.Count > 0) { // If there are less than 10 entities, force to insertion of one if (allTest2Entities.Count < 10)// || ChangeOperation.INSERT.Equals(changeOperation)) { TestEntity2 newEntity = new TestEntity2(); newEntity.MyValue2 = randomNewValue; HelloWorldService.SaveTestEntities2(newEntity); allTest2Entities.Add(newEntity); } //// If there are more than 20 entities, force to deletion of one else if (allTestEntities.Count > 20 || ChangeOperation.DELETE.Equals(changeOperation)) { TestEntity2 deleteEntity = allTest2Entities[selectEntity2Index]; allTest2Entities.RemoveAt(selectEntity2Index); HelloWorldService.DeleteTestEntities2(deleteEntity); } else if (ChangeOperation.UPDATE.Equals(changeOperation)) { TestEntity2 updateEntity = allTest2Entities[selectEntity2Index]; updateEntity.MyValue2 = randomNewValue; HelloWorldService.SaveTestEntities2(updateEntity); } else { TestEntity2 noOpEntity = allTest2Entities[selectEntity2Index]; // Change nothing, but try to save entity (results in NO-OP) HelloWorldService.SaveTestEntities2(noOpEntity); } } else { // If there are less than 10 entities, force to insertion of one if (allTestEntities.Count < 10)// || ChangeOperation.INSERT.Equals(changeOperation)) { TestEntity newEntity = new TestEntity(); newEntity.MyValue = randomNewValue; HelloWorldService.SaveTestEntities(newEntity); allTestEntities.Add(newEntity); } // If there are more than 20 entities, force to deletion of one else if (allTestEntities.Count > 20 || ChangeOperation.DELETE.Equals(changeOperation)) { TestEntity deleteEntity = allTestEntities[changeIndex]; allTestEntities.RemoveAt(changeIndex); HelloWorldService.DeleteTestEntities(deleteEntity); } else if (ChangeOperation.UPDATE.Equals(changeOperation)) { TestEntity updateEntity = allTestEntities[changeIndex]; TestEntity2 testEntity2 = allTest2Entities.Count > 0 ? allTest2Entities[selectEntity2Index] : null; updateEntity.MyValue = randomNewValue; updateEntity.Relation = testEntity2; updateEntity.EmbeddedObject.Name = "Name_" + randomNewValue; updateEntity.EmbeddedObject.Value = randomNewValue; HelloWorldService.SaveTestEntities(updateEntity); } else { TestEntity noOpEntity = allTestEntities[changeIndex]; // Change nothing, but try to save entity (results in NO-OP) HelloWorldService.SaveTestEntities(noOpEntity); } } Thread.Sleep(500); } }