コード例 #1
0
        public void ShouldNavigateToSampleTakeYouToGivenPage()
        {
            //arrange
            viewModel = new SamplesMenuViewModel(DataManager);
            viewModel.NavigationService.SetRootPage(nameof(DashboardPage), new DashboardViewModel());
            viewModel.NavigationService.NavigateAsync(nameof(SamplesMenuPage), null, false);

            //given page
            Page targetPage = new CollectionViewSamplePage();

            SampleMenuItemViewModel menuItemViewModel = new SampleMenuItemViewModel()
            {
                SampleMenuImage = "baseline_view_comfy_black_24.png",
                SampleMenuItem  = Constants.CollectionViewMenu
            };

            //act
            Task.Run(async() =>
            {
                await viewModel.NavigateToSample(menuItemViewModel);
            }).GetAwaiter().GetResult();
            Page currentPage = viewModel.NavigationService.CurrentPage;

            //assert
            NUnit.Framework.Assert.AreEqual(currentPage.Title, targetPage.Title);
        }
コード例 #2
0
        public void ShouldSampleMenuItemsContainsMoreThanZeroItems()
        {
            //arrange
            viewModel = new SamplesMenuViewModel(DataManager);

            //act

            //assert
            viewModel.SampleMenu.Count.ShouldBeGreaterThan(0);
        }
コード例 #3
0
        public void ShouldViewModelBeInitializedAndAssociated()
        {
            //arrange
            viewModel = new SamplesMenuViewModel(DataManager);

            //act

            //assert
            Assert.IsNotNull(viewModel);
        }
コード例 #4
0
        public void ShouldGenerateSamplesMenuCreateTheSamplesMenu()
        {
            //arrange
            viewModel = new SamplesMenuViewModel(DataManager);

            //act

            //assert
            viewModel.SampleMenu.Count.ShouldBeGreaterThan(0);
        }
コード例 #5
0
        public void ShouldCustomTextAlignmentBeCenterWhenUsingiOS()
        {
            //arrange
            viewModel = new SamplesMenuViewModel(DataManager);

            //act
            DeviceManager.Platform = Devices.iOS.ToString();

            //assert
            Assert.AreEqual(viewModel.CustomTextAlignment, TextAlignment.Center);
        }
コード例 #6
0
        public void ShouldThirdColumnWidthBeLowerWhenInPortraitMode()
        {
            //arrange
            viewModel = new SamplesMenuViewModel(DataManager);

            //act
            DeviceManager.Orientation = Devices.Portrait.ToString();

            //assert
            Assert.AreEqual(viewModel.ThirdColumnWidth, new GridLength(20, GridUnitType.Star));
        }
コード例 #7
0
        public void ShouldSecondColumnWidthBeGreaterWhenInLandscapeMode()
        {
            //arrange
            viewModel = new SamplesMenuViewModel(DataManager);

            //act
            DeviceManager.Orientation = Devices.Landscape.ToString();

            //assert
            Assert.AreEqual(viewModel.SecondColumnWidth, new GridLength(80, GridUnitType.Star));
        }
コード例 #8
0
        public void ShouldCustomTextLayoutBeStartPositionWhenUsingAndroid()
        {
            //arrange
            viewModel = new SamplesMenuViewModel(DataManager);

            //act
            DeviceManager.Platform = Devices.Android.ToString();

            //assert
            Assert.AreEqual(viewModel.CustomTextLayout, LayoutOptions.Start);
        }
コード例 #9
0
        public void ShouldCustomTextAlignmentBeStartWhenUsingAndroid()
        {
            //arrange
            viewModel = new SamplesMenuViewModel(DataManager);

            //act
            DeviceManager.Platform = Devices.Android.ToString();

            //assert
            Assert.AreEqual(viewModel.CustomTextAlignment, TextAlignment.Start);
        }
コード例 #10
0
        public void ShouldSelectedTabIndexChangeAfterInitMethod()
        {
            //arrange
            viewModel = new SamplesMenuViewModel(DataManager);
            int selectedIndex = 0;

            //act
            viewModel.Init(selectedIndex);

            //assert
            Assert.AreEqual(selectedIndex, viewModel.SelectedTabIndex);
        }
コード例 #11
0
        public void ShouldSetOrientationValuesSetThirdColumnWidthToGreaterValueWhenInPortrait()
        {
            //arrange
            viewModel = new SamplesMenuViewModel(DataManager);

            //act
            DeviceManager.Orientation = Devices.Portrait.ToString();
            viewModel.SetOrientationValues();

            //assert
            Assert.AreEqual(new GridLength(20, GridUnitType.Star), viewModel.ThirdColumnWidth);
        }
コード例 #12
0
        public void ShouldSetOrientationValuesSetFirstColumnWidthToLowerValueWhenInLandscape()
        {
            //arrange
            viewModel = new SamplesMenuViewModel(DataManager);

            //act
            DeviceManager.Orientation = Devices.Landscape.ToString();
            viewModel.SetOrientationValues();

            //assert
            Assert.AreEqual(new GridLength(9, GridUnitType.Star), viewModel.FirstColumnWidth);
        }
コード例 #13
0
        public void ShouldSampleMenuItemSelectedTakeUserToSelectedPage()
        {
            //arrange
            viewModel = new SamplesMenuViewModel(DataManager);

            //act
            viewModel.NavigationService.SetRootPage(nameof(DashboardPage), new DashboardViewModel());

            Page targetPage  = viewModel.NavigationService.GetPage(nameof(Views.Samples.CarouselSamplePage), null, null);
            Page currentPage = viewModel.NavigationService.CurrentPage;

            viewModel.SampleMenuItemSelected = new XamarinBoilerplate.ViewModels.DataObjects.SampleMenuItemViewModel()
            {
                SampleMenuItem  = "CarouselSamplePage",
                SampleMenuImage = "baseline_arrow_back_black_24"
            };

            currentPage = viewModel.NavigationService.CurrentPage;

            //assert
            Assert.AreEqual(targetPage.Title, currentPage.Title);
        }
コード例 #14
0
        public void ShouldBackFromDetailsTakeYouToActiveTabInPreviousCustomTabbedPage()
        {
            //arrange
            viewModel = new SamplesMenuViewModel(DataManager);

            //act
            int targetTabIndex = 2;

            viewModel.NavigationService.SetRootPage(nameof(DashboardPage), new DashboardViewModel());
            viewModel.NavigationService.NavigateAsync(nameof(CustomTabbedPage), null, false);
            viewModel.Init(targetTabIndex);

            Task.Run(async() =>
            {
                await viewModel.ExecuteBackFromDetailsCommandAsync();
            }).GetAwaiter().GetResult();

            //assert
            int currentTabIndex = viewModel.NavigationService.GetCurrentSelectedTabIndexOverMasterDetailPageWithTabbedPage();

            Assert.AreEqual(targetTabIndex, currentTabIndex);
        }