예제 #1
0
    def test_generic_interfaces(self) -> None:
        fx = InterfaceTypeFixture()

        self.assert_join(fx.gfa, fx.gfa, fx.gfa)
        self.assert_join(fx.gfa, fx.gfb, fx.o)

        self.assert_join(fx.m1, fx.gfa, fx.gfa)

        self.assert_join(fx.m1, fx.gfb, fx.o)
예제 #2
0
    def test_generic_interface_subtyping(self) -> None:
        # TODO make this work
        self.skip()

        fx2 = InterfaceTypeFixture()

        self.assert_subtype(fx2.m1, fx2.gfa)
        self.assert_not_subtype(fx2.m1, fx2.gfb)

        self.assert_equivalent(fx2.gfa, fx2.gfa)
예제 #3
0
 def test_meet_with_generic_interfaces(self) -> None:
     fx = InterfaceTypeFixture()
     self.assert_meet(fx.gfa, fx.m1, fx.m1)
     self.assert_meet(fx.gfa, fx.gfa, fx.gfa)
     self.assert_meet(fx.gfb, fx.m1, fx.nonet)