public void GetAllInputs_Successfully_Returns_ListOfInputs() { //Arrange var isGreaterThan = new GreaterThanOrEqualTo <int, IContext>(new ConstantInteger <IContext>(2), new ConstantInteger <IContext>(1)); var expressionSubtypes = new ExpressionsSubTypes().AddBool <IContext>().AddBool <int, IContext>().AddInt <IContext>(); //Act var settings = new JsonSerializerSettings().Add(expressionSubtypes); var json = JsonConvert.SerializeObject(isGreaterThan, settings); var result = JsonConvert.DeserializeObject <IExpression <bool, IContext> >(json, settings); //Assert Assert.True(isGreaterThan.Equals(result)); }