public void Can_Find_Interior_Points() { var set = new HashSet <char> { 'a', 'b', 'c' }; // Arrange var t = new HashSet <HashSet <char> > { new HashSet <char> { 'a', 'b', 'c' }, new HashSet <char>(), new HashSet <char> { 'a' }, new HashSet <char> { 'a', 'b' }, }; var subset = new HashSet <char> { 'a', 'c' }; var expected = new HashSet <char> { 'a' }; var categories = new SubsetCategories <char>(set, subset, t); // Act var result = categories.InteriorPoints; // Assert Assert.Equal(expected, result, SetComparer); }
private void FindPointsBtn_Click(object sender, RoutedEventArgs e) { var setBox = PointsTabSetTextBox.Text; if (string.IsNullOrEmpty(setBox)) { MessageBox.Show("Please fill the set field.", "Required Field!"); return; } var subsetBox = PointsTabSubsetTextBox.Text; if (string.IsNullOrEmpty(subsetBox)) { MessageBox.Show("Please fill the subset field.", "Required Field!"); return; } var tBox = PointsTabTopologyTextBox.Text; if (string.IsNullOrEmpty(tBox)) { MessageBox.Show("Please fill the topology field.", "Required Field!"); return; } var set = StringToSet(setBox); var subset = StringToSet(subsetBox); var t = StringToSetOfSets(tBox); var func = PointsTabPointsComboBox.Text; if (string.IsNullOrEmpty(func)) { MessageBox.Show("Please, select the points set.", "Required Field!"); return; } try { var caterings = new SubsetCategories <string>(set, subset, t); var result = func switch { "Limit Points" => caterings.LimitPoints, "Closure Points" => caterings.ClosurePoints, "Interior Points" => caterings.InteriorPoints, "Exterior Points" => caterings.ExteriorPoints, "Boundary Points" => caterings.BoundaryPoints, _ => null }; PointsTabPointsResult.Text = SetToString(result); } catch (Exception ex) { MessageBox.Show($"Error: {ex.Message}", "Error!"); } }
public void Can_Find_Closure_Points() { // Arrange var set = new HashSet <char> { 'a', 'b', 'c', 'd' }; var t = new HashSet <HashSet <char> > { new HashSet <char> { 'a', 'b', 'c', 'd' }, new HashSet <char>(), new HashSet <char> { 'a' }, new HashSet <char> { 'b', 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }; var subset = new HashSet <char> { 'b', 'd' }; var expected = new HashSet <char> { 'b', 'c', 'd' }; var categories1 = new SubsetCategories <char>(set, subset, t); var categories2 = new SubsetCategories <char>(set, new HashSet <char>(), t); var categories3 = new SubsetCategories <char>(set, set, t); // Act var result = categories1.ClosurePoints; var result2 = categories2.ClosurePoints; var result3 = categories3.ClosurePoints; // Assert Assert.Equal(expected, result, SetComparer); Assert.Equal(new HashSet <char>(), result2); Assert.Equal(set, result3); }
private void FindSubsetsPointsBtn_Click(object sender, RoutedEventArgs e) { SubsetPointsDataGrid.Items.Clear(); try { var set = StringToSet(SubsetPointsTabSetTextBox.Text); var t = StringToSetOfSets(SubsetPointsTabTopologyTextBox.Text); var powerSet = PowerSet(set); var i = 0; foreach (var subset in powerSet) { var caterings = new SubsetCategories <string>(set, subset, t); SubsetPointsDataGrid.Items.Add(new SubsetCategoriesModel { Index = ++i, Subset = SetToString(subset), Limit = SetToString(caterings.LimitPoints), Closure = SetToString(caterings.ClosurePoints), Interior = SetToString(caterings.InteriorPoints), Exterior = SetToString(caterings.ExteriorPoints), Boundary = SetToString(caterings.BoundaryPoints), Accuracy = caterings.Accuracy, }); } } catch (ArgumentNullException nex) { MessageBox.Show( messageBoxText: $"Please fill the {nex.ParamName.ToLower()} field.", caption: "Required Field!", button: MessageBoxButton.OK, icon: MessageBoxImage.Exclamation); } catch (Exception ex) { MessageBox.Show($"Error: {ex.Message}", "Error!"); } }
public void Can_Find_Limit_Points() { // Arrange var set = new HashSet <char> { 'a', 'b', 'c', 'd', 'e' }; var t = new HashSet <HashSet <char> > { new HashSet <char> { 'a', 'b', 'c', 'd', 'e' }, new HashSet <char>(), new HashSet <char> { 'a' }, new HashSet <char> { 'c', 'd' }, new HashSet <char> { 'a', 'c', 'd' }, new HashSet <char> { 'b', 'c', 'd', 'e' } }; var subset = new HashSet <char> { 'a', 'b', 'c' }; var expected = new HashSet <char> { 'b', 'd', 'e' }; var categories = new SubsetCategories <char>(set, subset, t); // Act var result = categories.LimitPoints; // Assert Assert.Equal(expected, result, SetComparer); }