Code Duplication    Length = 61-61 lines in 3 locations

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

@@ 864-924 (lines=61) @@
861
        $this->assertEquals($this->fixtures[2]->status,$result[2]['status']);
862
    }
863
864
    public function testShouldSupportMultipleNewOperatorsAndMultipleScalars()
865
    {
866
        $dql = "
867
            SELECT
868
                new CmsUserDTO(
869
                    u.name,
870
                    e.email
871
                ),
872
                new CmsAddressDTO(
873
                    a.country,
874
                    a.city
875
                ),
876
                u.status,
877
                u.username
878
            FROM
879
                Doctrine\Tests\Models\CMS\CmsUser u
880
            JOIN
881
                u.email e
882
            JOIN
883
                u.address a
884
            ORDER BY
885
                u.name";
886
887
        $query  = $this->_em->createQuery($dql);
888
        $result = $query->getResult();
889
890
        $this->assertCount(3, $result);
891
892
        $this->assertInstanceOf(CmsUserDTO::class, $result[0][0]);
893
        $this->assertInstanceOf(CmsUserDTO::class, $result[1][0]);
894
        $this->assertInstanceOf(CmsUserDTO::class, $result[2][0]);
895
896
        $this->assertInstanceOf(CmsAddressDTO::class, $result[0][1]);
897
        $this->assertInstanceOf(CmsAddressDTO::class, $result[1][1]);
898
        $this->assertInstanceOf(CmsAddressDTO::class, $result[2][1]);
899
900
        $this->assertEquals($this->fixtures[0]->name, $result[0][0]->name);
901
        $this->assertEquals($this->fixtures[1]->name, $result[1][0]->name);
902
        $this->assertEquals($this->fixtures[2]->name, $result[2][0]->name);
903
904
        $this->assertEquals($this->fixtures[0]->email->email, $result[0][0]->email);
905
        $this->assertEquals($this->fixtures[1]->email->email, $result[1][0]->email);
906
        $this->assertEquals($this->fixtures[2]->email->email, $result[2][0]->email);
907
908
909
        $this->assertEquals($this->fixtures[0]->address->city, $result[0][1]->city);
910
        $this->assertEquals($this->fixtures[1]->address->city, $result[1][1]->city);
911
        $this->assertEquals($this->fixtures[2]->address->city, $result[2][1]->city);
912
913
        $this->assertEquals($this->fixtures[0]->address->country, $result[0][1]->country);
914
        $this->assertEquals($this->fixtures[1]->address->country, $result[1][1]->country);
915
        $this->assertEquals($this->fixtures[2]->address->country, $result[2][1]->country);
916
917
        $this->assertEquals($this->fixtures[0]->status,$result[0]['status']);
918
        $this->assertEquals($this->fixtures[1]->status,$result[1]['status']);
919
        $this->assertEquals($this->fixtures[2]->status,$result[2]['status']);
920
921
        $this->assertEquals($this->fixtures[0]->username,$result[0]['username']);
922
        $this->assertEquals($this->fixtures[1]->username,$result[1]['username']);
923
        $this->assertEquals($this->fixtures[2]->username,$result[2]['username']);
924
    }
925
926
    public function testShouldSupportMultipleNewOperatorsAndMultipleScalarsWithAliases()
927
    {
@@ 926-986 (lines=61) @@
923
        $this->assertEquals($this->fixtures[2]->username,$result[2]['username']);
924
    }
925
926
    public function testShouldSupportMultipleNewOperatorsAndMultipleScalarsWithAliases()
927
    {
928
        $dql = "
929
            SELECT
930
                new CmsUserDTO(
931
                    u.name,
932
                    e.email
933
                ) as cmsUser,
934
                new CmsAddressDTO(
935
                    a.country,
936
                    a.city
937
                ) as cmsAddress,
938
                u.status as cmsUserStatus,
939
                u.username as cmsUserUsername
940
            FROM
941
                Doctrine\Tests\Models\CMS\CmsUser u
942
            JOIN
943
                u.email e
944
            JOIN
945
                u.address a
946
            ORDER BY
947
                u.name";
948
949
        $query  = $this->_em->createQuery($dql);
950
        $result = $query->getResult();
951
952
        $this->assertCount(3, $result);
953
954
        $this->assertInstanceOf(CmsUserDTO::class, $result[0]['cmsUser']);
955
        $this->assertInstanceOf(CmsUserDTO::class, $result[1]['cmsUser']);
956
        $this->assertInstanceOf(CmsUserDTO::class, $result[2]['cmsUser']);
957
958
        $this->assertInstanceOf(CmsAddressDTO::class, $result[0]['cmsAddress']);
959
        $this->assertInstanceOf(CmsAddressDTO::class, $result[1]['cmsAddress']);
960
        $this->assertInstanceOf(CmsAddressDTO::class, $result[2]['cmsAddress']);
961
962
        $this->assertEquals($this->fixtures[0]->name, $result[0]['cmsUser']->name);
963
        $this->assertEquals($this->fixtures[1]->name, $result[1]['cmsUser']->name);
964
        $this->assertEquals($this->fixtures[2]->name, $result[2]['cmsUser']->name);
965
966
        $this->assertEquals($this->fixtures[0]->email->email, $result[0]['cmsUser']->email);
967
        $this->assertEquals($this->fixtures[1]->email->email, $result[1]['cmsUser']->email);
968
        $this->assertEquals($this->fixtures[2]->email->email, $result[2]['cmsUser']->email);
969
970
971
        $this->assertEquals($this->fixtures[0]->address->city, $result[0]['cmsAddress']->city);
972
        $this->assertEquals($this->fixtures[1]->address->city, $result[1]['cmsAddress']->city);
973
        $this->assertEquals($this->fixtures[2]->address->city, $result[2]['cmsAddress']->city);
974
975
        $this->assertEquals($this->fixtures[0]->address->country, $result[0]['cmsAddress']->country);
976
        $this->assertEquals($this->fixtures[1]->address->country, $result[1]['cmsAddress']->country);
977
        $this->assertEquals($this->fixtures[2]->address->country, $result[2]['cmsAddress']->country);
978
979
        $this->assertEquals($this->fixtures[0]->status,$result[0]['cmsUserStatus']);
980
        $this->assertEquals($this->fixtures[1]->status,$result[1]['cmsUserStatus']);
981
        $this->assertEquals($this->fixtures[2]->status,$result[2]['cmsUserStatus']);
982
983
        $this->assertEquals($this->fixtures[0]->username,$result[0]['cmsUserUsername']);
984
        $this->assertEquals($this->fixtures[1]->username,$result[1]['cmsUserUsername']);
985
        $this->assertEquals($this->fixtures[2]->username,$result[2]['cmsUserUsername']);
986
    }
