Esempio n. 1
0
        public void AddAddress_AddNewAddress_Success(int _clientId, string _country, string _city, string _street, int _ZIPCode, int _buildingNumber, string _apartmentNumber)
        {
            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();

            var testSessionToken = SessionRepository.StartNewSession(_clientId);

            var addAddressCommand = new AddAddressCommand
            {
                sessionToken    = testSessionToken,
                country         = _country,
                city            = _city,
                street          = _street,
                ZIPCode         = _ZIPCode,
                buildingNumber  = _buildingNumber,
                apartmentNumber = _apartmentNumber
            };

            var handler     = new AddAddressCommandHandler();
            var addressBook = (AddressBookDto)handler.Handle(addAddressCommand);

            var record = DatabaseQueryProcessor.GetAddress(_clientId, _country, _city, _street, _ZIPCode, _buildingNumber, _apartmentNumber);

            DatabaseQueryProcessor.Erase();
            SessionRepository.RemoveSession(testSessionToken);

            Assert.IsNotNull(record);
            Assert.AreEqual(_clientId, record.clientId);
            Assert.AreEqual(_country, record.country);
            Assert.AreEqual(_city, record.city);
            Assert.AreEqual(_street, record.street);
            Assert.AreEqual(_ZIPCode, record.ZIPCode);
            Assert.AreEqual(_buildingNumber, record.buildingNumber);
            Assert.AreEqual(_apartmentNumber, record.apartmentNumber);
        }
Esempio n. 2
0
        public void UpdatePersonalData_WrongData_Exception(string _email, string _firstName, string _lastName, bool _changePassword, string _newPassword, bool _receiveNewsletterEmail, string _newsletterEmail)
        {
            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();

            int clientId         = 0;
            var testSessionToken = SessionRepository.StartNewSession(clientId);

            var updatePersonalDataCommand = new UpdatePersonalDataCommand
            {
                sessionToken           = testSessionToken,
                email                  = _email,
                firstName              = _firstName,
                lastName               = _lastName,
                changePassword         = _changePassword,
                newPassword            = _newPassword,
                receiveNewsletterEmail = _receiveNewsletterEmail,
                newsletterEmail        = _newsletterEmail
            };

            var          handler = new UpdatePersonalDataCommandHandler();
            TestDelegate result  = () => handler.Handle(updatePersonalDataCommand);

            DatabaseQueryProcessor.Erase();
            SessionRepository.RemoveSession(testSessionToken);

            Assert.Throws <Exception>(result);
        }
        public void AddPayment_CorrectAttributes_Success(int _clientId, string _paymentId)
        {
            var testSessionToken = SessionRepository.StartNewSession(_clientId);

            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();

            var addPaymentCommand = new AddPaymentCommand
            {
                sessionToken = testSessionToken,
                paymentId    = _paymentId
            };

            var lastOrder = DatabaseQueryProcessor.GetTheMostRecentOrder(_clientId);
            var total     = DatabaseQueryProcessor.GetTotal(lastOrder.orderId);

            var isSuccessfulPayment = PaymentMethod.Check(_paymentId, total);
            var handler             = new AddPaymentCommandHandler();
            var result = (SuccessInfoDto)handler.Handle(addPaymentCommand);

            DatabaseQueryProcessor.Erase();

            SessionRepository.RemoveSession(testSessionToken);
            Assert.IsTrue(result.isSuccess);
            Assert.IsTrue(isSuccessfulPayment);
        }
Esempio n. 4
0
        public void UpdatePersonalData_ChangePassword_Success(string _email, string _firstName, string _lastName, bool _changePassword, string _newPassword, bool _receiveNewsletterEmail, string _newsletterEmail)
        {
            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();

            int clientId         = 0;
            var testSessionToken = SessionRepository.StartNewSession(clientId);

            var updatePersonalDataCommand = new UpdatePersonalDataCommand
            {
                sessionToken           = testSessionToken,
                email                  = _email,
                firstName              = _firstName,
                lastName               = _lastName,
                changePassword         = _changePassword,
                newPassword            = _newPassword,
                receiveNewsletterEmail = _receiveNewsletterEmail,
                newsletterEmail        = _newsletterEmail
            };

            var handler = new UpdatePersonalDataCommandHandler();
            var result  = (PersonalDataDto)handler.Handle(updatePersonalDataCommand);

            var foundClient = DatabaseQueryProcessor.GetClient(_email, PasswordEncryptor.encryptSha256(_newPassword));

            DatabaseQueryProcessor.Erase();
            SessionRepository.RemoveSession(testSessionToken);

            Assert.IsNotNull(result);
            Assert.AreEqual(_email, result.email);
            Assert.AreEqual(_firstName, result.firstName);
            Assert.AreEqual(_lastName, result.lastName);
            Assert.AreEqual(_newsletterEmail, result.newsletterEmail);
            Assert.IsNotNull(foundClient);
        }
