mirror of
https://github.com/ejwa/gitinspector.git
synced 2024-12-22 13:42:14 +01:00
Added two unit tests for testing the comment module.
This commit is contained in:
parent
942836cc1c
commit
7bc297e99f
4 changed files with 209 additions and 0 deletions
20
tests/__init__.py
Normal file
20
tests/__init__.py
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
# coding: utf-8
|
||||||
|
#
|
||||||
|
# Copyright © 2013 Ejwa Software. All rights reserved.
|
||||||
|
#
|
||||||
|
# This file is part of gitinspector.
|
||||||
|
#
|
||||||
|
# gitinspector 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, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# gitinspector 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 gitinspector. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# This file was intentionally left blank.
|
67
tests/commented_file.cpp
Normal file
67
tests/commented_file.cpp
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
/*
|
||||||
|
* Copyright © 2013 Ejwa Software. All rights reserved.
|
||||||
|
*
|
||||||
|
* This file is part of gitinspector.
|
||||||
|
*
|
||||||
|
* gitinspector 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, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* gitinspector 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 gitinspector. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include <iostream>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
struct Dimensions {
|
||||||
|
double width;
|
||||||
|
double height;
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* A class for a rectangle
|
||||||
|
*/
|
||||||
|
class Rectangle {
|
||||||
|
private:
|
||||||
|
Dimensions dimensions;
|
||||||
|
public:
|
||||||
|
Rectangle(Dimensions dimensions);
|
||||||
|
void print();
|
||||||
|
};
|
||||||
|
|
||||||
|
Rectangle::Rectangle(Dimensions dimensions) {
|
||||||
|
this->dimensions = dimensions;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Rectangle::print() {
|
||||||
|
/*
|
||||||
|
* Print some stuff (testing comments)
|
||||||
|
*/
|
||||||
|
std::cout << "\nCharacteristics of this rectangle";
|
||||||
|
std::cout << "\nWidth = " << this->dimensions.width;
|
||||||
|
std::cout << "\nHeight = " << this->dimensions.height;
|
||||||
|
std::cout << "\nArea = " << this->dimensions.width * this->dimensions.height << "\n"; // ^2
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
Dimensions dimensions;
|
||||||
|
|
||||||
|
std::cout << "Provide the dimensions of a rectangle\n";
|
||||||
|
std::cout << "Width: ";
|
||||||
|
std::cin >> dimensions.width;
|
||||||
|
std::cout << "Height: ";
|
||||||
|
std::cin >> dimensions.height;
|
||||||
|
|
||||||
|
// Create rectanlge and wait for user-input.
|
||||||
|
Rectangle rectangle(dimensions);
|
||||||
|
rectangle.print();
|
||||||
|
getchar();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
72
tests/commented_file.tex
Normal file
72
tests/commented_file.tex
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
% Copyright © 2013 Ejwa Software. All rights reserved.
|
||||||
|
%
|
||||||
|
% This file is part of gitinspector.
|
||||||
|
%
|
||||||
|
% gitinspector 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, either version 3 of the License, or
|
||||||
|
% (at your option) any later version.
|
||||||
|
%
|
||||||
|
% gitinspector 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 gitinspector. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\documentclass{article}
|
||||||
|
\usepackage{verbatim}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\title{A test for gitinspector}
|
||||||
|
\author{Ejwa Software}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\begin{abstract}
|
||||||
|
Lorem ipsum dolor sit amet, qui morbi a nunc purus, turpis netus et,
|
||||||
|
faucibus amet porttitor commodo luctus convallis sit, non sociosqu ut felis fusce eros,
|
||||||
|
mi scelerisque vel tincidunt vivamus aliquet. Urna et commodo ut ipsum integer,
|
||||||
|
eu nostra etiam lacinia odio praesent quis, facilisi odio, donec erat nunc dictumst et.
|
||||||
|
Inceptos turpis vestibulum volutpat quis nulla elit, eros dictumst, duis rhoncus sem eget eget diam ultrices.
|
||||||
|
Pharetra sed aliquam in, ultricies suscipit bibendum vivamus, quo amet.
|
||||||
|
In nisl pellentesque mus suscipit magna, sem interdum dolores in, dolores risus at aliquet nisl,
|
||||||
|
tincidunt faucibus.
|
||||||
|
\end{abstract}
|
||||||
|
|
||||||
|
\section{Introduction}
|
||||||
|
Sit eros et arcu molestie suspendisse elit, suscipit maecenas quisque purus curabitur vitae suspendisse,
|
||||||
|
vestibulum nunc morbi viverra id aliquam dolor. Nulla leo lacus id sem, iaculis metus faucibus lorem imperdiet a duis,
|
||||||
|
ullamcorper dis condimentum diam, ullamcorper massa, vel ac venenatis nisl vitae. Sit in mauris. Lacus mollis quam,
|
||||||
|
nec in, pellentesque integer nulla sit in sit, erat dolor a lectus dui, sed purus.
|
||||||
|
Conubia ornare ridiculus interdum duis ut nisl, mauris semper rhoncus. Molestie leo diam lectus non dolor,
|
||||||
|
adipiscing ut potenti aliquam suscipit torquent, vulputate sit vel cum. Felis et wisi et cras id,
|
||||||
|
amet cum duis quis magnis urna, egestas et dui tortor, diam tellus. Elit auctor in at, urna nulla posuere,
|
||||||
|
et blandit sodales porta felis, posuere venenatis. Vel hac neque dictum rhoncus.
|
||||||
|
|
||||||
|
\begin{comment}
|
||||||
|
Pellentesque vestibulum id, tincidunt blandit. Condimentum sed egestas in sit,
|
||||||
|
a mattis in in purus erat sit. Sed turpis vestibulum aliquet, turpis ornare ultrices mi,
|
||||||
|
nisl nulla dis luctus, nec quis. Luctus turpis neque arcu ante donec dui, mauris vel duis id proin consequat,
|
||||||
|
provident duis integer feugiat blandit neque. Donec lectus sollicitudin at,
|
||||||
|
\begin{comment}
|
||||||
|
imperdiet nec elit in dolor lectus platea, ultricies pharetra vel etiam in odio, porta nascetur aenean,
|
||||||
|
imperdiet nunc libero sit. Pellentesque tincidunt molestie, neque vivamus neque nec accumsan porttitor varius,
|
||||||
|
\end{comment} % Testing nested comment behaviour
|
||||||
|
vitae lacinia et molestie integer in vitae, elementum dolor vitae tempor sit, nunc justo praesent.
|
||||||
|
Facilisis metus scelerisque sit pharetra, dictumst dui incididunt donec eu.
|
||||||
|
\end{comment}
|
||||||
|
|
||||||
|
\section{Conclusion}
|
||||||
|
Nec proin cursus consequat consequatur ridiculus mauris, ultrices erat lacus tincidunt velit,
|
||||||
|
laoreet egestas congue odio vestibulum sollicitudin. Dui luctus malesuada ac velit nec, sit ac, sed dolor vitae in.
|
||||||
|
Aliquam maecenas, amet sem vitae nulla, nisl eros eleifend, commodo facilisi amet faucibus ut.
|
||||||
|
Lorem urna est consectetuer mattis lorem, ultricies interdum quam urna et amet turpis.
|
||||||
|
Ac condimentum leo dolor pellentesque, eu velit massa dictumst cubilia praesent curabitur, est varius,
|
||||||
|
orci fringilla tortor ut non in. Aliquam sed curabitur eleifend, odio varius et eros dictum et,
|
||||||
|
%pede vestibulum ut vel. Wisi ipsum potenti dictumst in congue. Feugiat nam nunc cras amet tellus eget,
|
||||||
|
%cursus fringilla quis dui odio elit turpis, eu felis ac nec diam nibh, facilisis risus vel turpis risus.
|
||||||
|
Ornare vestibulum diam facilisis porttitor nulla. Penatibus in lacus ac tempus in iaculis,
|
||||||
|
praesent pede nunc pretium sodales, quisque felis, at vehicula sit, tempor vel lectus arcu porta integer cum.
|
||||||
|
|
||||||
|
\end{document}
|
50
tests/test_comment.py
Normal file
50
tests/test_comment.py
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
# coding: utf-8
|
||||||
|
#
|
||||||
|
# Copyright © 2013 Ejwa Software. All rights reserved.
|
||||||
|
#
|
||||||
|
# This file is part of gitinspector.
|
||||||
|
#
|
||||||
|
# gitinspector 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, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# gitinspector 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 gitinspector. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import unittest2
|
||||||
|
import gitinspector.comment
|
||||||
|
|
||||||
|
def __test_extension__(commented_file, extension):
|
||||||
|
base = os.path.dirname(os.path.realpath(__file__))
|
||||||
|
tex_file = open(base + commented_file, "r")
|
||||||
|
tex = tex_file.readlines()
|
||||||
|
tex_file.close()
|
||||||
|
|
||||||
|
is_inside_comment = False
|
||||||
|
comment_counter = 0
|
||||||
|
for i in tex:
|
||||||
|
i = i.decode("utf-8", "replace")
|
||||||
|
(_, is_inside_comment) = gitinspector.comment.handle_comment_block(is_inside_comment, extension, i)
|
||||||
|
if is_inside_comment or gitinspector.comment.is_comment(extension, i):
|
||||||
|
comment_counter += 1
|
||||||
|
|
||||||
|
return comment_counter
|
||||||
|
|
||||||
|
class TexFileTest(unittest2.TestCase):
|
||||||
|
def test(self):
|
||||||
|
comment_counter = __test_extension__("/commented_file.tex", "tex")
|
||||||
|
self.assertEqual(comment_counter, 30)
|
||||||
|
|
||||||
|
class CppFileTest(unittest2.TestCase):
|
||||||
|
def test(self):
|
||||||
|
comment_counter = __test_extension__("/commented_file.cpp", "cpp")
|
||||||
|
self.assertEqual(comment_counter, 25)
|
Loading…
Reference in a new issue