public void TestConstructor()
        {
            var documentTypeId = Guid.NewGuid();
            var id             = 1;
            var key            = new DocumentKey(documentTypeId, id);
            var ecaDocument    = new ECADocument();

            ecaDocument.SetKey(key);

            var response = new DocumentSearchResponse <ECADocument>();

            response.Count    = 1;
            response.Coverage = 2;

            var searchResult = new SearchResult <ECADocument>();

            searchResult.Document   = ecaDocument;
            searchResult.Highlights = new HitHighlights();
            searchResult.Score      = 3;
            response.Results.Add(searchResult);
            var model = new DocumentSearchResponseViewModel(response);

            Assert.AreEqual(response.Count, model.Count);
            Assert.AreEqual(response.Coverage, model.Coverage);
            Assert.AreEqual(1, response.Results.Count);

            var firstResult = response.Results.First();

            Assert.AreEqual(searchResult.Score, firstResult.Score);
            Assert.IsTrue(Object.ReferenceEquals(ecaDocument, searchResult.Document));
            Assert.IsTrue(Object.ReferenceEquals(searchResult.Highlights, firstResult.Highlights));
        }
Exemplo n.º 2
0
        public void TestGetKey()
        {
            var key      = new DocumentKey(Guid.NewGuid(), 1);
            var instance = new ECADocument();

            instance.SetKey(key);
            Assert.IsNotNull(instance.Id);
            Assert.AreEqual(key, instance.GetKey());
        }
Exemplo n.º 3
0
        public void TestSetKey_DocumentKey()
        {
            var key      = new DocumentKey(Guid.NewGuid(), 1);
            var instance = new ECADocument();

            instance.SetKey(key);
            Assert.AreEqual(key, instance.GetKey());
            Assert.AreEqual(key.ToString(), instance.Id);
            Assert.AreEqual(key.DocumentTypeId.ToString(), instance.DocumentTypeId);
        }
        public void TestConstructor_SearchResult()
        {
            var ecaDocument  = new ECADocument();
            var searchResult = new SearchResult <ECADocument>();

            searchResult.Document   = ecaDocument;
            searchResult.Highlights = new HitHighlights();
            searchResult.Score      = 3;

            var model = new SearchResultViewModel(searchResult);

            Assert.IsNotNull(model.Document);
            Assert.AreEqual(searchResult.Score, model.Score);
            Assert.IsTrue(Object.ReferenceEquals(searchResult.Highlights, model.HitHighlights));
        }
Exemplo n.º 5
0
        public void TestSetKey_NullStringValue()
        {
            var instance = new ECADocument();
            var key      = new DocumentKey(Guid.NewGuid(), 1);

            instance.SetKey(key);
            Assert.IsNotNull(instance.GetKey());
            Assert.IsNotNull(instance.Id);

            string nullKey = null;

            instance.SetKey(nullKey);
            Assert.IsNull(instance.GetKey());
            Assert.IsNull(instance.Id);
        }
Exemplo n.º 6
0
 /// <summary>
 /// Creates a new ECADocumentViewModel with the given ECADocument.
 /// </summary>
 /// <param name="ecaDocument">The eca document.</param>
 public ECADocumentViewModel(ECADocument ecaDocument)
 {
     Contract.Requires(ecaDocument != null, "The eca document must not be null.");
     this.Description      = ecaDocument.Description;
     this.DocumentTypeId   = ecaDocument.DocumentTypeId;
     this.DocumentTypeName = ecaDocument.DocumentTypeName;
     this.Foci             = ecaDocument.Foci;
     this.Goals            = ecaDocument.Goals;
     this.Id              = ecaDocument.Id;
     this.Name            = ecaDocument.Name;
     this.Objectives      = ecaDocument.Objectives;
     this.OfficeSymbol    = ecaDocument.OfficeSymbol;
     this.PointsOfContact = ecaDocument.PointsOfContact;
     this.Themes          = ecaDocument.Themes;
     this.Websites        = ecaDocument.Websites;
     this.Regions         = ecaDocument.Regions;
     this.Countries       = ecaDocument.Countries;
     this.Locations       = ecaDocument.Locations;
     this.Status          = ecaDocument.Status;
     this.StartDate       = ecaDocument.StartDate;
     this.EndDate         = ecaDocument.EndDate;
     this.Addresses       = ecaDocument.Addresses;
     this.PhoneNumbers    = ecaDocument.PhoneNumbers;
 }
