コード例 #1
0
        public void UpdateListItem_InvalidId()
        {
            // Arrange
            var testListItem = new TodoListItemModel()
            {
                TodoListItemId = 2,
                Name           = _fixture.Create <string>(),
                Description    = _fixture.Create <string>(),
                Completed      = _fixture.Create <bool>()
            };

            AddListItems(1);

            var todoListManager = new TodoListManager(_mockConfiguration.Object);

            // Act
            todoListManager.UpdateListItem(testListItem);

            // Assert
            var updatedItem = todoListManager.GetListItems().First();

            Assert.AreNotEqual(testListItem.Name, updatedItem.Name);
            Assert.AreNotEqual(testListItem.Description, updatedItem.Description);
            Assert.AreNotEqual(testListItem.Completed, updatedItem.Completed);
        }
コード例 #2
0
        private void Button_delete_selected_Click(object sender, RoutedEventArgs e)
        {
            int counter = 0;

            foreach (CheckBox cb in listBox_Tasks.Items)
            {
                if (cb.IsChecked == true)
                {
                    TodoList        selectedTodoList = (TodoList)cb.Tag;
                    List <TodoList> listTemp         = TodoListManager.GetListFromJson();

                    TaskSched_Communicator.DeleteTask(selectedTodoList.TaskName);

                    if (FileSystem.DeleteTodoListFile(selectedTodoList.XamlFilePath))
                    {
                        counter++;
                    }

                    //update the json file (with the deleted todolists)
                    listTemp.RemoveAll((x) => x.TaskName.Equals(selectedTodoList.TaskName));
                    TodoListManager.UpdateJsonFile(listTemp);
                }
            }
            MessageBox.Show($"Deleted {counter} Todo-Lists");
            UpdateList();
        }
コード例 #3
0
        public void When_an_item_is_add_todolist_should_reflect_auto()
        {
            var manager = new TodoListManager(notificationManager: null, apiManager: null);

            var todoList = new TodoList("A todo list")
            {
                Items = new List <TodoItem>
                {
                    new TodoItem
                    {
                        Name        = "Item 1",
                        Id          = Guid.NewGuid(),
                        IsCompleted = false
                    },
                    new TodoItem
                    {
                        Name        = "Item 2",
                        Id          = Guid.NewGuid(),
                        IsCompleted = false
                    },
                    new TodoItem
                    {
                        Name        = "Item 3",
                        Id          = Guid.NewGuid(),
                        IsCompleted = false
                    }
                }
            };

            // Act
            manager.AddItem("Item 4", todoList);

            // Assert
            todoList.Items.Should().ContainSingle(x => x.Name == "Item 4");
        }
コード例 #4
0
        public MainWindow()
        {
            InitializeComponent();

            Check_auditpol();

            TodoListManager.UpdateJsonFileFromTaskScheduler();

            UpdateList();
        }
コード例 #5
0
        public void TODO入れ替えの際にTODOが一件だけの場合はエラーメッセージが返ってくる(int replacingPosition, int taegetPosition)
        {
            // CSVの初期化
            startProcess.TestStartingBeforeOperation_ElemetsCountIs_1();
            var todoListManager = new TodoListManager();
            var expectedString  = todoListManager.ReturnMessageIsTodoListElementsCountIsOne();
            var returnString    = todoListManager.SwapTodo(replacingPosition, taegetPosition);

            Assert.AreEqual(expectedString, returnString);
        }
コード例 #6
0
        public void 全てのTODOを削除すると完了メッセージが返ってくる()
        {
            //CSVの初期化
            startProcess.TestStartingBeforeOperation_ElemetsCountIs_7();
            var todoListManager = new TodoListManager();
            var expectedString  = todoListManager.ReturnMessageIsRemoveAllTodo();
            var returnString    = todoListManager.RemoveAllTodo();

            Assert.AreEqual(expectedString, returnString);
        }
コード例 #7
0
        public void TODO入れ替えの際に同じ値が指定されたらエラーメッセージが返ってくる(int replacingPosition, int taegetPosition)
        {
            // CSVの初期化
            startProcess.TestStartingBeforeOperation_ElemetsCountIs_7();
            var todoListManager = new TodoListManager();
            var expectedString  = todoListManager.ReturnMessageIsEqualValueSpecified();
            var returnString    = todoListManager.SwapTodo(replacingPosition, taegetPosition);

            Assert.AreEqual(expectedString, returnString);
        }
