def test_high_order_cross_term(self): self.assertEquals( utils.build_label_vector("ABC", 3, 3), "A + B + C + A^2 + A*B + A*C + B^2 + B*C + C^2 + A^3 + A^2*B + " "A^2*C + A*B^2 + A*B*C + A*C^2 + B^3 + B^2*C + B*C^2 + C^3 + " "A^3*B + A^3*C + A^2*B^2 + A^2*B*C + A^2*C^2 + A*B^3 + A*B^2*C + " "A*B*C^2 + A*C^3 + B^3*C + B^2*C^2 + B*C^3")
def test_high_order_cross_term(self): self.assertEquals( utils.build_label_vector("ABC", 3, 3), "A + B + C + A^2 + A*B + A*C + B^2 + B*C + C^2 + A^3 + A^2*B + " "A^2*C + A*B^2 + A*B*C + A*C^2 + B^3 + B^2*C + B*C^2 + C^3 + " "A^3*B + A^3*C + A^2*B^2 + A^2*B*C + A^2*C^2 + A*B^3 + A*B^2*C + " "A*B*C^2 + A*C^3 + B^3*C + B^2*C^2 + B*C^3" )
def test_different_order_cross_terms(self): self.assertEquals( utils.build_label_vector("ABC", 3, 2), "A + B + C + A^2 + A*B + A*C + B^2 + B*C + C^2 + A^3 + A^2*B + " "A^2*C + A*B^2 + A*B*C + A*C^2 + B^3 + B^2*C + B*C^2 + C^3")
def test_single_cross_term(self): self.assertEquals("A + B + A*B", utils.build_label_vector("AB", 1, 1))
def test_high_order_labels(self): self.assertEquals("A + B + C + A^2 + B^2 + C^2 + A^3 + B^3 + C^3", utils.build_label_vector("ABC", 3))
def test_single_labels(self): self.assertEquals("A + B + C + D + E", utils.build_label_vector("ABCDE", 1))
def test_invalid_labels(self): self.assertEquals("", utils.build_label_vector("", 8, 1))
def test_single_cross_term(self): self.assertEquals( "A + B + A*B", utils.build_label_vector("AB", 1, 1))
def test_high_order_labels(self): self.assertEquals( "A + B + C + A^2 + B^2 + C^2 + A^3 + B^3 + C^3", utils.build_label_vector("ABC", 3))
def test_single_labels(self): self.assertEquals( "A + B + C + D + E", utils.build_label_vector("ABCDE", 1))