/CodePro Analytix Evaluation/src/com/instantiations/example/rental/CarRental.java
 
Code Coverage Summary 81.2% coverage
Executable Lines 32
Line Coverage 81.2%
Block Coverage 75.0%
Instruction Coverage 83.3%
    
Legend
Line is fully covered
Line is partially covered
Line is not covered
Source
1 package com.instantiations.example.rental;
2
3 import java.io.IOException;
4 import java.io.InputStream;
5 import java.util.GregorianCalendar;
6
7 /**
8  * Car rental sample source.
9  * @author Brad Billings
10  */
11
12 public class CarRental
13 {
14     public int price = 0;
15
16     public static double weekendAdjustment = 1.2;
17
18     public static GregorianCalendar today = null;
19
20     public static void main(String[] args)
21     {
22         if (args.length == 2) {
23             int age = Integer.parseInt(args[0]);
24             int numPassengers = Integer.parseInt(args[1]);
25             CarRental rental = getRental(age, numPassengers);
26             if (rental != null) {
27                 System.out.println("rental price = " + rental.price);
28             } else {
29                 System.out.println("no rental");
30             }
31         } else {
32             System.out.println("Arguments: <age> <num passengers>");
33         }
34     }
35
36     public CarRental()
37     {
38         // simulate expensive database operation based on user's rental history
39         price = 10;
40     }
41
42     protected static boolean isWeekend()
43     {
44         if (today == null) {
45             today = new GregorianCalendar();
46         }
47         int dayOfWeek = today.get(GregorianCalendar.DAY_OF_WEEK);
48         return dayOfWeek == GregorianCalendar.SATURDAY
49             || dayOfWeek == GregorianCalendar.SUNDAY;
50     }
51
52     public static CarRental getRental(int driverAge, int numPassengers)
53     {
54         CarRental rental = null;
55         if (driverAge >= 25) {
56             rental = new CarRental();
57             for (int i = 0; i < numPassengers; i++) {
58                 rental.price += (i + 1);
59             }
60         }
61         if (isWeekend()) {
62             rental.price *= weekendAdjustment;
63         }
64         return rental;
65     }
66     
67     public static void closeStream(InputStream in)
68     {
69         try
70         {
71             in.close();
72         }
73         catch (IOException e)
74         {
75             
76         }
77     }
78 }
Powered by CodePro AnalytiX