Groovy动态语言 运行在JVM中的动态语言 可以方便的处理业务逻辑变化大的业务

源代码在线查看: poweroperationtest.groovy

软件大小: 1644 K
上传用户: maple_78
关键词: Groovy JVM 动态语言 运行
下载地址: 免注册下载 普通下载 VIP

相关代码

				/** 
				 * Test Math Power Operation in Classic/New Groovy
				 * 
				 * @author Pilho Kim
				 * @version $Revision: 2281 $
				 */
				class PowerOperationTest extends GroovyTestCase {
				
				    void testConstantPowerOperation() {
				        assert 2**5 == 32
				        assert -2**5 == -32
				        assert 3**4 == 81
				        assert -3**4 == -81
				        assert 3**-4 == 3.power(-4)
				        assert -3**-4 == -3.power(-4)
				        assert 7**2 - 7*3 + 2 == 30         //  49 - 21 + 2 = 30
				        assert -7**2 - 7*3 + 2 == -68       // -49 - 21 + 2 = -68
				        assert -(7**2) - 7*3 + 2 == -68     // -49 - 21 + 2 = -68
				        assert (-7)**2 - 7*3 + 2 == 30     //  49 - 21 + 2 = 30
				    }
				
				    void testPowerOperation() {
				        def x = 9
				        --x
				        assert x == 8
				        println(--x)
				        assert x == 7
				        println(--x)
				        assert x == 6
				        println((--x)**3)
				        assert x == 5
				        assert (--x)**3 == 64
				        assert (-x**3) == -64
				        assert x == 4
				        assert (++x)**3 == 125
				        assert x == 5
				        assert (x++)**3 == 125
				        assert x == 6
				        println((x++)**3)
				        assert x == 7
				        println(x)
				        println("${x**2}")
				        println("${-x**2}")
				        assert x == 7
				        println("${(--x)**2}")
				        assert x == 6
				        assert (--x)**2 + x*2 - 1 == 34      // 5**2 + 5*2 - 1 = 34
				        assert x == 5
				        assert (x--)**2 + x*2 - 1 == 32      // 5**2 + 4*2 - 1 = 32
				        assert x == 4
				    }
				
				    void testConstantPowerAssignmentOperation() {
				        def x = 5
				        x **= 2
				        assert x == 25
				        assert x**2 == 625
				        assert -x**2 != 625
				        assert -x**2 == -625
				    }
				
				    void testPowerAssignmentOperation() {
				        def x = 5
				        def y = 2
				        x **= y
				        assert x == 25
				        assert x**y == 625
				        assert x**-1 == 1/25
				        assert x**-y == 1/625
				        assert x**-y == x**(-y)
				    }
				}			

相关资源