public void TestObjectIdElement()
        {
            VariableLengthRecord record = new VariableLengthRecord();

            var a = new ObjectId();
            var b = new ObjectId();
            var c = new ObjectId();

            Assert.IsTrue(record.GetCount() == 0);
            record.AppendValue(a);

            Assert.IsTrue(record.GetCount() == 1);
            record.AppendValue(b);
            Assert.IsTrue(record.GetCount() == 2);
            record.AppendValue(c);
            Assert.IsTrue(record.GetCount() == 3);

            var value = new ObjectId();

            Assert.IsTrue(record.GetValue(0, ref value));
            Assert.IsTrue(value.CompareTo(a) == 0);

            Assert.IsTrue(record.GetValue(1, ref value));
            Assert.IsTrue(value.CompareTo(b) == 0);

            Assert.IsTrue(record.GetValue(2, ref value));
            Assert.IsTrue(value.CompareTo(c) == 0);
        }
Example #2
0
        public void ObjectId_BsonValue()
        {
            var oid0 = ObjectId.Empty;
            var oid1 = ObjectId.NewObjectId();
            var oid2 = ObjectId.NewObjectId();
            var oid3 = ObjectId.NewObjectId();

            var c1 = new ObjectId(oid1);
            var c2 = new ObjectId(oid2.ToString());
            var c3 = new ObjectId(oid3.ToByteArray());

            Assert.AreEqual(oid0, ObjectId.Empty);
            Assert.AreEqual(oid1, c1);
            Assert.AreEqual(oid2, c2);
            Assert.AreEqual(oid3, c3);

            Assert.AreEqual(c1.CompareTo(c2), -1); // 1 < 2
            Assert.AreEqual(c2.CompareTo(c3), -1); // 2 < 3

            // serializations
            var joid = JsonSerializer.Serialize(c1, true);
            var jc1  = JsonSerializer.Deserialize(joid).AsObjectId;

            Assert.AreEqual(c1, jc1);
        }
Example #3
0
        public void ObjectId_BsonValue()
        {
            var oid0 = ObjectId.Empty;
            var oid1 = ObjectId.GenerateNewId();
            var oid2 = ObjectId.GenerateNewId();
            var oid3 = ObjectId.GenerateNewId();

            var c1 = new ObjectId(oid1.ToByteArray());
            var c2 = new ObjectId(oid2.ToString());
            var c3 = new ObjectId(oid3.ToByteArray());

            oid0.Should().Be(ObjectId.Empty);
            oid1.Should().Be(c1);
            oid2.Should().Be(c2);
            oid3.Should().Be(c3);

            c2.CompareTo(c3).Should().Be(-1); // 1 < 2
            c1.CompareTo(c2).Should().Be(-1); // 2 < 3

            // serializations
            var joid = JsonSerializer.Serialize(c1);
            var jc1  = JsonSerializer.Deserialize(joid).AsObjectId;

            jc1.Should().Be(c1);
        }
Example #4
0
        public void ObjectId_Test()
        {
            var oid0 = ObjectId.Empty;
            var oid1 = ObjectId.NewObjectId();
            var oid2 = ObjectId.NewObjectId();
            var oid3 = ObjectId.NewObjectId();

            var c1 = new ObjectId(oid1);
            var c2 = new ObjectId(oid2.ToString());
            var c3 = new ObjectId(oid3.ToByteArray());

            Assert.Equal(oid0, ObjectId.Empty);
            Assert.Equal(oid1, c1);
            Assert.Equal(oid2, c2);
            Assert.Equal(oid3, c3);

            Assert.Equal(c1.CompareTo(c2), -1); // 1 < 2
            Assert.Equal(c2.CompareTo(c3), -1); // 2 < 3

            // serializations
            var joid = JsonSerializer.Serialize(c1, true);
            var jc1 = JsonSerializer.Deserialize(joid).AsObjectId;

            Assert.Equal(c1, jc1);
        }
Example #5
0
        public void CompareToTest()
        {
            var objectId  = new ObjectId();
            var objectId2 = new ObjectId();
            var objectId3 = new ObjectId(objectId2.AsInt());

            var actual = objectId.CompareTo(objectId2);

            Assert.AreEqual(-1, actual, "Input ObjectId:<{0}>. Input Compare ObjectId:<{1}>.", objectId.AsInt(), objectId2.AsInt());

            actual = objectId2.CompareTo(objectId);
            Assert.AreEqual(1, actual, "Input ObjectId:<{0}>. Input Compare ObjectId:<{1}>.", objectId2.AsInt(), objectId.AsInt());

            actual = objectId2.CompareTo(objectId3);
            Assert.AreEqual(0, actual, "Input ObjectId:<{0}>. Input Compare ObjectId:<{1}>.", objectId2.AsInt(), objectId3.AsInt());
        }
