mathmaker  0.4(alpha)
mathmaker_dev/maintenance/autotest/obj_test/calc_test/squareroots_test.py
00001 # -*- coding: utf-8 -*-
00002 
00003 # Mathmaker creates automatically maths exercises sheets
00004 # with their answers
00005 # Copyright 2006-2014 Nicolas Hainaux <nico_h@users.sourceforge.net>
00006 
00007 # This file is part of Mathmaker.
00008 
00009 # Mathmaker is free software; you can redistribute it and/or modify
00010 # it under the terms of the GNU General Public License as published by
00011 # the Free Software Foundation; either version 3 of the License, or
00012 # any later version.
00013 
00014 # Mathmaker is distributed in the hope that it will be useful,
00015 # but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017 # GNU General Public License for more details.
00018 
00019 # You should have received a copy of the GNU General Public License
00020 # along with Mathmaker; if not, write to the Free Software
00021 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00022 
00023 import os
00024 import sys
00025 import locale
00026 
00027 from lib.common import default
00028 
00029 from core import *
00030 from core.base_calculus import *
00031 from core.calculus import *
00032 
00033 from maintenance.autotest import common
00034 
00035 try:
00036    locale.setlocale(locale.LC_ALL, default.LANGUAGE + '.' + default.ENCODING)
00037 except:
00038     locale.setlocale(locale.LC_ALL, '')
00039 
00040 check = common.check
00041 
00042 
00043 def action():
00044     if common.verbose:
00045         os.write(common.output, "--- SQUARE ROOTS\n")
00046 
00047 
00048     sq1 = SquareRoot(Item(5))
00049 
00050     sq2 = SquareRoot(Item(16))
00051 
00052 
00053 
00054 
00055     check(sq1,
00056           ["\\sqrt{5}"])
00057 
00058     check(sq1.calculate_next_step(decimal_result=4),
00059           [locale.str(2.2361)])
00060 
00061     check(sq2.calculate_next_step(decimal_result=4),
00062           [locale.str(4)])
00063 
00064 
00065