public void TestSameOutcomeInputSet() { var inputRefA = new Input("Foo", "a", "foo"); var inputRefB = new Input("Bar", "b", "bar"); var input1A = new Input("Baz", "b", "baz"); var input1B = new Input("Quz", "a", "quz"); var input2 = new Input("Foo", "a", "foo"); var input4A = new Input("Foo", "a", "foo"); var input4B = new Input("Bar", "a", "bar"); var setRef = new InputSet(new List <Input> { inputRefA, inputRefB }); var setDifferentOrder = new InputSet(new List <Input> { input1A, input1B }); var setDifferentLength = new InputSet(new List <Input> { input2 }); var setDifferentEffectiveInput = new InputSet(new List <Input> { input4A, input4B }); Assert.AreNotEqual(setRef, setDifferentOrder); Assert.IsTrue(setRef.HasSameOutcomeAs(setDifferentOrder)); Assert.IsFalse(setRef.HasSameOutcomeAs(setDifferentLength)); Assert.IsFalse(setRef.HasSameOutcomeAs(setDifferentEffectiveInput)); }