Example #6
0
        /// <summary>
        /// Compares the current object with another object of the same type.
        /// </summary>
        /// <param name="other">An object to compare with this object.</param>
        /// <returns>
        /// A value that indicates the relative order of the objects being compared. The return value has the following meanings: Value Meaning Less than zero This object is less than the <paramref name="other" /> parameter.Zero This object is equal to <paramref name="other" />. Greater than zero This object is greater than <paramref name="other" />.
        /// </returns>
        public int CompareTo(ElectionId other)
        {
            if (other == null)
            {
                return(1);
            }

            return(_id.CompareTo(other._id));
        }
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            ObjectId senderId = (ObjectId)values[0];
            ObjectId userId   = (ObjectId)values[1];

            if (senderId.CompareTo(userId) == 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Example #8
0
 public int CompareTo(JobId other)
 {
     return(_sourceValue.CompareTo(other._sourceValue));
 }
Example #9
0
 /// <inheritdoc/>
 public int CompareTo(ItemId other)
 {
     return(value.CompareTo(other.value));
 }
Example #10
0
        public void GenerateNewStringIdTest()
        {
            var stringObjectId1 = ObjectId.GenerateNewStringId();

            Assert.Equal(24, stringObjectId1.Length);
            var objectId1 = ObjectId.Parse(stringObjectId1);

            Assert.True(objectId1.CreationTime < DateTime.Now.AddSeconds(10));
            Assert.False(objectId1.Equals("1"));
            object objectId1_1 = new ObjectId(stringObjectId1);

            Assert.True(objectId1.Equals(objectId1_1));


            var objectId2 = ObjectId.GenerateNewId();
            var objectId3 = ObjectId.GenerateNewId();

            Assert.True(objectId3.CompareTo(objectId2) > 0);
            Assert.True(objectId2.CompareTo(objectId3) < 0);
            Assert.True(objectId3 >= objectId2);
            Assert.True(objectId3 > objectId2);
            Assert.True(objectId2 < objectId3);
            Assert.True(objectId2 <= objectId3);
            Assert.True(objectId2 != objectId3);

            var objectId4 = new ObjectId(objectId2.ToString());

            Assert.True(objectId4.Equals(objectId2));
            Assert.Equal(0, objectId4.CompareTo(objectId2));
            Assert.True(objectId4.GetHashCode() == objectId2.GetHashCode());
            Assert.True(objectId2 <= objectId4);
            Assert.True(objectId2 >= objectId4);
            Assert.True(objectId2 == objectId4);

            var time1     = DateTime.Now;
            var objectId5 = ObjectId.GenerateNewId(time1);

            Assert.Equal(24, objectId5.ToString().Length);
            Assert.True(objectId5.Timestamp > 0);

            var objectId6 = new ObjectId(DateTime.Now, 10, 1, 1);

            Assert.Equal(24, objectId6.ToString().Length);
            Assert.Equal(10, objectId6.Machine);
            Assert.Equal(1, objectId6.Pid);
            Assert.Equal(1, objectId6.Increment);
            var objectId7 = ObjectId.Empty;

            Assert.Equal(default(ObjectId), objectId7);

            var millSeconds1 = ObjectId.ToMillisecondsSinceEpoch(DateTime.Now);

            Assert.True(millSeconds1 < DateTime.Now.AddSeconds(10).Ticks);

            var expectedTime1 = DateTime.SpecifyKind(DateTime.MinValue, DateTimeKind.Utc);

            Assert.Equal(expectedTime1, ObjectId.ToUniversalTime(DateTime.MinValue));
            var expectedTime2 = DateTime.SpecifyKind(DateTime.MaxValue, DateTimeKind.Utc);

            Assert.Equal(expectedTime2, ObjectId.ToUniversalTime(DateTime.MaxValue));
            Assert.Throws <ArgumentNullException>(() =>
            {
                string a = null;
                new ObjectId(a);
            });
            Assert.Throws <ArgumentNullException>(() =>
            {
                byte[] b = null;
                new ObjectId(b);
            });
            Assert.Throws <ArgumentNullException>(() =>
            {
                ObjectId.Parse(null);
            });
            Assert.Throws <ArgumentOutOfRangeException>(() =>
            {
                ObjectId.Parse("123");
            });
            Assert.Throws <ArgumentNullException>(() =>
            {
                ObjectId.ParseHexString(null);
            });
            Assert.Throws <Exception>(() =>
            {
                ObjectId.ParseHexString("12345");
            });
            Assert.Throws <ArgumentNullException>(() =>
            {
                ObjectId.ToHexString(null);
            });
            Assert.Throws <ArgumentOutOfRangeException>(() =>
            {
                new ObjectId(1, 16777216, 1, 1);
            });
            Assert.Throws <ArgumentOutOfRangeException>(() =>
            {
                new ObjectId(1, 1, 1, 16777216);
            });
            Assert.Throws <ArgumentNullException>(() =>
            {
                ObjectId.Unpack(null, out int t1, out int m1, out short p1, out int inc);
            });
            Assert.Throws <ArgumentOutOfRangeException>(() =>
            {
                var b1 = new byte[2] {
                    1, 2
                };
                ObjectId.Unpack(b1, out int t1, out int m1, out short p1, out int inc);
            });
            Assert.Throws <ArgumentOutOfRangeException>(() =>
            {
                ObjectId.Pack(1, 16777216, 1, 1);
            });
            Assert.Throws <ArgumentOutOfRangeException>(() =>
            {
                ObjectId.Pack(1, 1, 1, -1);
            });
        }
Example #11
0
 /// <summary>
 /// Compares to.
 /// </summary>
 /// <param name="other">The other.</param>
 /// <returns>System.Int32.</returns>
 /// <autogeneratedoc />
 public virtual int CompareTo(IPureObject other)
 {
     return(other == null ? 1 : ObjectId.CompareTo(other.ObjectId));
 }