コード例 #8
0
        public void リストのTODOを入れ替える(int replacingPosition, int taegetPosition)
        {
            // CSVの初期化
            startProcess.TestStartingBeforeOperation_ElemetsCountIs_7();
            var todoListManager = new TodoListManager();
            var beforeTodoList  = new List <string>(todoListManager.TodoList);
            var returnString    = todoListManager.SwapTodo(replacingPosition, taegetPosition);

            CollectionAssert.AreNotEqual(todoListManager.TodoList, beforeTodoList);
        }
コード例 #9
0
        public void TODO入れ替えの際にTODOリストの範囲外の数値を入力するとエラーメッセージが返ってくる(int replacingPosition, int taegetPosition)
        {
            // CSVの初期化
            startProcess.TestStartingBeforeOperation_ElemetsCountIs_7();
            var todoListManager = new TodoListManager();
            var expectedString  = todoListManager.ReturnMessageIsNumberRangeOutsideTodo();
            var returnString    = todoListManager.SwapTodo(replacingPosition, taegetPosition);

            Assert.AreEqual(expectedString, returnString);
        }
コード例 #10
0
        public void TODO入れ替えを選択すると完了メッセージが返ってくる(int replacingPosition, int taegetPosition)
        {
            //CSVの初期化
            startProcess.TestStartingBeforeOperation_ElemetsCountIs_7();
            var todoListManager = new TodoListManager();
            var operationSelect = new OperationSelect();
            var expectedString  = todoListManager.ReturnMessageIsSwapTodo();
            var returnString    = operationSelect.CheckReturnExceptionMessage(replacingPosition, taegetPosition);

            Assert.AreEqual(expectedString, returnString);
        }
コード例 #11
0
        public void TODOを入れ替えると完了メッセージが返ってくる(int replacingPosition, int taegetPosition)
        {
            //CSVの初期化
            startProcess.TestStartingBeforeOperation_ElemetsCountIs_7();
            var operationManager = new OperationManager();
            var todoListManager  = new TodoListManager();
            var expectedString   = todoListManager.ReturnMessageIsSwapTodo();
            var requestString    = operationManager.ReceivedNumber8WhenSwapProcess(replacingPosition, taegetPosition);

            Assert.AreEqual(expectedString, requestString);
        }
コード例 #12
0
        public void 最後のTODO表示を選択すると最後のTODOが返ってくる()
        {
            //CSVの初期化
            startProcess.TestStartingBeforeOperation_ElemetsCountIs_7();
            var todoListManager = new TodoListManager();
            var operationSelect = new OperationSelect();
            var expectedString  = todoListManager.AcquisitionLastTodo();
            var returnString    = operationSelect.InvokeInputedNumberFixProcess(3);

            Assert.AreEqual(expectedString, returnString);
        }
コード例 #13
0
        public void AddListItem_NullItem()
        {
            // Arrange
            var todoListManager = new TodoListManager(_mockConfiguration.Object);

            // Act
            todoListManager.AddListItem(null);

            // Assert
            Assert.AreEqual(0, todoListManager.GetListItems().ToList().Count());
        }
コード例 #14
0
        public void When_a_new_item_is_added_todo_list_should_contain_item_of_name()
        {
            var manager  = new TodoListManager(notificationManager: null, apiManager: null);
            var todoList = new TodoList("current title");

            // Act
            manager.AddItem("some name", todoList);

            // Assert
            Assert.Contains(todoList.Items, item => item.Name == "some name");
        }
コード例 #15
0
        public void When_given_a_new_title_then_change_title_of_todolist()
        {
            var manager  = new TodoListManager(notificationManager: null, apiManager: null);
            var todoList = new TodoList("current title");

            // Act
            manager.ChangeTitle("new title", todoList);

            // Assert
            Assert.Equal("new title", todoList.Title);
        }
コード例 #16
0
        public void TODOを全削除すると完了メッセージが返ってくる()
        {
            //CSVの初期化
            startProcess.TestStartingBeforeOperation_ElemetsCountIs_7();
            var operationManager = new OperationManager();
            var todoListManager  = new TodoListManager();
            var expectedString   = todoListManager.ReturnMessageIsRemoveAllTodo();
            var requestString    = operationManager.InvokeProcessFixOperationNumber(7);

            Assert.AreEqual(expectedString, requestString);
        }
