public void Can_Determine_Invalid_Topology() { // Arrange var set = new HashSet <char> { 'a', 'b', 'c' }; var t = new HashSet <HashSet <char> > { new HashSet <char> { 'a', 'b', 'c' }, new HashSet <char> { 'a' }, new HashSet <char> { 'b' }, }; // Act var result = TopologyUtl.IsTopology(t, set); // Assert Assert.False(result); }
public void Can_Find_NeighborhoodSystem() { // Arrange var set = new HashSet <char> { 'a', 'b', 'c', 'd', 'e' }; var t = new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'a' }, new HashSet <char> { 'a', 'b' }, new HashSet <char> { 'a', 'c', 'd' }, new HashSet <char> { 'a', 'b', 'c', 'd' }, new HashSet <char> { 'a', 'b', 'c', 'd', 'e' }, }; // Act var result = TopologyUtl.NeighbourhoodSystem(set, t, 'c'); // Assert Assert.Equal(new HashSet <HashSet <char> > { new HashSet <char> { 'a', 'c', 'd' }, new HashSet <char> { 'a', 'b', 'c', 'd' }, new HashSet <char> { 'a', 'c', 'd', 'e' }, new HashSet <char> { 'a', 'b', 'c', 'd', 'e' }, }, result, SetComparer); }
public void Can_Generate_Topologies() { // Arrange var set = new HashSet <char> { 'a', 'b', 'c' }; var expected = new HashSet <HashSet <HashSet <char> > > { new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'a' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'b' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'a', 'b' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'a' }, new HashSet <char> { 'a', 'b' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'b' }, new HashSet <char> { 'a', 'b' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'a' }, new HashSet <char> { 'b' }, new HashSet <char> { 'a', 'b' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'a', 'b' }, new HashSet <char> { 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'a', 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'a' }, new HashSet <char> { 'a', 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'b' }, new HashSet <char> { 'a', 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'a' }, new HashSet <char> { 'a', 'b' }, new HashSet <char> { 'a', 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'a' }, new HashSet <char> { 'b' }, new HashSet <char> { 'a', 'b' }, new HashSet <char> { 'a', 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'c' }, new HashSet <char> { 'a', 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'a' }, new HashSet <char> { 'c' }, new HashSet <char> { 'a', 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'a' }, new HashSet <char> { 'a', 'b' }, new HashSet <char> { 'c' }, new HashSet <char> { 'a', 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'b', 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'a' }, new HashSet <char> { 'b', 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'b' }, new HashSet <char> { 'b', 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'b' }, new HashSet <char> { 'a', 'b' }, new HashSet <char> { 'b', 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'a' }, new HashSet <char> { 'b' }, new HashSet <char> { 'a', 'b' }, new HashSet <char> { 'b', 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'c' }, new HashSet <char> { 'b', 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'b' }, new HashSet <char> { 'c' }, new HashSet <char> { 'b', 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'b' }, new HashSet <char> { 'a', 'b' }, new HashSet <char> { 'c' }, new HashSet <char> { 'b', 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'c' }, new HashSet <char> { 'a', 'c' }, new HashSet <char> { 'b', 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'a' }, new HashSet <char> { 'c' }, new HashSet <char> { 'a', 'c' }, new HashSet <char> { 'b', 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'b' }, new HashSet <char> { 'c' }, new HashSet <char> { 'a', 'c' }, new HashSet <char> { 'b', 'c' }, new HashSet <char> { 'a', 'b', 'c' }, }, new HashSet <HashSet <char> > { new HashSet <char>(), new HashSet <char> { 'a' }, new HashSet <char> { 'b' }, new HashSet <char> { 'a', 'b' }, new HashSet <char> { 'c' }, new HashSet <char> { 'a', 'c' }, new HashSet <char> { 'b', 'c' }, new HashSet <char> { 'a', 'b', 'c' }, } }; // Act var result = TopologyUtl.Topologies(set).ToHashSet(); // Assert - the two sets is equals Assert.Equal(expected, result, SetOfSetComparer); Assert.Equal(29, result.Count); }