public void GenerateExpression_RandomExpressionGeneratedAndPassedToLogicAppForParsing_ExpectedAllHashCodesToMatch() { // Arrange // re-use logic app for not repeating large procedure and for all the hash codes. LogicApp logicApp = new LogicApp(new Parser()); PropositionGenerator propositionGenerator = new PropositionGenerator(); // Act Proposition randomExpression = propositionGenerator.GenerateExpression(); logicApp.Parse(randomExpression); bool hashCodesMatched = logicApp.HashCodesMatched(); // Assert hashCodesMatched.Should().BeTrue("Because a valid expression should be generated"); }