def test_polynomial_feature_map():
    sys.stderr.write(str(I1) + "\n")
    sys.stderr.write(str(I2) + "\n")

    my_polynomial_feature_map = PolynomialFeatureMap([I1, I2], [1, 2])
    my_polynomial_feature_map.compute_num_terms()
    first_element = my_polynomial_feature_map.get_mapped_feature_vec_element(2)
    result = np.multiply(I1, I1)
    assert (first_element == result).all()

    first_element = my_polynomial_feature_map.get_mapped_feature_vec_element(0)
    result = I1
    assert (first_element == result).all()

    my_polynomial_feature_map = PolynomialFeatureMap([I1, I2], [0])
    my_polynomial_feature_map.compute_num_terms()
    first_element = my_polynomial_feature_map.get_mapped_feature_vec_element(0)
    sys.stderr.write(str(first_element) + "\n")
    result = 1
    assert (first_element == result)

    my_polynomial_feature_map = PolynomialFeatureMap([I1, I2], [2])
    my_polynomial_feature_map.compute_num_terms()
    first_element = my_polynomial_feature_map.get_mapped_feature_vec_element(1)
    result = np.multiply(I1, I2)
    assert (first_element == result).all()

    my_polynomial_feature_map = PolynomialFeatureMap([I1, I2], [2, 2, 1, 2])
    my_polynomial_feature_map.compute_num_terms()
    first_element = my_polynomial_feature_map.get_mapped_feature_vec_element(1)
    result = I2
    assert (first_element == result).all()
def test_polynomial_feature_map():
    sys.stderr.write(str(I1)+"\n")
    sys.stderr.write(str(I2)+"\n")

    my_polynomial_feature_map = PolynomialFeatureMap( [I1,I2],[1,2] )  
    my_polynomial_feature_map.compute_num_terms()
    first_element = my_polynomial_feature_map.get_mapped_feature_vec_element(2)
    result = np.multiply(I1,I1)
    assert (first_element == result).all()
    
    first_element = my_polynomial_feature_map.get_mapped_feature_vec_element(0)
    result = I1
    assert (first_element == result).all()
    
    my_polynomial_feature_map = PolynomialFeatureMap( [I1,I2], [0])  
    my_polynomial_feature_map.compute_num_terms()
    first_element = my_polynomial_feature_map.get_mapped_feature_vec_element(0)
    sys.stderr.write(str(first_element)+"\n")
    result = 1
    assert (first_element == result)   

    my_polynomial_feature_map = PolynomialFeatureMap([I1,I2], [2])  
    my_polynomial_feature_map.compute_num_terms()
    first_element = my_polynomial_feature_map.get_mapped_feature_vec_element(1)
    result = np.multiply(I1,I2)
    assert (first_element == result).all() 
        
    my_polynomial_feature_map = PolynomialFeatureMap([I1,I2], [2,2,1,2])  
    my_polynomial_feature_map.compute_num_terms()
    first_element = my_polynomial_feature_map.get_mapped_feature_vec_element(1)
    result = I2
    assert (first_element == result).all()