Exemplo n.º 7
0
        public void TestTypedConstructor_WithConfiguration()
        {
            var configuration = new TestDocumentConfiguration();
            var instance      = new TestDocument();

            instance.Description  = "desc";
            instance.Id           = 1;
            instance.Name         = "name";
            instance.OfficeSymbol = "office";
            instance.Status       = "status";
            instance.Foci         = new List <string> {
                "foci"
            };
            instance.Goals = new List <string> {
                "goals"
            };
            instance.Objectives = new List <string> {
                "objectives"
            };
            instance.Themes = new List <string> {
                "themes"
            };
            instance.PointsOfContact = new List <string> {
                "pocs"
            };
            instance.Websites = new List <string> {
                "web"
            };
            instance.Regions = new List <string> {
                "region"
            };
            instance.Countries = new List <string> {
                "country"
            };
            instance.Locations = new List <string> {
                "local"
            };
            instance.Addresses = new List <string> {
                "address1"
            };
            instance.PhoneNumbers = new List <string> {
                "phone1"
            };
            instance.StartDate = DateTimeOffset.UtcNow.AddDays(-1.0);
            instance.EndDate   = DateTimeOffset.UtcNow.AddDays(1.0);

            var testDocumentProperties = typeof(TestDocument).GetProperties().OrderBy(x => x.Name).ToList();
            var ecaDocumentProperties  = typeof(ECADocument).GetProperties().OrderBy(x => x.Name).ToList();

            //make sure all public properties are accounted for in TestDocument
            foreach (var testDocProperty in testDocumentProperties)
            {
                //check every property on TestDocument instance has a value.
                Assert.IsNotNull(testDocProperty.GetValue(instance), String.Format("TestDocument property [{0}] does not have a value.", testDocProperty.Name));
            }

            var document    = new ECADocument <TestDocument>(configuration, instance);
            var documentKey = new DocumentKey(TestDocumentConfiguration.TEST_DOCUMENT_DOCUMENT_TYPE_ID, instance.Id);

            Assert.AreEqual(documentKey, document.GetKey());
            Assert.AreEqual(configuration.GetDocumentTypeId().ToString(), document.DocumentTypeId.ToString());
            Assert.AreEqual(configuration.GetDocumentTypeName(), document.DocumentTypeName);

            Assert.AreEqual(instance.Description, document.Description);
            Assert.AreEqual(instance.Name, document.Name);
            Assert.AreEqual(instance.OfficeSymbol, document.OfficeSymbol);
            Assert.AreEqual(instance.Status, document.Status);
            Assert.AreEqual(instance.StartDate, document.StartDate);
            Assert.AreEqual(instance.EndDate, document.EndDate);

            CollectionAssert.AreEqual(instance.Addresses.ToList(), document.Addresses.ToList());
            CollectionAssert.AreEqual(instance.PhoneNumbers.ToList(), document.PhoneNumbers.ToList());
            CollectionAssert.AreEqual(instance.Foci.ToList(), document.Foci.ToList());
            CollectionAssert.AreEqual(instance.Goals.ToList(), document.Goals.ToList());
            CollectionAssert.AreEqual(instance.Objectives.ToList(), document.Objectives.ToList());
            CollectionAssert.AreEqual(instance.Themes.ToList(), document.Themes.ToList());
            CollectionAssert.AreEqual(instance.PointsOfContact.ToList(), document.PointsOfContact.ToList());
            CollectionAssert.AreEqual(instance.Regions.ToList(), document.Regions.ToList());
            CollectionAssert.AreEqual(instance.Countries.ToList(), document.Countries.ToList());
            CollectionAssert.AreEqual(instance.Locations.ToList(), document.Locations.ToList());
            CollectionAssert.AreEqual(instance.Websites.ToList(), document.Websites.ToList());

            foreach (var ecaDocProperty in ecaDocumentProperties)
            {
                //make sure every eca document property has a value.
                Assert.IsNotNull(ecaDocProperty.GetValue(document));
            }
        }
        public void TestConstructor_ECADocumentConstructor()
        {
            var documentTypeId = Guid.NewGuid();
            var id             = 1;
            var key            = new DocumentKey(documentTypeId, id);
            var document       = new ECADocument();

            document.SetKey(key);
            document.Description  = "desc";
            document.Name         = "name";
            document.OfficeSymbol = "office";
            document.Status       = "status";
            document.Foci         = new List <string> {
                "foci"
            };
            document.Goals = new List <string> {
                "goals"
            };
            document.Objectives = new List <string> {
                "objectives"
            };
            document.Themes = new List <string> {
                "themes"
            };
            document.PointsOfContact = new List <string> {
                "pocs"
            };
            document.Websites = new List <string> {
                "web"
            };
            document.Regions = new List <string> {
                "region"
            };
            document.Countries = new List <string> {
                "country"
            };
            document.Locations = new List <string> {
                "local"
            };
            document.PhoneNumbers = new List <string> {
                "phone number"
            };
            document.Addresses = new List <string> {
                "addresses"
            };
            document.DocumentTypeId   = "type id";
            document.DocumentTypeName = "type name";
            document.StartDate        = DateTimeOffset.Now.AddDays(-1.0);
            document.EndDate          = DateTimeOffset.Now.AddDays(1.0);

            var model = new ECADocumentViewModel(document);

            Assert.AreEqual(key, model.Key);
            Assert.AreEqual(document.Description, model.Description);
            Assert.AreEqual(document.DocumentTypeId, model.DocumentTypeId);
            Assert.AreEqual(document.DocumentTypeName, model.DocumentTypeName);
            Assert.AreEqual(document.Id, model.Id);
            Assert.AreEqual(document.Name, model.Name);
            Assert.AreEqual(document.Status, model.Status);
            Assert.AreEqual(document.OfficeSymbol, model.OfficeSymbol);
            Assert.AreEqual(document.StartDate, model.StartDate);
            Assert.AreEqual(document.EndDate, model.EndDate);

            Assert.IsTrue(Object.ReferenceEquals(document.Foci, model.Foci));
            Assert.IsTrue(Object.ReferenceEquals(document.Goals, model.Goals));
            Assert.IsTrue(Object.ReferenceEquals(document.Objectives, model.Objectives));
            Assert.IsTrue(Object.ReferenceEquals(document.PointsOfContact, model.PointsOfContact));
            Assert.IsTrue(Object.ReferenceEquals(document.Themes, model.Themes));
            Assert.IsTrue(Object.ReferenceEquals(document.Regions, model.Regions));
            Assert.IsTrue(Object.ReferenceEquals(document.Countries, model.Countries));
            Assert.IsTrue(Object.ReferenceEquals(document.Locations, model.Locations));
            Assert.IsTrue(Object.ReferenceEquals(document.Websites, model.Websites));

            var properties = typeof(ECADocument).GetProperties();

            foreach (var property in properties)
            {
                //check every property on TestDocument instance has a value.
                Assert.IsNotNull(property.GetValue(document), String.Format("Property [{0}] on the document does not have a value.", property.Name));
                Assert.IsNotNull(property.GetValue(model), String.Format("Property [{0}] on the model does not have a value.", property.Name));
                Assert.AreEqual(property.GetValue(document), property.GetValue(model));
            }
        }