// 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("")));
}