public async Task RefreshParticipantsTest(int numAffiliations, int numParticipants)
        {
            /** Make a new database **/
            var testDB = new TestDatabase(numAffiliations, numParticipants, 0);

            var affiliationsList = await testDB.RefreshAffiliations();

            ObservableCollection <Affiliation> affiliations = new ObservableCollection <Affiliation>(affiliationsList);

            var participantsList = await testDB.RefreshParticipants();

            ObservableCollection <Participant> participants = new ObservableCollection <Participant>(participantsList);

            Assert.AreEqual(affiliations.Count, numAffiliations);
            Assert.AreEqual(participants.Count, numParticipants);
        }
        public async System.Threading.Tasks.Task SwitchToPreviousViewTestAsync()
        {
            TestDatabase      testDatabase      = new TestDatabase();
            TestDialogService testDialogService = new TestDialogService();

            MainWindowViewModel mainWindowViewModel = new MainWindowViewModel(testDatabase, testDialogService);

            mainWindowViewModel.ChildViewModel = mainWindowViewModel.Login;
            mainWindowViewModel.Login.AboutCommand.Execute(null);

            ChildView childView = mainWindowViewModel.ChildViewModel;

            childView.GoBackCommand.Execute(null);


            Assert.AreEqual(mainWindowViewModel.Login.GetType(), mainWindowViewModel.ChildViewModel.GetType());
        }
        public async Task SaveNewParticipantTest(string firstName, string lastName, string gender, string affiliationAbbreviation, string birthDate)
        {
            /** Make a new database **/
            var testDB = new TestDatabase();

            /** Make the participant **/
            Participant newParticipant = new Participant();

            newParticipant.FirstName = firstName;
            newParticipant.LastName  = lastName;

            if (gender.Equals("m"))
            {
                newParticipant.Gender = Participant.GenderType.Male;
            }
            else if (gender.Equals("f"))
            {
                newParticipant.Gender = Participant.GenderType.Female;
            }
            else
            {
                newParticipant.Gender = Participant.GenderType.Other;
            }

            /** Make an affiliation with matching abbreviation and store in DB **/
            Affiliation matchingAffiliation = new Affiliation();

            matchingAffiliation.Abbreviation = affiliationAbbreviation;
            await testDB.AddNewAffiliationAsync(matchingAffiliation);

            /** Store participant in database **/
            Participant returnedParticipant = await testDB.SaveNewParticipant(newParticipant);

            newParticipant.Id = returnedParticipant.Id;

            /** Forces a failed test **/
            //Participant returnedParticipant1 = await testDB.SaveNewParticipant(new Participant());

            /** Verify participant excists **/
            var listParticipants = await testDB.RefreshParticipants();

            ObservableCollection <Participant> participants = new ObservableCollection <Participant>(listParticipants);

            /** Test Equality **/
            Assert.AreEqual(participants[0], newParticipant);
        }
        public async Task SaveNewParticipantAsync(string firstName, string lastName, string gender, string birthdate)
        {
            /** Make a new database **/
            var testDB = new TestDatabase();

            var testDialogService = new TestDialogService();

            var mainWindowVM = new MainWindowViewModel(testDB, testDialogService);

            mainWindowVM.CreateAffiliation.Affiliation.Name         = "My Affiliation";
            mainWindowVM.CreateAffiliation.Affiliation.Abbreviation = "MA";

            mainWindowVM.CreateAffiliation.CreateNewAffiliation.Execute(null);

            mainWindowVM.CurrentUser.Affiliation = mainWindowVM.CreateAffiliation.Affiliation;

            mainWindowVM.Registration.AddParticipantView.Execute(null);
            var addParticipantVM = (AddParticipantViewModel)mainWindowVM.Registration.SelectedChildViewModel;

            addParticipantVM.Participant.FirstName = firstName;
            addParticipantVM.Participant.LastName  = lastName;
            if (gender.Equals("Male"))
            {
                addParticipantVM.Participant.Gender = Participant.GenderType.Male;
            }
            else if (gender.Equals("Female"))
            {
                addParticipantVM.Participant.Gender = Participant.GenderType.Female;
            }
            else
            {
                addParticipantVM.Participant.Gender = Participant.GenderType.Other;
            }
            addParticipantVM.Participant.BirthDate = Convert.ToDateTime(birthdate);

            addParticipantVM.SaveNewParticipant.Execute(null);

            /** Verify participant excists **/
            var listParticipants = await testDB.RefreshParticipants();

            ObservableCollection <Participant> participants = new ObservableCollection <Participant>(listParticipants);

            /** Test Equality **/
            Assert.AreEqual(participants[0], addParticipantVM.Participant);
        }
示例#5
0
        public async Task CheckLoginTest()
        {
            TestDatabase      testDatabase      = new TestDatabase();
            TestDialogService testDialogService = new TestDialogService();

            User user = new User();

            user.Username = "******";
            await testDatabase.AddNewUserAsync(user);

            MainWindowViewModel mainWindowViewModel = new MainWindowViewModel(testDatabase, testDialogService);

            mainWindowViewModel.Login.Username = "******";

            mainWindowViewModel.Login.LoginCommand.Execute(null);

            user = mainWindowViewModel.CurrentUser;
            Assert.AreEqual(user.Username, "username");
        }
        public async Task AddNewMeetTestAsync(string name, string description, string startDateTime, string endDate)
        {
            /** Make a new database **/
            var testDB = new TestDatabase();

            /** Make a temporary user **/
            var user = new User();

            user.FirstName = "Database";
            user.LastName  = "Tester";
            user.Username  = "******";
            user.Email     = "*****@*****.**";

            Affiliation matchingAffiliation = new Affiliation();

            matchingAffiliation.Abbreviation = "TEST";
            await testDB.AddNewAffiliationAsync(matchingAffiliation);

            user = await testDB.AddNewUserAsync(user);

            /** Make the meet **/
            var newMeet = new Meet();

            newMeet.Name          = name;
            newMeet.Description   = description;
            newMeet.StartDateTime = Convert.ToDateTime(startDateTime);
            newMeet.EndDate       = Convert.ToDateTime(endDate);

            newMeet = await testDB.AddNewMeetAsync(newMeet, user);

            var meetsIEnum = await testDB.RefreshMeetsAsync(user);

            ObservableCollection <Meet> meets = new ObservableCollection <Meet>(meetsIEnum);

            var theMeet = meets.Last();

            Assert.AreEqual(theMeet.Name, name);
            Assert.AreEqual(theMeet.Description, description);
            Assert.AreEqual(theMeet.StartDateTime, Convert.ToDateTime(startDateTime));
            Assert.AreEqual(theMeet.EndDate, Convert.ToDateTime(endDate));
            Assert.AreEqual(theMeet.Id, meets.Count());
            Assert.AreEqual(theMeet.UserId, user.Id);
        }
示例#7
0
        public async Task SwitchViewLoginToRegistrationTestAsync()
        {
            TestDatabase      testDatabase      = new TestDatabase();
            TestDialogService testDialogService = new TestDialogService();

            User user = new User();

            user.Username = "******";
            await testDatabase.AddNewUserAsync(user);

            MainWindowViewModel mainWindowViewModel = new MainWindowViewModel(testDatabase, testDialogService);

            mainWindowViewModel.Login.Username = "******";

            mainWindowViewModel.Login.LoginCommand.Execute(null);

            var cvm = mainWindowViewModel.ChildViewModel;

            Assert.AreEqual(mainWindowViewModel.Registration, cvm);
        }