Esempio n. 5
0
        public void AddAddress_ClientDoesntExist_Exception(int _clientId)
        {
            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();

            var testSessionToken = SessionRepository.StartNewSession(_clientId);

            var addAddressCommand = new AddAddressCommand
            {
                sessionToken    = testSessionToken,
                country         = "Poland",
                city            = "Cracow",
                street          = "Urzednicza",
                ZIPCode         = 34040,
                buildingNumber  = 100,
                apartmentNumber = ""
            };

            var          handler = new AddAddressCommandHandler();
            TestDelegate result  = () => handler.Handle(addAddressCommand);

            DatabaseQueryProcessor.Erase();
            SessionRepository.RemoveSession(testSessionToken);

            Assert.Throws <Exception>(result);
        }
Esempio n. 6
0
        public void AddComplaint_CorrectArgs_Success(int _clientId, int _orderId, string _description)
        {
            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();

            var testSessionToken = SessionRepository.StartNewSession(_clientId);

            var addComplaintCommand = new AddComplaintCommand
            {
                sessionToken = testSessionToken,
                orderId      = _orderId,
                description  = _description
            };

            var handler           = new AddComplaintCommandHandler();
            var result            = (SuccessInfoDto)handler.Handle(addComplaintCommand);
            var receivedComplaint = DatabaseQueryProcessor.GetComplaint(_orderId);

            SessionRepository.RemoveSession(testSessionToken);

            DatabaseQueryProcessor.Erase();

            Assert.AreEqual(receivedComplaint.description, _description);
            Assert.AreEqual(receivedComplaint.openDate, DateTime.Now.ToString("yyyy-MM-dd"));
            Assert.IsTrue(result.isSuccess);
        }
        public void RegisterNewClient_CorrectData_Success(string _email, string _firstName, string _lastName, string _password, bool _receiveNewsletterEmail, string _newsletterEmail)
        {
            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();

            var registerNewClient = new RegisterNewClientCommand
            {
                email     = _email,
                firstName = _firstName,
                lastName  = _lastName,
                password  = _password,
                receiveNewsletterEmail = _receiveNewsletterEmail,
                newsletterEmail        = _newsletterEmail
            };

            var handler = new RegisterNewClientCommandHandler();
            var result  = (SuccessInfoDto)handler.Handle(registerNewClient);

            var newClient = DatabaseQueryProcessor.GetClient(_email, PasswordEncryptor.encryptSha256(_password));

            DatabaseQueryProcessor.Erase();

            Assert.IsNotNull(newClient);
            Assert.IsTrue(result.isSuccess);
            Assert.AreEqual(_firstName, newClient.firstName);
            Assert.AreEqual(_lastName, newClient.lastName);
            Assert.AreEqual(_newsletterEmail, newClient.newsletterEmail);
        }
Esempio n. 8
0
        public void AddAddress_DuplicateAddress_Success(int _clientId, string _country, string _city, string _street, int _ZIPCode, int _buildingNumber, string _apartmentNumber)
        {
            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();

            var testSessionToken = SessionRepository.StartNewSession(_clientId);
            var addressExists    = DatabaseQueryProcessor.GetAddress(_clientId, _country, _city, _street, _ZIPCode, _buildingNumber, _apartmentNumber);

            if (addressExists != null)
            {
                DatabaseQueryProcessor.UpdateAddress(addressExists.addressId, false);
            }

            var addAddressCommand = new AddAddressCommand
            {
                sessionToken    = testSessionToken,
                country         = _country,
                city            = _city,
                street          = _street,
                ZIPCode         = _ZIPCode,
                buildingNumber  = _buildingNumber,
                apartmentNumber = _apartmentNumber
            };

            var handler     = new AddAddressCommandHandler();
            var addressBook = (AddressBookDto)handler.Handle(addAddressCommand);

            var record = DatabaseQueryProcessor.GetAddress(_clientId, _country, _city, _street, _ZIPCode, _buildingNumber, _apartmentNumber);

            DatabaseQueryProcessor.Erase();
            SessionRepository.RemoveSession(testSessionToken);

            Assert.IsTrue(record.isActive);
        }
