public void FillTest()
        {
            RandomDataFiller filler         = new RandomDataFiller();
            IDataRepository  dataRepository = new DataRepository(filler.Fill(new DataContext()));

            Assert.AreEqual(5, dataRepository.GetAllClients().Count());
            Assert.AreEqual(5, dataRepository.GetAllPublishers().Count());
            Assert.AreEqual(5, dataRepository.GetAllBooks().Count());
            Assert.AreEqual(5, dataRepository.GetAllBooksDetails().Count());
            Assert.AreEqual(10, dataRepository.GetAllPurchases().Count());
        }
예제 #2
0
 public void TestInitialize()
 {
     dataFiller = new RandomDataFiller()
     {
         NumberOfBooks       = 1000,
         NumberOfBookStates  = 1000,
         NumberOfBookReaders = 1000,
         NumberOfEvents      = 1000
     };
     context = new DataContext();
     dataFiller.Fill(ref context);
     fileName       = "json_data.json";
     jsonSerializer = new JSONSerializer()
     {
         FileName = fileName
     };
 }
 public void TestInitialize()
 {
     dataFiller = new RandomDataFiller()
     {
         NumberOfBooks       = 1000,
         NumberOfBookStates  = 1000,
         NumberOfBookReaders = 1000,
         NumberOfEvents      = 1000
     };
     context = new DataContext();
     dataFiller.Fill(ref context);
     fileName      = "xml_data.xml";
     xmlSerializer = new XmlDataSerializer()
     {
         FileName = fileName
     };
 }
 public void TestInitialize()
 {
     dataFiller = new RandomDataFiller()
     {
         NumberOfBooks       = 100,
         NumberOfBookStates  = 200,
         NumberOfBookReaders = 50,
         NumberOfEvents      = 150
     };
     context = new DataContext();
     dataFiller.Fill(ref context);
     fileName         = "binary_data.bin";
     binarySerializer = new BinaryDataSerializer()
     {
         FileName = fileName
     };
 }
예제 #5
0
        public void Fill_Always_AddsApproperiateAmountOfData()
        {
            RandomDataFiller dataFiller = new RandomDataFiller(10, 10, 5, 3);

            DataContext context = new DataContext();

            dataFiller.Fill(context);

            Assert.AreEqual(10, context.customers.Count);
            Assert.AreEqual(10, context.books.Count);
            Assert.AreEqual(10 * 5, context.bookCopies.Count);
            Assert.AreEqual(10 * 3, context.events.Count);

            Assert.AreEqual(10, context.customers.Distinct().Count());
            Assert.AreEqual(10, context.books.Distinct().Count());
            Assert.AreEqual(10 * 5, context.bookCopies.Distinct().Count());
            Assert.AreEqual(10 * 3, context.events.Distinct().Count());
        }
        public void FillTest()
        {
            // maximum time difference in milliseconds
            int maxTimeDifference = 1000;

            // name of the xml file
            string fileName = "testContext.xml";

            // creating contexts and fillers
            DataContext      initialContext      = new DataContext();
            DataContext      deserialisedContext = new DataContext();
            RandomDataFiller randomFiller        = new RandomDataFiller()
            {
                NumberOfBooks       = 100,
                NumberOfBookStates  = 100,
                NumberOfBookReaders = 100,
                NumberOfEvents      = 100
            };
            XmlDataFiller xmlFiller = new XmlDataFiller()
            {
                FileName = fileName
            };

            // fill context using RandomDataFiller
            randomFiller.Fill(ref initialContext);

            // save the context to xml file
            FileStream  writer = new FileStream(fileName, FileMode.Create);
            List <Type> types  = new List <Type>
            {
                typeof(Event),
                typeof(Book),
                typeof(BookReader),
                typeof(BookState)
            };
            var dataContractSerializer = new DataContractSerializer(typeof(DataContext), types, Int32.MaxValue, false, true, null);

            dataContractSerializer.WriteObject(writer, initialContext);
            writer.Flush();
            writer.Close();

            // get time value just before beginning of filling context
            DateTimeOffset begin = DateTimeOffset.Now;

            // fill another context using XmlDataFiller
            xmlFiller.Fill(ref deserialisedContext);

            // get time value right after finishing filling
            DateTimeOffset end = DateTimeOffset.Now;

            // calc time difference in milliseconds
            int difference = end.Subtract(begin).Milliseconds;

            // check if context has been filled quickly enough
            Assert.IsTrue(difference < maxTimeDifference);

            // check if all data has been read from xml file properly
            var actualBooks       = deserialisedContext.books;
            var actualBookReaders = deserialisedContext.bookReaders;
            var actualBookStates  = deserialisedContext.bookStates;
            var actualEvents      = deserialisedContext.events;

            var expectedBooks       = initialContext.books;
            var expectedBookReaders = initialContext.bookReaders;
            var expectedBookStates  = initialContext.bookStates;
            var expectedEvents      = initialContext.events;

            // check books
            foreach (var book in actualBooks)
            {
                Assert.IsTrue(expectedBooks.Contains(book));
            }

            // check book states
            foreach (var bookState in actualBookStates)
            {
                Assert.IsTrue(expectedBookStates.Contains(bookState));
            }

            // check book readers
            foreach (var bookReaders in actualBookReaders)
            {
                Assert.IsTrue(expectedBookReaders.Contains(bookReaders));
            }

            // check events
            foreach (var e in actualEvents)
            {
                Assert.IsTrue(expectedEvents.Contains(e));
            }
        }