fn test_polynomial_h_cases() {
        let test_circuit = new_test_qap();

        let inputs = [FE::from(1), FE::from(2), FE::from(3), FE::from(4)];

        let (c5, c6) = test_qap_solver(inputs.clone());

        let mut c_vector = inputs.to_vec();
        c_vector.append(&mut vec![c5, c6]);

        assert_eq!(
            test_circuit.h_polynomial(&c_vector),
            Polynomial::new_monomial(FE::from(0), 0)
        );

        let inputs = [FE::from(2), FE::from(2), FE::from(2), FE::from(2)];

        let (c5, c6) = test_qap_solver(inputs.clone());

        let mut c_vector = inputs.to_vec();
        c_vector.append(&mut vec![c5, c6]);

        assert_eq!(
            test_circuit.h_polynomial(&c_vector),
            Polynomial::new_monomial(FE::from(4), 0)
        );

        let inputs = [FE::from(3), FE::from(3), FE::from(3), FE::from(3)];

        let (c5, c6) = test_qap_solver(inputs.clone());

        let mut c_vector = inputs.to_vec();
        c_vector.append(&mut vec![c5, c6]);

        assert_eq!(
            test_circuit.h_polynomial(&c_vector),
            Polynomial::new_monomial(FE::from(18), 0)
        );

        let inputs = [FE::from(4), FE::from(3), FE::from(2), FE::from(1)];

        let (c5, c6) = test_qap_solver(inputs.clone());

        let mut c_vector = inputs.to_vec();
        c_vector.append(&mut vec![c5, c6]);

        assert_eq!(
            test_circuit.h_polynomial(&c_vector),
            Polynomial::new_monomial(FE::from(5), 0)
        );
    }
This test runs multiple cases calculated in paper
t polynomial is tested implicitly by calculating h = p / t
examples/pinocchio/src/qap.rs