#include "common.hpp" using dtl::Diff; int main(int argc, char *argv[]) { if (isFewArgs(argc)) { std::cerr << "Too few arguments." << std::endl; return -1; } typedef char elem; typedef std::string sequence; sequence A(argv[1]); sequence B(argv[2]); Diff d(A, B); d.compose(); sequence s1(A); sequence s2 = d.patch(s1); d.composeUnifiedHunks(); sequence s3 = d.uniPatch(s1); std::cout << "before:" << s1 << std::endl; std::cout << "after :" << s2 << std::endl; assert(B == s2); std::cout << "patch succeeded" << std::endl; std::cout << "before:" << s1 << std::endl; std::cout << "after :" << s3 << std::endl; assert(B == s3); std::cout << "unipatch succeeded" << std::endl; return 0; }