Esempio n. 9
0
        public void SignIn_WrongData_Fail(string _email, string _password)
        {
            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();

            var signInCommand = new SignInCommand
            {
                email    = _email,
                password = _password
            };

            var handler = new SignInCommandHandler();
            var result  = (SignInInfoDto)handler.Handle(signInCommand);

            DatabaseQueryProcessor.Erase();
            Assert.IsFalse(result.isSuccess);
        }
Esempio n. 10
0
        public void AddOrder_AddressDoesntExist_Exception(int _clientId)
        {
            var testSessionToken = SessionRepository.StartNewSession(_clientId);

            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();

            var testOrderEntry = new OrderEntryDto
            {
                key      = 0,
                name     = "Lavazza",
                quantity = 1,
                price    = 15
            };
            var testOrderEntries = new OrderEntryDto[1];

            testOrderEntries[0] = testOrderEntry;

            var testAddress = new AddressDto
            {
                key             = 0,
                country         = "Poland",
                city            = "Gdansk",
                street          = "Rzemieslnicza",
                ZIPCode         = 30445,
                buildingNumber  = 12,
                apartmentNumber = "1a"
            };

            var addOrderCommand = new AddOrderCommand
            {
                sessionToken = testSessionToken,
                orderEntries = testOrderEntries,
                totalPrice   = "15.00",
                address      = testAddress
            };

            var          handler = new AddOrderCommandHandler();
            TestDelegate result  = () => handler.Handle(addOrderCommand);

            DatabaseQueryProcessor.Erase();

            SessionRepository.RemoveSession(testSessionToken);

            Assert.Throws <Exception>(result);
        }
Esempio n. 11
0
        public void GetShopItems_EmptyDatabase_Success()
        {
            int productsCount = 0;

            DatabaseQueryProcessor.Erase();

            var getShopItemsQuery = new GetShopItemsQuery
            {
            };

            var handler = new GetShopItemsQueryHandler();
            var result  = (ShopItemsDto)handler.Handle(getShopItemsQuery);

            DatabaseQueryProcessor.Erase();

            Assert.IsTrue(result.isSuccess);
            Assert.AreEqual(productsCount, result.shopItems.Length);
        }
        public void AddAddressBook_ClientDoesntExist_Exception(int _clientId)
        {
            DatabaseQueryProcessor.Erase();

            var testSessionToken = SessionRepository.StartNewSession(_clientId);

            var getAddressBookQuery = new GetAddressBookQuery
            {
                sessionToken = testSessionToken,
            };

            var          handler = new GetAddressBookQueryHandler();
            TestDelegate result  = () => handler.Handle(getAddressBookQuery);

            DatabaseQueryProcessor.Erase();
            SessionRepository.RemoveSession(testSessionToken);

            Assert.Throws <Exception>(result);
        }
        public void AddPayment_ClientHasNoOrders_Success(int _clientId, string _paymentId)
        {
            var testSessionToken = SessionRepository.StartNewSession(_clientId);

            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();

            var addPaymentCommand = new AddPaymentCommand
            {
                sessionToken = testSessionToken,
                paymentId    = _paymentId
            };

            var          handler = new AddPaymentCommandHandler();
            TestDelegate result  = () => handler.Handle(addPaymentCommand);

            SessionRepository.RemoveSession(testSessionToken);

            Assert.Throws <Exception>(result);
        }
Esempio n. 14
0
        public void AddComplaint_DifferentClientId_Exception(int _orderId)
        {
            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();

            var testSessionToken = SessionRepository.StartNewSession(0);

            var addComplaintCommand = new AddComplaintCommand
            {
                sessionToken = testSessionToken,
                orderId      = _orderId,
                description  = "I am dissatisfied"
            };

            var          handler = new AddComplaintCommandHandler();
            TestDelegate result  = () => handler.Handle(addComplaintCommand);

            SessionRepository.RemoveSession(testSessionToken);

            Assert.Throws <Exception>(result);
        }
