public void TimeStamp_NewId_HasTodaysUtcDate()
        {
            //TODO: Isolate date
            var id = SimoId.NewId();

            Assert.AreEqual(DateTime.UtcNow.Date, id.TimeStamp.Date);
        }
        public void NewId_GetTwo_NotEqualToEachOther()
        {
            var id1 = SimoId.NewId();
            var id2 = SimoId.NewId();

            Assert.AreNotEqual(id1, id2);
        }
        public void Insert_TypedDocumentWithAssignedId_IsStored()
        {
            var document = new PersonWithId {
                _id = SimoId.NewId(), Name = "Daniel"
            };

            using (var session = new SimoSession(TestHelper.CreateConnection()))
            {
                session[DbName][PersonsCollectionName].Insert(document);
            }

            var numOfDocs = TestHelper.GetDocumentCount(new { document._id }, Constants.Collections.PersonsCollectionName);

            Assert.AreEqual(1, numOfDocs);
        }
        public void NewRelation_UsingAnonymousTypes_ReferenceCreated()
        {
            var parentId        = SimoId.NewId();
            var parent          = new { _id = parentId, Name = "Daniel" };
            var fatherReference = new SimoReference
            {
                CollectionName = Constants.Collections.ParentsCollectionName,
                Id             = parent._id
            };
            var child = new { _id = SimoId.NewId(), Name = "Isabell", Father = fatherReference };

            TestHelper.InsertDocument(Constants.Collections.ParentsFullCollectionName, parent);
            TestHelper.InsertDocument(Constants.Collections.ChildsFullCollectionName, child);

            var refetchedChild = TestHelper.GetDocument(new { child._id }, child, Constants.Collections.ChildsFullCollectionName);

            Assert.AreEqual(fatherReference.Id, refetchedChild.Father.Id);
            Assert.AreEqual(fatherReference.CollectionName, refetchedChild.Father.CollectionName);
        }
        public void InsertSingle_TypedDocumentWithAssignedId_IsStored()
        {
            var person2Insert = new PersonWithId {
                _id = SimoId.NewId(), Name = "Daniel", Age = 29
            };

            using (var cn = TestHelper.CreateConnection())
            {
                var insertCommand = new InsertDocumentsCommand(cn)
                {
                    FullCollectionName = Constants.Collections.PersonsFullCollectionName,
                    Documents          = new[] { person2Insert }
                };
                insertCommand.Execute();
            }

            var refetched = TestHelper.GetDocument <PersonWithId>(person2Insert, Constants.Collections.PersonsCollectionName);

            Assert.AreEqual(person2Insert._id, refetched._id);
        }
        public void NewId_NotEqualToEmptyObjectId()
        {
            var id = SimoId.NewId();

            Assert.AreNotEqual(SimoId.Empty, id);
        }