public void DataGridInitializationTest() { var viewmodel = new InventoryStatusViewModel(); Assert.IsNotNull(viewmodel.DataGridViewModel1.Items); Assert.IsNotNull(viewmodel.DataGridViewModel2.Items); Assert.IsTrue(viewmodel.DataGridViewModel1.Items.Count >= viewmodel.DataGridViewModel2.Items.Count); }
public void ColumnCheckBoxTest() { var viewmodel = new InventoryStatusViewModel(); viewmodel.ShowMakerColumn = true; Assert.AreEqual(Visibility.Visible, viewmodel.DataGridViewModel1.MakerColumnVisibility); viewmodel.ShowProductColumn = true; Assert.AreEqual(Visibility.Visible, viewmodel.DataGridViewModel1.ProductColumnVisibility); viewmodel.ShowMeasureColumn = true; Assert.AreEqual(Visibility.Visible, viewmodel.DataGridViewModel1.MeasureColumnVisibility); viewmodel.ShowMakerColumn = false; Assert.AreEqual(Visibility.Collapsed, viewmodel.DataGridViewModel1.MakerColumnVisibility); viewmodel.ShowProductColumn = false; Assert.AreEqual(Visibility.Collapsed, viewmodel.DataGridViewModel1.ProductColumnVisibility); viewmodel.ShowMeasureColumn = false; Assert.AreEqual(Visibility.Collapsed, viewmodel.DataGridViewModel1.MeasureColumnVisibility); viewmodel.ShowMakerColumn = true; Assert.AreEqual(Visibility.Visible, viewmodel.DataGridViewModel1.MakerColumnVisibility); viewmodel.ShowProductColumn = true; Assert.AreEqual(Visibility.Visible, viewmodel.DataGridViewModel1.ProductColumnVisibility); viewmodel.ShowMeasureColumn = true; Assert.AreEqual(Visibility.Visible, viewmodel.DataGridViewModel1.MeasureColumnVisibility); }
public void Add() { new Dummy().Create(); IOStockDataAmenderViewModel viewmodel = new IOStockDataAmenderViewModel(); InventoryStatusViewModel inventoryStatusViewModel = new InventoryStatusViewModel(); IOStockStatusViewModel iostockStatusViewModel = new IOStockStatusViewModel(); //날짜를 선택 iostockStatusViewModel.SelectedGroupItem = IOStockStatusViewModel.GROUPITEM_DATE; iostockStatusViewModel.DatePickerViewModel.TodayCommand.Execute(null); //올해 버튼을 클릭 Assert.IsFalse(viewmodel.IsReadOnlyProductTextBox); //제품 이름 변경 가능 Assert.IsTrue(viewmodel.ProductSearchCommand.CanExecute(null)); //제품 선택 가능 //정보 입력 viewmodel.StockType = IOStockType.INCOMING; viewmodel.ProductText = "some product"; Assert.IsTrue(viewmodel.Product == null); var spec = viewmodel.SpecificationText = "some specification"; var specMemo = viewmodel.SpecificationMemo = "some specification meno"; var maker = viewmodel.MakerText = "some maker"; var measure = viewmodel.MeasureText = "some measure"; var client = viewmodel.ClientText = "some client"; var warehouse = viewmodel.WarehouseText = "some warehouse"; var project = viewmodel.ProjectText = "some project"; var employee = viewmodel.EmployeeText = "some name"; var memo = viewmodel.Memo = "some memo"; var qty = viewmodel.Quantity = 666; var price = viewmodel.UnitPrice = 6666; var remain = viewmodel.RemainingQuantity; //저장 var iostock = viewmodel.Record(); Assert.IsTrue(iostock.StockType == IOStockType.INCOMING); Assert.IsTrue(iostock.Supplier != null); Assert.IsTrue(iostock.Customer == null); //입출고 데이터그리드에 추가되었는지 확인 Assert.IsTrue(iostockStatusViewModel.DataGridViewModel.Items.Any(x => x.ID == iostock.ID)); var inoutStock = iostockStatusViewModel.DataGridViewModel.Items.Where(x => x.ID == iostock.ID).Single(); //재고 데이터그리드에 추가되었는지 확인 Assert.IsTrue(inventoryStatusViewModel.GetDataGridItems().Any(x => x.ID == iostock.Inventory.ID)); var inventory = inventoryStatusViewModel.GetDataGridItems().Where(x => x.ID == iostock.Inventory.ID).Single(); var oid = DataDirector.GetInstance(); //검사 Assert.IsNotNull(oid.SearchInventory(iostock.Inventory.ID)); //inventory director에 추가되었는지 확인한다. Assert.AreEqual(spec, iostock.Inventory.Specification); Assert.AreEqual(specMemo, iostock.Inventory.Memo); Assert.AreEqual(maker, iostock.Inventory.Maker.Name); Assert.AreEqual(measure, iostock.Inventory.Measure.Name); Assert.AreEqual(client, iostock.Supplier.Name); Assert.AreEqual(warehouse, iostock.Warehouse.Name); Assert.AreEqual(employee, iostock.Employee.Name); Assert.AreEqual((int)qty, iostock.Quantity); Assert.AreEqual(memo, iostock.Memo); Assert.AreEqual(price, iostock.UnitPrice); Assert.AreEqual(qty, iostock.RemainingQuantity); Assert.AreEqual((int)qty, iostock.Inventory.Quantity); var ofd = DataDirector.GetInstance(); Assert.IsNotNull(ofd.SearchField<Maker>(iostock.Inventory.Maker.ID)); Assert.IsNotNull(ofd.SearchField<Measure>(iostock.Inventory.Measure.ID)); }
public void TestTreeViewSelect3() { var viewmodel = new InventoryStatusViewModel(); var productNode = viewmodel.TreeViewViewModel.SearchNodesInRoot(NodeType.PRODUCT).Random(); var inventoryNode = productNode.Root.Random(); viewmodel.TreeViewViewModel.AddSelectedNodes(productNode); viewmodel.TreeViewViewModel.AddSelectedNodes(inventoryNode); var inventories = DataDirector.GetInstance().SearchInventories(productNode.ObservableObjectID); var inventoryIds = inventories.Select(x => x.ID); Assert.IsTrue(viewmodel.GetDataGridItems().All(x => inventoryIds.Contains(x.ID))); }
public void DeleteInventoryNodeThenSyncTreeView() { var viewmodel = new InventoryStatusViewModel(); var productNode = viewmodel.TreeViewViewModel.SearchNodesInRoot(NodeType.PRODUCT).Random(); var inventoryNode = productNode.Root.Random(); var treeview = viewmodel.TreeViewViewModel; treeview.AddSelectedNodes(inventoryNode); Assert.IsTrue(viewmodel.GetDataGridItems().All(x => x.ID == inventoryNode.ObservableObjectID)); //삭제가 가능함 Assert.IsTrue(treeview.CanDeleteNode()); //삭제 명령 treeview.SelectedNodeDeletionCommand.Execute(null); //inventory 리스트에서도 삭제 확인 var inven = DataDirector.GetInstance().SearchInventory(inventoryNode.ObservableObjectID); Assert.IsNull(inven); //treeview에서도 삭제 확인 Assert.IsFalse(TreeViewNodeDirector.GetInstance().Contains(inventoryNode)); //datagrid에서 삭제 확인 Assert.IsFalse(viewmodel.GetDataGridItems().Any(x => x.ID == inventoryNode.ObservableObjectID)); }
public void WhenAddNewMeasureSyncMeasures() { var viewmodel = new InventoryStatusViewModel(); var someMeasure = new Measure("some measure"); DataDirector.GetInstance().AddField(someMeasure); Assert.IsTrue(viewmodel.DataGridViewModel1.Measures.Any(x => x.ID == someMeasure.ID)); }
public void TestTreeViewSelect() { var viewmodel = new InventoryStatusViewModel(); var node = viewmodel.TreeViewViewModel.SearchNodesInRoot(NodeType.INVENTORY).Random(); viewmodel.TreeViewViewModel.NodesSelectedEventCommand.Execute(new SelectionChangedCancelEventArgs(new TreeViewNode[] { node }, null)); Assert.AreEqual(viewmodel.GetDataGridItems().Single().ID, node.ObservableObjectID); }
public void WhenDeleteMeasureSyncMeasures() { var viewmodel = new InventoryStatusViewModel(); var someMeasure = DataDirector.GetInstance().CopyFields<Measure>().Random(); Assert.IsTrue(viewmodel.DataGridViewModel1.Measures.Contains(someMeasure)); DataDirector.GetInstance().RemoveField(someMeasure); Assert.IsFalse(viewmodel.DataGridViewModel1.Measures.Contains(someMeasure)); }
public void WhenAddNewMakerSyncMakers() { var viewmodel = new InventoryStatusViewModel(); var someMaker = new Maker("some maker"); DataDirector.GetInstance().AddField(someMaker); Assert.IsTrue(viewmodel.DataGridViewModel1.Makers.Any(x => x.ID == someMaker.ID)); }
public void DeleteItemThenSyncDb() { var viewmodel = new InventoryStatusViewModel(); var item = viewmodel.DataGridViewModel1.SelectedItem = viewmodel.DataGridViewModel1.Items.Random(); string inventoryID = item.ID; viewmodel.DataGridViewModel1.InventoryDataDeletionCommand.Execute(null); var infmt = DataDirector.GetInstance().DB.Select<InventoryFormat>(inventoryID); Assert.IsNull(infmt); var iofmts = DataDirector.GetInstance().DB.Query<IOStockFormat>("select * from {0} where {1} = '{2}';", typeof(IOStockFormat).Name, "InventoryID", inventoryID); Assert.AreEqual(0, iofmts.Count()); }
public void DeleteItemThenSyncDirector() { var viewmodel = new InventoryStatusViewModel(); var item = viewmodel.DataGridViewModel1.SelectedItem = viewmodel.DataGridViewModel1.Items.Random(); string inventoryID = item.ID; viewmodel.DataGridViewModel1.InventoryDataDeletionCommand.Execute(null); var result = DataDirector.GetInstance().SearchInventory(inventoryID); Assert.IsNull(result); }
public void DeleteItemThenSyncIOStockViewModel() { var viewmodel = new InventoryStatusViewModel(); var iosvm = new IOStockStatusViewModel(); iosvm.SelectedDataGridGroupOption = IOStockStatusViewModel.DATAGRID_OPTION_PRODUCT; var item = viewmodel.DataGridViewModel1.SelectedItem = viewmodel.DataGridViewModel1.Items.Random(); string inventoryID = item.ID; Console.WriteLine("삭제할 Inventory ID: " + inventoryID); var node = viewmodel.TreeViewViewModel.Root.SelectMany(x => x.Descendants().Where(y => y.ObservableObjectID == item.Product.ID)).Single(); iosvm.TreeViewViewModel.ExecuteNodesSelectedEventCommand(new SelectionChangedCancelEventArgs(new List<TreeViewNode>() { node }, null)); Console.WriteLine("삭제 전 입출고 현황 데이터그리드 아이템 Inventory ID 목록"); iosvm.DataGridViewModel.Items.ToList().ForEach(x => Console.WriteLine(x.Inventory.ID)); viewmodel.DataGridViewModel1.InventoryDataDeletionCommand.Execute(null); Console.WriteLine("삭제 후 입출고 현황 데이터그리드 아이템 Inventory ID 목록"); iosvm.DataGridViewModel.Items.ToList().ForEach(x => Console.WriteLine(x.Inventory.ID)); Assert.IsTrue(iosvm.DataGridViewModel.Items.All(x => x.Inventory.ID != inventoryID)); }
public void DeleteItemThenSyncDataGridItems() { var viewmodel = new InventoryStatusViewModel(); var item = viewmodel.DataGridViewModel1.SelectedItem = viewmodel.DataGridViewModel1.Items.Random(); viewmodel.DataGridViewModel1.InventoryDataDeletionCommand.Execute(null); Assert.IsTrue(viewmodel.GetDataGridItems().All(x => x.ID != item.ID)); }
public void WhenSelectNodesThenUpdateDataGrid() { var viewmodel = new InventoryStatusViewModel(); //NODE 하나 선택 var node = viewmodel.TreeViewViewModel.Root.Where(x => x.Type == NodeType.PRODUCT).Random(); viewmodel.TreeViewViewModel.ExecuteNodesSelectedEventCommand(new SelectionChangedCancelEventArgs(new List<TreeViewNode>() { node }, new List<TreeViewNode>())); Assert.IsTrue(viewmodel.GetDataGridItems().All(x => x.Product.ID == node.ObservableObjectID)); //다른 NODE하나를 선택 var node2 = viewmodel.TreeViewViewModel.Root.Where(x => x.Type == NodeType.PRODUCT).Random(); viewmodel.TreeViewViewModel.ExecuteNodesSelectedEventCommand(new SelectionChangedCancelEventArgs(new List<TreeViewNode>() { node2 }, new List<TreeViewNode>() { node })); Assert.IsTrue(viewmodel.GetDataGridItems().All(x => x.Product.ID == node2.ObservableObjectID)); //NODE 2개를 선택 viewmodel.TreeViewViewModel.ExecuteNodesSelectedEventCommand(new SelectionChangedCancelEventArgs(new List<TreeViewNode>() { node }, new List<TreeViewNode>() { node })); Assert.IsTrue(viewmodel.GetDataGridItems().All(x => x.Product.ID == node2.ObservableObjectID || x.Product.ID == node.ObservableObjectID)); }
public void ReNameTreeViewNode() { var viewmodel = new InventoryStatusViewModel(); var node = viewmodel.TreeViewViewModel.Root.Where(x => x.Type == NodeType.PRODUCT).Random(); node.IsNameEditable = false; string name = node.Name = "플라리아"; Assert.IsFalse(viewmodel.DataGridViewModel1.Items.Any(item => item.Product.Name == name)); Assert.IsFalse(viewmodel.DataGridViewModel2.Items.Any(item => item.Product.Name == name)); node.IsNameEditable = true; name = node.Name = "플라리아"; Assert.IsTrue(viewmodel.DataGridViewModel1.Items.Any(item => item.Product.Name == name) || viewmodel.DataGridViewModel2.Items.Any(item => item.Product.Name == name)); }
public void WhenNewInventoryDataInsertThenSyncDataGridViewMdoel() { var inventoryStatusViewModel = new InventoryStatusViewModel(); var node = inventoryStatusViewModel.TreeViewViewModel.SearchNodesInRoot(NodeType.PRODUCT).Random(); inventoryStatusViewModel.TreeViewViewModel.AddSelectedNodes(node); var product = DataDirector.GetInstance().SearchField<Product>(node.ObservableObjectID); var viewmodel = new InventoryManagerViewModel(product); var name = viewmodel.Specification = "some specification"; var inventory = viewmodel.Insert(); Assert.IsTrue(inventoryStatusViewModel.GetDataGridItems().Any(x => x.ID == inventory.ID)); }