Esempio n. 15
0
        public void AddComplaint_ComplaintAlreadyExist_Exception(int _clientId, int _orderId, string _description)
        {
            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();

            var testSessionToken = SessionRepository.StartNewSession(_clientId);

            var addComplaintCommand = new AddComplaintCommand
            {
                sessionToken = testSessionToken,
                orderId      = _orderId,
                description  = _description
            };

            var          handler = new AddComplaintCommandHandler();
            TestDelegate result  = () => handler.Handle(addComplaintCommand);

            SessionRepository.RemoveSession(testSessionToken);

            Assert.Throws <Exception>(result);
        }
Esempio n. 16
0
        public void GetOrders_ClientDoesntExist_Exception(int _clientId)
        {
            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();

            int clientId         = _clientId;
            var testSessionToken = SessionRepository.StartNewSession(clientId);

            var getOrdersQuery = new GetOrdersQuery
            {
                sessionToken = testSessionToken,
            };

            var          handler = new GetOrdersQueryHandler();
            TestDelegate result  = () => handler.Handle(getOrdersQuery);

            DatabaseQueryProcessor.Erase();
            SessionRepository.RemoveSession(testSessionToken);

            Assert.Throws <Exception>(result);
        }
        public void RegisterNewClient_IncorrectNewsletterEmail_Exception(string _newsletterEmail)
        {
            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();

            var registerNewClient = new RegisterNewClientCommand
            {
                email     = "*****@*****.**",
                firstName = "Jane",
                lastName  = "Doe",
                password  = "******",
                receiveNewsletterEmail = true,
                newsletterEmail        = _newsletterEmail
            };

            var          handler = new RegisterNewClientCommandHandler();
            TestDelegate result  = () => handler.Handle(registerNewClient);

            DatabaseQueryProcessor.Erase();
            Assert.Throws <Exception>(result);
        }
        public void RegisterNewClient_ClentExists_Exception(string _email, string _firstName, string _lastName, string _password, bool _receiveNewsletterEmail, string _newsletterEmail)
        {
            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();

            var registerNewClient = new RegisterNewClientCommand
            {
                email     = _email,
                firstName = _firstName,
                lastName  = _lastName,
                password  = _password,
                receiveNewsletterEmail = _receiveNewsletterEmail,
                newsletterEmail        = _newsletterEmail
            };

            var          handler = new RegisterNewClientCommandHandler();
            TestDelegate result  = () => handler.Handle(registerNewClient);

            Assert.Throws <Exception>(result);
            DatabaseQueryProcessor.Erase();
        }
        public void InactivateAddress_NoAddressInDatabase_Fail()
        {
            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();

            int testClientId     = 0;
            int testAddressKey   = 50;
            var testSessionToken = SessionRepository.StartNewSession(testClientId);

            InactivateAddressCommand inactivateAddressCommand = new InactivateAddressCommand
            {
                sessionToken = testSessionToken,
                addressKey   = testAddressKey
            };

            var handler = new InactivateAddressCommandHandler();
            var result  = (SuccessInfoDto)handler.Handle(inactivateAddressCommand);

            DatabaseQueryProcessor.Erase();
            SessionRepository.RemoveSession(testSessionToken);
            Assert.IsFalse(result.isSuccess);
        }
        public void InactivateAddress_CorrectAttributes_Success()
        {
            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();
            int clientId = 0;

            var testSessionToken = SessionRepository.StartNewSession(clientId);

            var inactivateAddressCommand = new InactivateAddressCommand
            {
                sessionToken = testSessionToken,
                addressKey   = 0
            };

            var handler = new InactivateAddressCommandHandler();
            var result  = (AddressBookDto)handler.Handle(inactivateAddressCommand);

            DatabaseQueryProcessor.Erase();
            SessionRepository.RemoveSession(testSessionToken);

            Assert.AreEqual(result.addresses.Length, 1);
        }
