Exemple #1
0
        public void RetrieveNonExistentSubject()
        {
            EAV.Store.Clients.ISubjectStoreClient client = factory.Create <EAV.Store.Clients.ISubjectStoreClient>();

            var subject = client.RetrieveSubject(-1);

            Assert.IsNull(subject, "Unexpected subject object retrieved.");
        }
Exemple #2
0
        public void RetrieveAllSubjects()
        {
            EAV.Store.Clients.ISubjectStoreClient client = factory.Create <EAV.Store.Clients.ISubjectStoreClient>();

            int nDbSubjects     = this.DbContext.Subjects.Count();
            int nClientSubjects = client.RetrieveSubjects(null, null).Count();

            Assert.AreEqual(nDbSubjects, nClientSubjects, "The number of subjects retrieved by the client does not match the number in the database.");
        }
Exemple #3
0
        public void DeleteSubject()
        {
            EAV.Store.Clients.ISubjectStoreClient client = factory.Create <EAV.Store.Clients.ISubjectStoreClient>();

            EAVStoreClient.Entity  dbEntity    = SelectRandomItem(this.DbContext.Entities);
            EAVStoreClient.Context dbContext   = SelectRandomItem(this.DbContext.Contexts);
            EAVStoreClient.Subject dbSubjectIn = CreateSubject(dbContext.Context_ID, dbEntity.Entity_ID, Guid.NewGuid().ToString());

            client.DeleteSubject(dbSubjectIn.Subject_ID);

            EAVStoreClient.Subject dbSubjectOut = this.DbContext.Subjects.SingleOrDefault(it => it.Subject_ID == dbSubjectIn.Subject_ID);

            Assert.IsNull(dbSubjectOut, "Failed to delete subject ID {0} from the database.", dbSubjectIn.Subject_ID);
        }
Exemple #4
0
        public void RetrieveRandomSubject()
        {
            var dbSubject = SelectRandomItem(this.DbContext.Subjects);

            if (dbSubject != null)
            {
                EAV.Store.Clients.ISubjectStoreClient client = factory.Create <EAV.Store.Clients.ISubjectStoreClient>();

                var subject = client.RetrieveSubject(dbSubject.Subject_ID);

                Assert.IsNotNull(subject, "Failed to retrieve subject {0}.", dbSubject.Subject_ID);
                Assert.AreEqual(dbSubject.Subject_ID, subject.SubjectID, "Subject ID values do not match.");
            }
            else
            {
                Assert.Inconclusive("No subjects were found in the database.");
            }
        }
Exemple #5
0
        public void UpdateSubject()
        {
            var    dbSubject     = SelectRandomItem(this.DbContext.Subjects);
            string oldIdentifier = dbSubject.Identifier;

            EAV.Store.Clients.ISubjectStoreClient client = factory.Create <EAV.Store.Clients.ISubjectStoreClient>();

            var subject = (EAVStoreLibrary.StoreSubject)dbSubject;

            subject.Identifier = oldIdentifier.Flip();

            client.UpdateSubject(subject);

            ResetDatabaseContext();

            dbSubject = this.dbContext.Subjects.Single(it => it.Subject_ID == subject.SubjectID);

            Assert.AreEqual(subject.Identifier, dbSubject.Identifier);
            Assert.AreNotEqual(oldIdentifier, dbSubject.Identifier);
        }
Exemple #6
0
        public void CreateDuplicateSubject_Identifier()
        {
            EAV.Store.Clients.ISubjectStoreClient client = factory.Create <EAV.Store.Clients.ISubjectStoreClient>();
            int    entityID          = SelectRandomItem(this.DbContext.Entities).Entity_ID;
            int    contextID         = SelectRandomItem(this.DbContext.Contexts).Context_ID;
            string subjectIdentifier = Guid.NewGuid().ToString();

            EAV.Store.IStoreSubject container = client.CreateSubject(new EAVStoreLibrary.StoreSubject()
            {
                Identifier = subjectIdentifier,
            }, contextID, entityID);

            Assert.IsNotNull(container, "Failed to create subject with identifier '{0}' for context ID {1} and entity ID {2}.", subjectIdentifier, contextID, entityID);

            client.CreateSubject(new EAVStoreLibrary.StoreSubject()
            {
                Identifier = subjectIdentifier,
            }, contextID, entityID);

            Assert.Fail("Failed to throw exception creating subject with duplicate name.");
        }
Exemple #7
0
        public void CreateSubject()
        {
            EAV.Store.Clients.ISubjectStoreClient client = factory.Create <EAV.Store.Clients.ISubjectStoreClient>();
            int    entityID          = SelectRandomItem(this.DbContext.Entities).Entity_ID;
            int    contextID         = SelectRandomItem(this.DbContext.Contexts).Context_ID;
            string subjectIdentifier = Guid.NewGuid().ToString();

            EAV.Store.IStoreSubject subject = client.CreateSubject(new EAVStoreLibrary.StoreSubject()
            {
                Identifier = subjectIdentifier,
            }, contextID, entityID);

            Assert.IsNotNull(subject, "Failed to create subject with identifier '{0}' for context ID {1} and entity ID {2}.", subjectIdentifier, contextID, entityID);

            ResetDatabaseContext();

            var dbSubject = this.DbContext.Subjects.SingleOrDefault(it => it.Subject_ID == subject.SubjectID);

            Assert.IsNotNull(dbSubject, String.Format("Failed to retrieve subject ID {0} from the database.", subject.SubjectID));

            Assert.AreEqual(subject.Identifier, dbSubject.Identifier, "Property 'Identifier' was not created correctly.");
        }