Ejemplo n.º 1
0
        public void convertjsontocollection_deserializes_to_collection_success()
        {
            string expectedCollectionName = "test";

            string jsonBookCollection = @"{""CollectionName"":""test"",""CollectionType"":""HomeCollector.Models.BookBase, HomeCollector, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"",""Collectables"":[]}";

            ICollectionBase collection = HomeCollectionRepository.ConvertJsonToCollection(jsonBookCollection);

            // This is a very fragile test.  Should look for expected tokens instead.

            Assert.AreEqual(expectedCollectionName, collection.CollectionName);
            Assert.AreEqual(0, collection.Collectables.Count);
            Assert.AreEqual(CollectableBaseFactory.BookType, collection.CollectionType);
        }
Ejemplo n.º 2
0
        public void collection_serialize_deserialize_success()
        {
            string collectionName              = "test";
            int    numberOfCollectables        = 2;
            int    numberOfItemsPerCollectable = 2;

            foreach (Type collectionType in CollectableBaseFactory.CollectableTypes)
            {
                ICollectionBase testCollection = GetTestCollection(collectionName, collectionType, numberOfCollectables, numberOfItemsPerCollectable);
                string          jsonCollection = HomeCollectionRepository.ConvertCollectionToJson(testCollection);

                ICollectionBase resultCollection = HomeCollectionRepository.ConvertJsonToCollection(jsonCollection);

                Assert.AreEqual(collectionName, resultCollection.CollectionName);
                Assert.AreEqual(collectionType, resultCollection.CollectionType);
                Assert.AreEqual(numberOfCollectables, resultCollection.Collectables.Count);
                Assert.AreEqual(numberOfCollectables * numberOfItemsPerCollectable, resultCollection.Collectables.Count * resultCollection.Collectables[0].ItemInstances.Count);
            }
        }
Ejemplo n.º 3
0
        public void convertjsontocollection_deserialize_format_missing_bracket_throws_exception()
        {
            string collectionName              = "test";
            int    numberOfCollectables        = 2;
            int    numberOfItemsPerCollectable = 2;

            foreach (Type collectionType in CollectableBaseFactory.CollectableTypes)
            {
                ICollectionBase testCollection = GetTestCollection(collectionName, collectionType, numberOfCollectables, numberOfItemsPerCollectable);
                string          jsonCollectionMissingTrailingBracket = HomeCollectionRepository.ConvertCollectionToJson(testCollection);
                string          jsonCollectionMissingLeadingBracket  = jsonCollectionMissingTrailingBracket;
                jsonCollectionMissingTrailingBracket = jsonCollectionMissingTrailingBracket.TrimEnd('}');  // remove bracket
                jsonCollectionMissingLeadingBracket  = jsonCollectionMissingLeadingBracket.TrimStart('{'); // remove bracket

                bool failTrailing = false;
                bool failLeading  = false;
                try
                {
                    ICollectionBase resultCollection = HomeCollectionRepository.ConvertJsonToCollection(jsonCollectionMissingTrailingBracket);
                }
                catch (CollectionParseException)
                {
                    failTrailing = true;
                }
                try
                {
                    ICollectionBase resultCollection = HomeCollectionRepository.ConvertJsonToCollection(jsonCollectionMissingTrailingBracket);
                }
                catch (CollectionParseException)
                {
                    failLeading = true;
                }

                Assert.IsTrue(failTrailing, "Expect exception to be thrown when missing JSON bracket(s)");
                Assert.IsTrue(failLeading, "Expect exception to be thrown when missing JSON bracket(s)");
            }
        }