コード例 #17
0
        public void TODO全削除を選択すると完了メッセージが返ってくる()
        {
            //CSVの初期化
            startProcess.TestStartingBeforeOperation_ElemetsCountIs_7();
            var todoListManager = new TodoListManager();
            var operationSelect = new OperationSelect();
            var expectedString  = todoListManager.ReturnMessageIsRemoveAllTodo();
            var returnString    = operationSelect.InvokeInputedNumberFixProcess(7);

            Assert.AreEqual(expectedString, returnString);
        }
コード例 #18
0
        public void GetListItems_NoResults()
        {
            // Arrange
            var todoListManager = new TodoListManager(_mockConfiguration.Object);

            // Act
            var result = todoListManager.GetListItems().ToList();

            // Assert
            Assert.AreEqual(0, result.Count);
        }
コード例 #19
0
        public void 文字列を渡すとTODOリストに追加される(string inputTodoContents)
        {
            //CSVの初期化
            startProcess.TestStartingBeforeOperation_ElemetsCountIs_7();
            var todoListManager = new TodoListManager();

            todoListManager.AddTodoContentToTodoListProcess(inputTodoContents);
            var todoListForTest    = new List <string>(todoListManager.TodoList);
            var expectedTodoString = todoListForTest[todoListForTest.Count - 1];

            Assert.AreEqual(expectedTodoString, inputTodoContents);
        }
コード例 #20
0
        public void TODO入れ替えの際にTODOリストが空ならエラーメッセージが返ってくる(int replacingPosition, int taegetPosition)
        {
            // CSVの初期化
            startProcess.TestStartingBeforeOperation_ElemetsCountIs_7();
            var todoListManager = new TodoListManager();

            todoListManager.RemoveAllTodo();
            var expectedString = todoListManager.ReturnMessageIsListEmpty();
            var returnString   = todoListManager.SwapTodo(replacingPosition, taegetPosition);

            Assert.AreEqual(expectedString, returnString);
        }
コード例 #21
0
        public void 最初のTODOを取得するとリストの最初のTODOが返ってくる()
        {
            //CSVの初期化
            startProcess.TestStartingBeforeOperation_ElemetsCountIs_7();
            var todoListManager = new TodoListManager();

            todoListManager.LoadCsvFileToTodoList();
            var expectedTodoString = todoListManager.TodoList[0];
            var firstTodo          = todoListManager.AcquisitionFirstTodo();

            Assert.AreEqual(expectedTodoString, firstTodo);
        }
コード例 #22
0
        public void 全てのTODOの取得するとList型配列が返ってくる()
        {
            //CSVの初期化
            startProcess.TestStartingBeforeOperation_ElemetsCountIs_7();
            var todoListManager = new TodoListManager();

            todoListManager.LoadCsvFileToTodoList();
            var expectedList = todoListManager.TodoList;
            var returnList   = todoListManager.ReturnTodoListContent();

            CollectionAssert.AreEqual(expectedList, returnList);
        }
コード例 #23
0
        public void DeleteListItem_InvalidId()
        {
            // Arrange
            var todoListManager = new TodoListManager(_mockConfiguration.Object);

            AddListItems(3);

            // Act
            todoListManager.DeleteListItem(5);

            // Assert
            Assert.AreEqual(3, todoListManager.GetListItems().ToList().Count());
        }
コード例 #24
0
        public void TODO一覧表示を選択するとList型配列が返ってくる()
        {
            //CSVの初期化
            startProcess.TestStartingBeforeOperation_ElemetsCountIs_7();
            var todoListManager = new TodoListManager();
            var operationSelect = new OperationSelect();

            todoListManager.LoadCsvFileToTodoList();
            var expectedList = todoListManager.TodoList;
            var returnList   = operationSelect.GetAllTodoList();

            CollectionAssert.AreEqual(expectedList, returnList);
        }
