public void Example() { var result = new Q04().FindPowerSet(new HashSet <int> { 0, 1, 2 }); Assert.Equal(8, result.Count); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 0 })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 1 })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 2 })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 0, 1 })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 0, 2 })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 1, 2 })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 0, 1, 2 })).Any()); }
public void InputIsEmptySet() { var result = new Q04().FindPowerSet(new HashSet <int> { }); Assert.Equal(1, result.Count); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { })).Any()); }
public void InputOfSize4() { var result = new Q04().FindPowerSet(new HashSet <int> { 0, 1, 2, 3 }); Assert.Equal(16, result.Count); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 0 })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 1 })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 2 })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 3 })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 0, 1 })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 0, 2 })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 0, 3 })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 1, 2 })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 1, 3 })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 2, 3 })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 0, 1, 2 })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 0, 1, 3 })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 0, 2, 3 })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 1, 2, 3 })).Any()); Assert.True(result.Where(x => x.SetEquals(new HashSet <int> { 0, 1, 2, 3 })).Any()); }