Code Duplication    Length = 61-61 lines in 3 locations

tests/Doctrine/Tests/ORM/Functional/NewOperatorTest.php 3 locations

@@ 810-870 (lines=61) @@
807
        self::assertEquals($this->fixtures[2]->status,$result[2]['status']);
808
    }
809
810
    public function testShouldSupportMultipleNewOperatorsAndMultipleScalars()
811
    {
812
        $dql = "
813
            SELECT
814
                new CmsUserDTO(
815
                    u.name,
816
                    e.email
817
                ),
818
                new CmsAddressDTO(
819
                    a.country,
820
                    a.city
821
                ),
822
                u.status,
823
                u.username
824
            FROM
825
                Doctrine\Tests\Models\CMS\CmsUser u
826
            JOIN
827
                u.email e
828
            JOIN
829
                u.address a
830
            ORDER BY
831
                u.name";
832
833
        $query  = $this->em->createQuery($dql);
834
        $result = $query->getResult();
835
836
        self::assertCount(3, $result);
837
838
        self::assertInstanceOf(CmsUserDTO::class, $result[0][0]);
839
        self::assertInstanceOf(CmsUserDTO::class, $result[1][0]);
840
        self::assertInstanceOf(CmsUserDTO::class, $result[2][0]);
841
842
        self::assertInstanceOf(CmsAddressDTO::class, $result[0][1]);
843
        self::assertInstanceOf(CmsAddressDTO::class, $result[1][1]);
844
        self::assertInstanceOf(CmsAddressDTO::class, $result[2][1]);
845
846
        self::assertEquals($this->fixtures[0]->name, $result[0][0]->name);
847
        self::assertEquals($this->fixtures[1]->name, $result[1][0]->name);
848
        self::assertEquals($this->fixtures[2]->name, $result[2][0]->name);
849
850
        self::assertEquals($this->fixtures[0]->email->email, $result[0][0]->email);
851
        self::assertEquals($this->fixtures[1]->email->email, $result[1][0]->email);
852
        self::assertEquals($this->fixtures[2]->email->email, $result[2][0]->email);
853
854
855
        self::assertEquals($this->fixtures[0]->address->city, $result[0][1]->city);
856
        self::assertEquals($this->fixtures[1]->address->city, $result[1][1]->city);
857
        self::assertEquals($this->fixtures[2]->address->city, $result[2][1]->city);
858
859
        self::assertEquals($this->fixtures[0]->address->country, $result[0][1]->country);
860
        self::assertEquals($this->fixtures[1]->address->country, $result[1][1]->country);
861
        self::assertEquals($this->fixtures[2]->address->country, $result[2][1]->country);
862
863
        self::assertEquals($this->fixtures[0]->status,$result[0]['status']);
864
        self::assertEquals($this->fixtures[1]->status,$result[1]['status']);
865
        self::assertEquals($this->fixtures[2]->status,$result[2]['status']);
866
867
        self::assertEquals($this->fixtures[0]->username,$result[0]['username']);
868
        self::assertEquals($this->fixtures[1]->username,$result[1]['username']);
869
        self::assertEquals($this->fixtures[2]->username,$result[2]['username']);
870
    }
871
872
    public function testShouldSupportMultipleNewOperatorsAndMultipleScalarsWithAliases()
873
    {
@@ 872-932 (lines=61) @@
869
        self::assertEquals($this->fixtures[2]->username,$result[2]['username']);
870
    }
871
872
    public function testShouldSupportMultipleNewOperatorsAndMultipleScalarsWithAliases()