コード例 #25
0
        public void 最後のTODOを取得するとリストの最後のTODOが返ってくる()
        {
            //CSVの初期化
            startProcess.TestStartingBeforeOperation_ElemetsCountIs_7();
            var todoListManager = new TodoListManager();

            todoListManager.LoadCsvFileToTodoList();
            var todoListForTest    = new List <string>(todoListManager.TodoList);
            var expectedTodoString = todoListForTest[todoListForTest.Count - 1];
            var lastTodoString     = todoListManager.AcquisitionLastTodo();

            Assert.AreEqual(expectedTodoString, lastTodoString);
        }
コード例 #26
0
        public App()
        {
            InitializeComponent();

            _todoListManager   = new TodoListManager();
            _todoListViewModel = new TodoListViewModel(_todoListManager);
            MainPage           = new TodoListView
            {
                BindingContext = _todoListViewModel
            };

            DependencyService.Register <ViewModels.Services.IMessageService, Views.Services.MessageService>();
        }
コード例 #27
0
        static void Main(string[] args)
        {
            List <TodoListManager> managers = new List <TodoListManager>();


            while (true)
            {
                Console.WriteLine("Please choose option:");
                Console.WriteLine("1 - add new todo list");
                Console.WriteLine("2 - remove todo list");
                Console.WriteLine("3 - manipulate todo list");
                Console.WriteLine("0 - quit");
                int input = int.Parse(Console.ReadLine());


                switch (input)
                {
                case 1:
                    Console.WriteLine("What will be the name?");
                    string          nameInput = Console.ReadLine();
                    TodoListManager manager;
                    manager = new TodoListManager();

                    manager.NameOfToDoList = nameInput;

                    managers.Add(manager);
                    break;

                case 2:
                    break;

                case 3:
                    for (int i = 0; i < managers.Count; i++)
                    {
                        Console.WriteLine(i + 1 + ". " + managers[i].NameOfToDoList);
                    }
                    int             choiceInput     = int.Parse(Console.ReadLine());
                    TodoListManager selectedManager = managers[choiceInput - 1];
                    ShowUserOptions(selectedManager);
                    break;

                case 0:
                    return;
                }
            }

            Console.ReadKey();
        }
コード例 #28
0
        public TodoListViewModel(TodoListManager todoListManager)
        {
            _todoListManager = todoListManager ?? throw new ArgumentNullException(nameof(todoListManager));

            TodoList = todoListManager.TodoList;

            CreateTodoItemCommand = new Command(CreateTodoItem);
            EditTodoItemCommand   = new Command <TodoItem>(EditTodoItem);
            DeleteTodoItemCommand = new Command <TodoItem>(DeleteTodoItem);
            MoveUpTodoItemCommand = new Command <TodoItem>(
                MoveUpTodoItem,
                (item) => TodoList.IndexOf(item) > 0);
            MoveDownTodoItemCommand = new Command <TodoItem>(
                MoveDownTodoItem,
                (item) => TodoList.IndexOf(item) < TodoList.Count - 1);
        }
コード例 #29
0
        public async Task When_completing_an_item_send_notification_async()
        {
            var autoFixture         = new Fixture();
            var notificationManager = Substitute.For <INotificationManager>();
            var apiManager          = Substitute.For <IRemoteApiManager>();
            var todoList            = autoFixture.Create <TodoList>();

            var name = autoFixture.Create <string>();

            var manager = new TodoListManager(notificationManager, apiManager);
            var id      = manager.AddItem(name, todoList);

            // Act
            await manager.CompleteItemAsync(id, todoList);

            // Assert
            await notificationManager.Received().NotifyOfCompletedTaskAsync(name);
        }
コード例 #30
0
        public void When_downloading_remote_add_to_todo_list()
        {
            var autoFixture         = new Fixture();
            var notificationManager = Substitute.For <INotificationManager>();
            var apiManager          = Substitute.For <IRemoteApiManager>();

            var manager  = new TodoListManager(notificationManager, apiManager);
            var todoList = autoFixture.Create <TodoList>();

            var remoteItems = autoFixture.CreateMany <TodoItem>().ToList(); // Autofixture can create lists of things too!

            apiManager.GetRemoveItems(Arg.Any <string>())                   // The use of Arg can really help
            .Returns(remoteItems);                                          // Single API for intercepting returns

            // Act
            manager.DownloadRemoteItems(todoList);

            // Assert
            todoList.Items.Should().Contain(remoteItems);
        }