public void If_the_same_value_is_used_then_the_result_should_always_be_the_same()
        {
            var obj = new ImmutableObject(value: 13);

            Decorator.Add(obj);
            Decorator.Add(obj);
        }
Esempio n. 2
0
        public void LatestObjectVersion()
        {
            var obj = new ImmutableObject()
            {
                Json = _faker.Random.String()
            };
            int id = _chain.Insert(obj);

            Assert.AreEqual(1, id);
            Assert.AreEqual(0, obj.Version);
            obj.Json = _faker.Random.String();
            int id1 = _chain.Insert(obj);

            Assert.AreEqual(1, id1);
            Assert.AreEqual(1, obj.Version);
            obj.Json = _faker.Random.String();
            int id2 = _chain.Insert(obj);

            Assert.AreEqual(1, id2);
            Assert.AreEqual(2, obj.Version);
            var result = _chain.LatestVersion(1);

            Assert.AreEqual(1, result.Id);
            Assert.AreEqual(2, result.Version);
            Assert.AreEqual(3, result.Index);
        }
        public ImmutableObject Add(ImmutableObject obj)
        {
            var result = _calculator.Add(obj);

            _context.WriteLine($"Value: {result.Value}");

            return(result);
        }
Esempio n. 4
0
 public bool ContainsObject(ImmutableObject obj)
 {
     if (obj == null)
     {
         return(false);
     }
     return(this.ContainsObject(((ImmutableObjectBase)obj).MId));
 }
Esempio n. 5
0
 public MutableObject GetObject(ImmutableObject obj)
 {
     if (obj == null)
     {
         return(null);
     }
     return(this.GetObject(((ImmutableObjectBase)obj).MId));
 }
Esempio n. 6
0
        public void CheckTheAdapterFunctionality()
        {
            var i         = new ImmutableObject();
            var exGuy     = new ExpectedObject(i);
            var exContext = new ExpectedContext();

            exContext.Use(exGuy);
            Assert.Equal(i.DoSomething(), exGuy.DoAnotherSomething());
        }
 private void CollectObjectInstances(ImmutableObject obj, ImmutableList <ImmutableObject> .Builder result)
 {
     if (!(obj is MetaRootNamespace))
     {
         result.Add(obj);
     }
     foreach (var child in obj.MChildren)
     {
         this.CollectObjectInstances(child, result);
     }
 }
Esempio n. 8
0
 public void Insert()
 {
     for (int i = 0; i < 1000; i++)
     {
         var obj = new ImmutableObject()
         {
             Json = _faker.Random.String()
         };
         _chain.Insert(obj);
         Debug.WriteLine($"Added object {i} {obj.Hash}");
     }
 }
Esempio n. 9
0
        public void MyTestMethod()
        {
            var a = new ImmutableObject(5);
            var b = new ImmutableObject(5);
            var t = new Test(5);
            var s = new Test(5);

            var i = new InitTest {
                Value = 5
            };

            Assert.AreEqual(t, s);
            Assert.AreEqual(a, b);
            Assert.IsTrue(t.Equals(s));
            int g = t.GetHashCode();

            Assert.AreEqual(g, 2);
        }
Esempio n. 10
0
        public void PreviousObjectVersions()
        {
            var obj = new ImmutableObject()
            {
                Json = _faker.Random.String()
            };
            int id = _chain.Insert(obj);

            Assert.AreEqual(1, id);
            Assert.AreEqual(0, obj.Version);
            obj.Json = _faker.Random.String();
            _chain.Insert(new ImmutableObject
            {
                Json = _faker.Random.String()
            });
            int id1 = _chain.Insert(obj);

            Assert.AreEqual(1, id1);
            Assert.AreEqual(1, obj.Version);
            _chain.Insert(new ImmutableObject
            {
                Json = _faker.Random.String()
            });
            obj.Json = _faker.Random.String();
            int id2 = _chain.Insert(obj);

            Assert.AreEqual(1, id2);
            Assert.AreEqual(2, obj.Version);
            _chain.Insert(new ImmutableObject
            {
                Json = _faker.Random.String()
            });
            var allVersions = _chain.PreviouVersions(id2).ToList();

            Assert.AreEqual(3, allVersions.Count);
            Assert.AreEqual(1, allVersions[0].Id);
            Assert.AreEqual(1, allVersions[1].Id);
            Assert.AreEqual(1, allVersions[2].Id);
            Assert.AreEqual(2, allVersions[0].Version);
            Assert.AreEqual(1, allVersions[1].Version);
            Assert.AreEqual(0, allVersions[2].Version);
            Assert.AreEqual(4, _chain.UniqueObjectCount);
        }
Esempio n. 11
0
        public void ModifyExisting()
        {
            for (int i = 0; i < 1000; i++)
            {
                var obj = new ImmutableObject()
                {
                    Json = _faker.Random.String()
                };
                int originalId    = _chain.Insert(obj);
                int originalIndex = obj.Index;
                Assert.AreEqual(0, obj.Version);

                obj.Json = _faker.Random.String();
                int newId = _chain.Insert(obj);
                Assert.AreEqual(originalId, newId);
                Assert.AreEqual(1, obj.Version);
                Assert.AreNotEqual(obj.Index, originalIndex);
            }

            Assert.AreEqual(1000, _chain.UniqueObjectCount);
        }
Esempio n. 12
0
        public void UniqueObjectCount()
        {
            var obj = new ImmutableObject()
            {
                Json = _faker.Random.String()
            };

            _chain.Insert(obj);
            Assert.AreEqual(1, _chain.UniqueObjectCount);
            obj.Json = _faker.Random.String();
            Assert.AreEqual(1, _chain.UniqueObjectCount);
            var obj2 = new ImmutableObject()
            {
                Json = _faker.Random.String()
            };

            _chain.Insert(obj2);
            Assert.AreEqual(2, _chain.UniqueObjectCount);
            obj2.Json = _faker.Random.String();
            _chain.Insert(obj2);
            Assert.AreEqual(2, _chain.UniqueObjectCount);
        }
Esempio n. 13
0
        public void Add_method_must_add_one_more()
        {
            var obj = new ImmutableObject(value: 13);

            Decorator.Add(obj);
        }
Esempio n. 14
0
 public ImmutableObject Add(ImmutableObject obj)
 {
     return(new ImmutableObject(obj.Value + 1));
 }