Esempio n. 21
0
        public void GetShopItems_FilledDatabase_Success()
        {
            int productsCount = 2;

            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();

            var getShopItemsQuery = new GetShopItemsQuery
            {
            };

            var handler = new GetShopItemsQueryHandler();
            var result  = (ShopItemsDto)handler.Handle(getShopItemsQuery);

            DatabaseQueryProcessor.Erase();

            Assert.IsTrue(result.isSuccess);
            Assert.AreEqual(productsCount, result.shopItems.Length);
            Assert.AreEqual(result.shopItems[0].name, "Lavazza");
            Assert.AreEqual(result.shopItems[0].price, 1500);
            Assert.AreEqual(result.shopItems[1].name, "Vergnano");
            Assert.AreEqual(result.shopItems[1].price, 2500);
        }
        public void GetPersonalData_CorrectData_Success(int _clientId)
        {
            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();

            int clientId = _clientId;

            var expectedPersonalData = new PersonalDataDto
            {
                isSuccess = true,
                email     = "*****@*****.**",
                firstName = "Jane",
                lastName  = "Doe",
                receiveNewsletterEmail = true,
                newsletterEmail        = "*****@*****.**"
            };

            var testSessionToken = SessionRepository.StartNewSession(clientId);

            var getPersonalDataQuery = new GetPersonalDataQuery
            {
                sessionToken = testSessionToken,
            };

            var handler = new GetPersonalDataQueryHandler();
            var result  = (PersonalDataDto)handler.Handle(getPersonalDataQuery);

            DatabaseQueryProcessor.Erase();
            SessionRepository.RemoveSession(testSessionToken);

            Assert.IsTrue(result.isSuccess);
            Assert.AreEqual(expectedPersonalData.email, result.email);
            Assert.AreEqual(expectedPersonalData.firstName, result.firstName);
            Assert.AreEqual(expectedPersonalData.lastName, result.lastName);
            Assert.AreEqual(expectedPersonalData.receiveNewsletterEmail, result.receiveNewsletterEmail);
            Assert.AreEqual(expectedPersonalData.newsletterEmail, result.newsletterEmail);
        }
Esempio n. 23
0
        public void AddOrder_CorrectAttributes_Success(int _clientId)
        {
            int    _key             = 0;
            string _country         = "Poland";
            string _city            = "Gdynia";
            string _street          = "Rzemieslnicza";
            int    _ZIPCode         = 30445;
            int    _buildingNumber  = 12;
            string _apartmentNumber = "1a";

            var testSessionToken = SessionRepository.StartNewSession(_clientId);

            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();

            var testOrderEntry = new OrderEntryDto
            {
                key      = 0,
                name     = "Lavazza",
                quantity = 1,
                price    = 15
            };
            var testOrderEntries = new OrderEntryDto[1];

            testOrderEntries[0] = testOrderEntry;

            var testAddress = new AddressDto
            {
                key             = _key,
                country         = _country,
                city            = _city,
                street          = _street,
                ZIPCode         = _ZIPCode,
                buildingNumber  = _buildingNumber,
                apartmentNumber = _apartmentNumber
            };


            var addOrderCommand = new AddOrderCommand
            {
                sessionToken = testSessionToken,
                orderEntries = testOrderEntries,
                totalPrice   = "15.00",
                address      = testAddress
            };

            var addressId = DatabaseQueryProcessor.GetAddress(_clientId,
                                                              _country,
                                                              _city,
                                                              _street,
                                                              _ZIPCode,
                                                              _buildingNumber,
                                                              _apartmentNumber);

            var handler = new AddOrderCommandHandler();
            var result  = (SuccessInfoDto)handler.Handle(addOrderCommand);

            var expectedOrder = DatabaseQueryProcessor.GetTheMostRecentOrder(_clientId);

            SessionRepository.RemoveSession(testSessionToken);
            DatabaseQueryProcessor.Erase();


            Assert.IsTrue(result.isSuccess);
        }
