// xestiaab_convert.h - Xestia Address Book Convert Unit Tests. // // (c) 2012-2015 Xestia Software Development. // // This file is part of Xestia Address Book. // // Xestia Address Book is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by the // Free Software Foundation, version 3 of the license. // // Xestia Address Book is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with Xestia Address Book. If not, see #include #include "../convert.h" TEST(ConvertCmdLine, ConvertTests){ // Test that the input format is valid. ASSERT_EQ(CONVERTRESULT_OK, ConvertContact(wxT("vCard4"), wxT("vCard3"), wxT("LoadCheck-Load1.vcf"), wxT("Temp-LoadCheck-Load1-v3Conv.vcf"))); ASSERT_EQ(CONVERTRESULT_OK, ConvertContact(wxT("vCard3"), wxT("vCard4"), wxT("LoadCheck-Load1-v3.vcf"), wxT("Temp-LoadCheck-Load1-v4Conv.vcf"))); // Test that a matching input and output formats return // an error. ASSERT_EQ(CONVERTRESULT_FORMATSSAME, ConvertContact(wxT("vCard3"), wxT("vCard3"), wxT("LoadCheck-Load1.vcf"), wxT("Temp-LoadCheck-Load1-v3Conv.vcf"))); // Test that an invalid input format returns an error. ASSERT_EQ(CONVERTRESULT_INVALIDINPUTFORMAT, ConvertContact(wxT("vCardNope"), wxT("vCard3"), wxT("LoadCheck-Load1.vcf"), wxT("Temp-LoadCheck-Load1-v3Conv.vcf"))); // Test that an empty input filename was given. ASSERT_EQ(CONVERTRESULT_INPUTFILEEMPTY, ConvertContact(wxT("vCard3"), wxT("vCard4"), wxT(""), wxT("Temp-LoadCheck-Load1-v3Conv.vcf"))); // Check that the input file given exists. ASSERT_EQ(CONVERTRESULT_INPUTFILEMISSING, ConvertContact(wxT("vCard3"), wxT("vCard4"), wxT("InvalidFile.vcf"), wxT("Temp-LoadCheck-Load1-v3Conv.vcf"))); // Check that input file can't be opened. ASSERT_EQ(CONVERTRESULT_INPUTFILEERROR, ConvertContact(wxT("vCard3"), wxT("vCard4"), wxT("InvalidPermissions.vcf"), wxT("Temp-LoadCheck-Load1-v3Conv.vcf"))); // Check that the output file can't be opened. ASSERT_EQ(CONVERTRESULT_OUTPUTFILEERROR, ConvertContact(wxT("vCard3"), wxT("vCard4"), wxT("LoadCheck-Load1.vcf"), wxT("InvalidPermissions.vcf"))); // Check that the input file has the correct format. // Tests for: vCard 4.0, vCard 3.0. ASSERT_EQ(CONVERTRESULT_INPUTFILEINVALIDFORMAT, ConvertContact(wxT("vCard4"), wxT("vCard3"), wxT("LoadCheck-Load1-v3.vcf"), wxT("Temp-LoadCheck-Load1.vcf"))); ASSERT_EQ(CONVERTRESULT_INPUTFILEINVALIDFORMAT, ConvertContact(wxT("vCard3"), wxT("vCard4"), wxT("LoadCheck-Load1.vcf"), wxT("Temp-LoadCheck-Load1.vcf"))); // Check that that outputting to console (piping) works. ASSERT_EQ(CONVERTRESULT_OK, ConvertContact(wxT("vCard4"), wxT("vCard3"), wxT("LoadCheck-Load1.vcf"), wxT(""))); ASSERT_EQ(CONVERTRESULT_OK, ConvertContact(wxT("vCard3"), wxT("vCard4"), wxT("LoadCheck-Load1-v3.vcf"), wxT(""))); }