873
    {
874
        $dql = "
875
            SELECT
876
                new CmsUserDTO(
877
                    u.name,
878
                    e.email
879
                ) as cmsUser,
880
                new CmsAddressDTO(
881
                    a.country,
882
                    a.city
883
                ) as cmsAddress,
884
                u.status as cmsUserStatus,
885
                u.username as cmsUserUsername
886
            FROM
887
                Doctrine\Tests\Models\CMS\CmsUser u
888
            JOIN
889
                u.email e
890
            JOIN
891
                u.address a
892
            ORDER BY
893
                u.name";
894
895
        $query  = $this->em->createQuery($dql);
896
        $result = $query->getResult();
897
898
        self::assertCount(3, $result);
899
900
        self::assertInstanceOf(CmsUserDTO::class, $result[0]['cmsUser']);
901
        self::assertInstanceOf(CmsUserDTO::class, $result[1]['cmsUser']);
902
        self::assertInstanceOf(CmsUserDTO::class, $result[2]['cmsUser']);
903
904
        self::assertInstanceOf(CmsAddressDTO::class, $result[0]['cmsAddress']);
905
        self::assertInstanceOf(CmsAddressDTO::class, $result[1]['cmsAddress']);
906
        self::assertInstanceOf(CmsAddressDTO::class, $result[2]['cmsAddress']);
907
908
        self::assertEquals($this->fixtures[0]->name, $result[0]['cmsUser']->name);
909
        self::assertEquals($this->fixtures[1]->name, $result[1]['cmsUser']->name);
910
        self::assertEquals($this->fixtures[2]->name, $result[2]['cmsUser']->name);
911
912
        self::assertEquals($this->fixtures[0]->email->email, $result[0]['cmsUser']->email);
913
        self::assertEquals($this->fixtures[1]->email->email, $result[1]['cmsUser']->email);
914
        self::assertEquals($this->fixtures[2]->email->email, $result[2]['cmsUser']->email);
915
916
917
        self::assertEquals($this->fixtures[0]->address->city, $result[0]['cmsAddress']->city);
918
        self::assertEquals($this->fixtures[1]->address->city, $result[1]['cmsAddress']->city);
919
        self::assertEquals($this->fixtures[2]->address->city, $result[2]['cmsAddress']->city);
920
921
        self::assertEquals($this->fixtures[0]->address->country, $result[0]['cmsAddress']->country);
922
        self::assertEquals($this->fixtures[1]->address->country, $result[1]['cmsAddress']->country);
923
        self::assertEquals($this->fixtures[2]->address->country, $result[2]['cmsAddress']->country);
924
925
        self::assertEquals($this->fixtures[0]->status,$result[0]['cmsUserStatus']);
926
        self::assertEquals($this->fixtures[1]->status,$result[1]['cmsUserStatus']);
927
        self::assertEquals($this->fixtures[2]->status,$result[2]['cmsUserStatus']);
928
929
        self::assertEquals($this->fixtures[0]->username,$result[0]['cmsUserUsername']);
930
        self::assertEquals($this->fixtures[1]->username,$result[1]['cmsUserUsername']);
931
        self::assertEquals($this->fixtures[2]->username,$result[2]['cmsUserUsername']);
932
    }
933
934
    public function testShouldSupportMultipleNewOperatorsAndMultipleScalarsWithAndWithoutAliases()
935
    {
@@ 934-994 (lines=61) @@
931
        self::assertEquals($this->fixtures[2]->username,$result[2]['cmsUserUsername']);
932
    }
933
934
    public function testShouldSupportMultipleNewOperatorsAndMultipleScalarsWithAndWithoutAliases()
935
    {
936
        $dql = "
937
            SELECT
938
                new CmsUserDTO(
939
                    u.name,
940
                    e.email
941
                ) as cmsUser,
942
                new CmsAddressDTO(
943
                    a.country,
944
                    a.city
945
                ),
946
                u.status,
947
                u.username as cmsUserUsername
948
            FROM
949
                Doctrine\Tests\Models\CMS\CmsUser u
950
            JOIN
951
                u.email e
952
            JOIN
953
                u.address a
954
            ORDER BY
955
                u.name";
956
957
        $query  = $this->em->createQuery($dql);
958
        $result = $query->getResult();
959
960
        self::assertCount(3, $result);
961
962
        self::assertInstanceOf(CmsUserDTO::class, $result[0]['cmsUser']);
963
        self::assertInstanceOf(CmsUserDTO::class, $result[1]['cmsUser']);
964
        self::assertInstanceOf(CmsUserDTO::class, $result[2]['cmsUser']);
965
966
        self::assertInstanceOf(CmsAddressDTO::class, $result[0][0]);
967
        self::assertInstanceOf(CmsAddressDTO::class, $result[1][0]);
968
        self::assertInstanceOf(CmsAddressDTO::class, $result[2][0]);
969
970
        self::assertEquals($this->fixtures[0]->name, $result[0]['cmsUser']->name);
971
        self::assertEquals($this->fixtures[1]->name, $result[1]['cmsUser']->name);
972
        self::assertEquals($this->fixtures[2]->name, $result[2]['cmsUser']->name);
973
974
        self::assertEquals($this->fixtures[0]->email->email, $result[0]['cmsUser']->email);
975
        self::assertEquals($this->fixtures[1]->email->email, $result[1]['cmsUser']->email);
976
        self::assertEquals($this->fixtures[2]->email->email, $result[2]['cmsUser']->email);
977
978
979
        self::assertEquals($this->fixtures[0]->address->city, $result[0][0]->city);
980
        self::assertEquals($this->fixtures[1]->address->city, $result[1][0]->city);
981
        self::assertEquals($this->fixtures[2]->address->city, $result[2][0]->city);
982
983
        self::assertEquals($this->fixtures[0]->address->country, $result[0][0]->country);
984
        self::assertEquals($this->fixtures[1]->address->country, $result[1][0]->country);
985
        self::assertEquals($this->fixtures[2]->address->country, $result[2][0]->country);
986
987
        self::assertEquals($this->fixtures[0]->status,$result[0]['status']);
988
        self::assertEquals($this->fixtures[1]->status,$result[1]['status']);
989
        self::assertEquals($this->fixtures[2]->status,$result[2]['status']);
990
991
        self::assertEquals($this->fixtures[0]->username,$result[0]['cmsUserUsername']);
992
        self::assertEquals($this->fixtures[1]->username,$result[1]['cmsUserUsername']);
993
        self::assertEquals($this->fixtures[2]->username,$result[2]['cmsUserUsername']);
994
    }
995
996
    /**
997
     * @expectedException Doctrine\ORM\Query\QueryException