Esempio n. 24
0
        public void GetOrders_ClientExists_Success(int _clientId)
        {
            var expectedOrderEntry = new OrderEntryDto
            {
                key      = 2,
                name     = "Vergnano",
                quantity = 1,
                price    = 25
            };
            var expectedOrderEntries = new OrderEntryDto[1];

            expectedOrderEntries[0] = expectedOrderEntry;

            var expectedAddress = new AddressDto
            {
                key             = 2,
                country         = "Poland",
                city            = "Cracow",
                street          = "Krakowska",
                ZIPCode         = 30000,
                buildingNumber  = 1,
                apartmentNumber = ""
            };

            var expectedOrder = new OrderDto
            {
                key          = 2,
                orderEntries = expectedOrderEntries,
                totalPrice   = 25,
                address      = expectedAddress,
                status       = 0,
                openDate     = "2018-06-12",
                closeDate    = ""
            };

            var expectedOrders = new OrderDto[1];

            expectedOrders[0] = expectedOrder;

            var expectedOrderDto = new OrdersDto
            {
                isSuccess = true,
                orders    = expectedOrders
            };

            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();

            int clientId         = _clientId;
            var testSessionToken = SessionRepository.StartNewSession(clientId);

            var getOrdersQuery = new GetOrdersQuery
            {
                sessionToken = testSessionToken,
            };

            var handler = new GetOrdersQueryHandler();
            var result  = (OrdersDto)handler.Handle(getOrdersQuery);

            DatabaseQueryProcessor.Erase();
            SessionRepository.RemoveSession(testSessionToken);

            Assert.IsTrue(result.isSuccess);
            Assert.AreEqual(result.orders.Length, expectedOrderDto.orders.Length);
            Assert.AreEqual(result.orders[0].orderEntries.Length, expectedOrderDto.orders[0].orderEntries.Length);
            Assert.AreEqual(result.orders[0].status, expectedOrderDto.orders[0].status);
            Assert.AreEqual(result.orders[0].address.apartmentNumber, expectedOrderDto.orders[0].address.apartmentNumber);
        }
        public void GetAddressBook_CorrectAttributes_Success(int _clientId)
        {
            DatabaseQueryProcessor.Erase();
            Shared.FillTheDatabase();


            var firstAddress = new AddressDto
            {
                key             = 0,
                country         = "Poland",
                city            = "Gdynia",
                street          = "Rzemieslnicza",
                ZIPCode         = 30445,
                buildingNumber  = 12,
                apartmentNumber = "1a"
            };

            var secondAddress = new AddressDto
            {
                key             = 0,
                country         = "Poland",
                city            = "Warsaw",
                street          = "Grodzka",
                ZIPCode         = 25487,
                buildingNumber  = 23,
                apartmentNumber = ""
            };

            var testAddresses = new AddressDto[2];

            testAddresses[0] = firstAddress;
            testAddresses[1] = secondAddress;

            var expectedAddressBook = new AddressBookDto
            {
                isSuccess = true,
                addresses = testAddresses
            };

            var testSessionToken = SessionRepository.StartNewSession(_clientId);

            var getAddressBookQuery = new GetAddressBookQuery
            {
                sessionToken = testSessionToken,
            };

            var handler     = new GetAddressBookQueryHandler();
            var addressBook = (AddressBookDto)handler.Handle(getAddressBookQuery);

            DatabaseQueryProcessor.Erase();
            SessionRepository.RemoveSession(testSessionToken);

            Assert.AreEqual(expectedAddressBook.addresses.Length, addressBook.addresses.Length);

            Assert.AreEqual(expectedAddressBook.addresses[0].country, addressBook.addresses[0].country);
            Assert.AreEqual(expectedAddressBook.addresses[0].city, addressBook.addresses[0].city);
            Assert.AreEqual(expectedAddressBook.addresses[0].street, addressBook.addresses[0].street);
            Assert.AreEqual(expectedAddressBook.addresses[0].ZIPCode, addressBook.addresses[0].ZIPCode);
            Assert.AreEqual(expectedAddressBook.addresses[0].buildingNumber, addressBook.addresses[0].buildingNumber);
            Assert.AreEqual(expectedAddressBook.addresses[0].apartmentNumber, addressBook.addresses[0].apartmentNumber);

            Assert.AreEqual(expectedAddressBook.addresses[1].country, addressBook.addresses[1].country);
            Assert.AreEqual(expectedAddressBook.addresses[1].city, addressBook.addresses[1].city);
            Assert.AreEqual(expectedAddressBook.addresses[1].street, addressBook.addresses[1].street);
            Assert.AreEqual(expectedAddressBook.addresses[1].ZIPCode, addressBook.addresses[1].ZIPCode);
            Assert.AreEqual(expectedAddressBook.addresses[1].buildingNumber, addressBook.addresses[1].buildingNumber);
            Assert.AreEqual(expectedAddressBook.addresses[1].apartmentNumber, addressBook.addresses[1].apartmentNumber);
        }