def test_defuzz_double(): """ Test a double-defuzz """ dataset = [ Point(0, 0, d), Point(1, 1, d + 1), Point(0, 0, d + 2), Point(-1, -1, d + 3), Point(0, 0, d + 6), # Begin chopped displacement Point(10, 10, d + 7), Point(10, 10, d + 8), Point(10, 10, d + 9), Point(10, 10, d + 10), # End. Point(0, 0, d + 29), Point(0, 0, d + 30), Point(0, 0, d + 31) ] foo = dataset[:] assert defuzz_raw(dataset, delt) == foo foo2 = [ Point(0, 0, d), Point(0, 0, d + 2), Point(0, 0, d + 6), Point(10, 10, d + 7), Point(10, 10, d + 8), Point(10, 10, d + 9), Point(10, 10, d + 10), Point(0, 0, d + 29), Point(0, 0, d + 30), Point(0, 0, d + 31) ] # such a hack assert defuzz_feet(dataset, delt) == foo2 assert defuzz_meters(dataset, delt) == foo2
def test_defuzz_single(): """ Test a single defuzz """ dataset = [ Point(0, 0, d), Point(1, 1, d + 1), Point(0, 0, d + 2), Point(-1, -1, d + 3), Point(0, 0, d + 6), Point(10, 10, d + 8), # Bad (5) Point(0, 0, d + 10), Point(0, 0, d + 30), Point(0, 0, d + 31) ] foo = dataset[:] del foo[5] assert defuzz_raw(dataset, delt) == foo