public void ExtractStatementParts_ReturnsCorrectRuleStringsComplexRule() { // Arrange string expectedIfStatement = "((Something>10)&(SomethingElse<9)|ThatOne=7)"; string expectedThenStatement = "(Anything=5)"; string implicationRule = "IF" + expectedIfStatement + "THEN" + expectedThenStatement; ImplicationRuleStrings expectedImplicationRuleStrings = new ImplicationRuleStrings(expectedIfStatement, expectedThenStatement); // Act ImplicationRuleStrings actualImplicationRuleStrings = _implicationRuleParser.ExtractStatementParts(implicationRule); // Assert Assert.IsTrue(ObjectComparer.ImplicationRuleStringsAreEqual(expectedImplicationRuleStrings, actualImplicationRuleStrings)); }