987
988
    public function testShouldSupportMultipleNewOperatorsAndMultipleScalarsWithAndWithoutAliases()
989
    {
@@ 988-1048 (lines=61) @@
985
        $this->assertEquals($this->fixtures[2]->username,$result[2]['cmsUserUsername']);
986
    }
987
988
    public function testShouldSupportMultipleNewOperatorsAndMultipleScalarsWithAndWithoutAliases()
989
    {
990
        $dql = "
991
            SELECT
992
                new CmsUserDTO(
993
                    u.name,
994
                    e.email
995
                ) as cmsUser,
996
                new CmsAddressDTO(
997
                    a.country,
998
                    a.city
999
                ),
1000
                u.status,
1001
                u.username as cmsUserUsername
1002
            FROM
1003
                Doctrine\Tests\Models\CMS\CmsUser u
1004
            JOIN
1005
                u.email e
1006
            JOIN
1007
                u.address a
1008
            ORDER BY
1009
                u.name";
1010
1011
        $query  = $this->_em->createQuery($dql);
1012
        $result = $query->getResult();
1013
1014
        $this->assertCount(3, $result);
1015
1016
        $this->assertInstanceOf(CmsUserDTO::class, $result[0]['cmsUser']);
1017
        $this->assertInstanceOf(CmsUserDTO::class, $result[1]['cmsUser']);
1018
        $this->assertInstanceOf(CmsUserDTO::class, $result[2]['cmsUser']);
1019
1020
        $this->assertInstanceOf(CmsAddressDTO::class, $result[0][0]);
1021
        $this->assertInstanceOf(CmsAddressDTO::class, $result[1][0]);
1022
        $this->assertInstanceOf(CmsAddressDTO::class, $result[2][0]);
1023
1024
        $this->assertEquals($this->fixtures[0]->name, $result[0]['cmsUser']->name);
1025
        $this->assertEquals($this->fixtures[1]->name, $result[1]['cmsUser']->name);
1026
        $this->assertEquals($this->fixtures[2]->name, $result[2]['cmsUser']->name);
1027
1028
        $this->assertEquals($this->fixtures[0]->email->email, $result[0]['cmsUser']->email);
1029
        $this->assertEquals($this->fixtures[1]->email->email, $result[1]['cmsUser']->email);
1030
        $this->assertEquals($this->fixtures[2]->email->email, $result[2]['cmsUser']->email);
1031
1032
1033
        $this->assertEquals($this->fixtures[0]->address->city, $result[0][0]->city);
1034
        $this->assertEquals($this->fixtures[1]->address->city, $result[1][0]->city);
1035
        $this->assertEquals($this->fixtures[2]->address->city, $result[2][0]->city);
1036
1037
        $this->assertEquals($this->fixtures[0]->address->country, $result[0][0]->country);
1038
        $this->assertEquals($this->fixtures[1]->address->country, $result[1][0]->country);
1039
        $this->assertEquals($this->fixtures[2]->address->country, $result[2][0]->country);
1040
1041
        $this->assertEquals($this->fixtures[0]->status,$result[0]['status']);
1042
        $this->assertEquals($this->fixtures[1]->status,$result[1]['status']);
1043
        $this->assertEquals($this->fixtures[2]->status,$result[2]['status']);
1044
1045
        $this->assertEquals($this->fixtures[0]->username,$result[0]['cmsUserUsername']);
1046
        $this->assertEquals($this->fixtures[1]->username,$result[1]['cmsUserUsername']);
1047
        $this->assertEquals($this->fixtures[2]->username,$result[2]['cmsUserUsername']);
1048
    }
1049
1050
    /**
1051
     * @expectedException Doctrine\ORM\Query\QueryException