def test_point_adjacency_subsets(self):
     c0 = Contour([0])
     c1 = Contour([1, 3, 0, 2])
     cpas1 = [[c0, Contour([0, 1]), Contour([1, 2, 0]), Contour([1, 3, 0, 2])],
              [None, c0, Contour([1, 0]), Contour([2, 0, 1])],
              [None, None, c0, Contour([0, 1])],
              [None, None, None, c0]]
     self.assertEqual(c1.point_adjacency_subsets().as_matrix().tolist(), cpas1)
    def test_ancestors(self):
        s1 = [0, 3, 1, 2]
        c1 = Contour(s1)
        ancestors1 = [Contour(s1[:i]).translate() for i in range(1, len(s1) + 1)]
        s2 = [1, 3, 0, 2, 4]
        c2 = Contour(s2)
        ancestors2 = [Contour(s2[:i]).reduction_schultz()[0].translate() for i in range(1, len(s2) + 1)]

        self.assertEqual(c1.ancestors(), ancestors1)
        self.assertEqual(c2.ancestors(True), ancestors2)
 def test_cumulative_ascent_descent_index(self):
     c1 = Contour([0, 3, 1, 2])
     self.assertEqual(c1.cumulative_ascent_descent_index().tolist(), [0.5, 1, 0.75, 0.7])
 def test_contour_subsets(self):
     c1 = Contour([0, 3, 1, 2])
     subsets = [[[0, 1], [0, 1], [0, 1], [1, 0], [1, 0], [0, 1]],
                 [[0, 2, 1], [0, 2, 1], [0, 1, 2], [2, 0, 1]]]
     c1_subsets = [list(map(Contour, ss)) for ss in subsets]
     self.assertEqual(c1._subsets(), c1_subsets)
 def test_contour_class_vector_ii(self):
     c1 = Contour([1, 2, 3, 5, 4, 0])
     ccvii = [9, 6]
     self.assertEqual(c1.class_vector_ii(), ccvii)
     self.assertEqual(c1.class_vector_ii(True), float(3/15))
 def test_contour_class_prime_form_sampaio(self):
     c1 = Contour([8, 6, 9, 5])
     self.assertEqual(c1.class_prime_form_sampaio(), Contour([0, 3, 1, 2]))
 def test_contour_interval_array(self):
     c1 = Contour([1, 2, 3, 5, 4, 0])
     cia = [[3, 3, 2, 1, 0], [2, 1, 1, 1, 1]]
     self.assertEqual(c1.interval_array(), cia)
 def test_contour_interval_succession(self):
     c1 = Contour([0, 3, 1, 2])
     cis = pandas.Series([3, -2, 1])
     self.assertEqual(c1.interval_succession().tolist(), cis.tolist())
 def test_contour_comparison_matrix_ternary(self):
     c1 = Contour([0, 2, 1])
     m1 = FuzzyMatrix([[1, 2, 2], [0, 1, 0], [0, 2, 1]])
     m1.matrix.columns = m1.matrix.index = [0, 2, 1]
     self.assertEqual(c1.comparison_matrix_ternary(), m1)
 def test_contour_comparison_matrix_crisp(self):
     c1 = Contour([0, 2, 1])
     m1 = CrispMatrix([[0, 1, 1], [-1, 0, -1], [-1, 1, 0]])
     m1.matrix.columns = m1.matrix.index = [0, 2, 1]
     self.assertEqual(c1.comparison_matrix_crisp(), m1)
 def test_contour_integer_check(self):
     c1 = Contour([0, 2, 1])
     c2 = Contour([1.2, 43.1, 23.546])
     c2._integer_check()
     self.assertEqual(c1, c2)