public void SingleChildNode_can_have_child() { var db = newDatabase(); db.DeleteNodeByParentId(4); var scn = new SingleChildrenNode(newDatabase()) { Id = 4 }; Assert.AreEqual(true, scn.CanHaveChild()); }
public void SingleChildNode_can_have_only_one_child() { var scn = new SingleChildrenNode(newDatabase()) { Id = 4 }; var child1 = new NodeModel("child 1", "1234AA1234", "MultiChildrenNode"); scn.AddChild(child1); var child2 = new NodeModel("child 2", "5678BB5678", "SingleChildrenNode"); scn.AddChild(child2); }
private void SaveNewChild_Click(object sender, RoutedEventArgs e) { switch (node.GetType().Name) { case "MultiChildrenNode": var multiNode = new MultiChildrenNode(_database); multiNode.Id = node.Id; multiNode.properties.Brand = NodeBrand.Text; multiNode.properties.Model = NodeModel.Text; if (NodePrice.Text.Length > 0 && double.TryParse(NodePrice.Text, out double mPrice)) { multiNode.properties.Price = mPrice; } if (Maintenance.Text.Length > 0 && int.TryParse(Maintenance.Text, out int maintenance)) { multiNode.properties.FreeMaintenance = maintenance; } _database.UpdateProperties(multiNode); break; case "SingleChildrenNode": var singleNode = new SingleChildrenNode(_database); singleNode.Id = node.Id; singleNode.properties.Brand = NodeBrand.Text; singleNode.properties.Model = NodeModel.Text; if (NodePrice.Text.Length > 0 && double.TryParse(NodePrice.Text, out double sPrice)) { singleNode.properties.Price = sPrice; } if (Maintenance.Text.Length > 0 && int.TryParse(Warranty.Text, out int warranty)) { singleNode.properties.WarrantyPeriod = warranty; } _database.UpdateProperties(singleNode); break; case "NullChildrenNode": var nullNode = new NullChildrenNode(_database); nullNode.Id = node.Id; nullNode.properties.Brand = NodeBrand.Text; nullNode.properties.Model = NodeModel.Text; if (NodePrice.Text.Length > 0 && double.TryParse(NodePrice.Text, out double nPrice)) { nullNode.properties.Price = nPrice; } nullNode.properties.Material = Material.Text; if (Maintenance.Text.Length > 0 && int.TryParse(Warranty.Text, out int year)) { nullNode.properties.Year = year; } _database.UpdateProperties(nullNode); break; default: throw new ArgumentException("Unknown type!"); } Cleaning(); this.Close(); }