-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathjacoco.xml
1 lines (1 loc) · 69.7 KB
/
jacoco.xml
1
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="backend"><sessioninfo id="Sankit-c44864cd" start="1664290153221" dump="1664290154871"/><package name="com/geektrust/backend/entities/factory"><class name="com/geektrust/backend/entities/factory/MusicSubscriptionFactory" sourcefilename="MusicSubscriptionFactory.java"><method name="<init>" desc="()V" line="9"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSubscriptionPlan" desc="(Lcom/geektrust/backend/enums/SubscriptionPlan;)Lcom/geektrust/backend/entities/Subscription;" line="12"><counter type="INSTRUCTION" missed="2" covered="17"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="4"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="2" covered="20"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="5"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/entities/factory/PodCastSubscriptionFactory" sourcefilename="PodCastSubscriptionFactory.java"><method name="<init>" desc="()V" line="9"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSubscriptionPlan" desc="(Lcom/geektrust/backend/enums/SubscriptionPlan;)Lcom/geektrust/backend/entities/Subscription;" line="12"><counter type="INSTRUCTION" missed="2" covered="17"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="4"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="2" covered="20"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="5"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/entities/factory/AbstractFactory" sourcefilename="AbstractFactory.java"><method name="<init>" desc="()V" line="6"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/entities/factory/DeviceFactory" sourcefilename="DeviceFactory.java"><method name="<init>" desc="()V" line="8"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getDevice" desc="(Lcom/geektrust/backend/enums/DeviceType;)Lcom/geektrust/backend/entities/Device;" line="10"><counter type="INSTRUCTION" missed="2" covered="13"/><counter type="BRANCH" missed="1" covered="2"/><counter type="LINE" missed="1" covered="3"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="5" covered="13"/><counter type="BRANCH" missed="1" covered="2"/><counter type="LINE" missed="2" covered="3"/><counter type="COMPLEXITY" missed="2" covered="2"/><counter type="METHOD" missed="1" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/entities/factory/VideoSubscriptionFactory" sourcefilename="VideoSubscriptionFactory.java"><method name="<init>" desc="()V" line="9"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSubscriptionPlan" desc="(Lcom/geektrust/backend/enums/SubscriptionPlan;)Lcom/geektrust/backend/entities/Subscription;" line="12"><counter type="INSTRUCTION" missed="2" covered="17"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="4"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="2" covered="20"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="5"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/entities/factory/SubscriptionFactoryProducer" sourcefilename="SubscriptionFactoryProducer.java"><method name="<init>" desc="()V" line="8"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="getSubscriptionCategoryFactory" desc="(Lcom/geektrust/backend/enums/SubscriptionCategory;)Lcom/geektrust/backend/entities/factory/AbstractFactory;" line="10"><counter type="INSTRUCTION" missed="2" covered="17"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="4"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSubscription" desc="(Lcom/geektrust/backend/enums/SubscriptionCategory;Lcom/geektrust/backend/enums/SubscriptionPlan;)Lcom/geektrust/backend/entities/Subscription;" line="18"><counter type="INSTRUCTION" missed="10" covered="13"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="15" covered="30"/><counter type="BRANCH" missed="3" covered="5"/><counter type="LINE" missed="2" covered="9"/><counter type="COMPLEXITY" missed="4" covered="4"/><counter type="METHOD" missed="1" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="PodCastSubscriptionFactory.java"><line nr="9" mi="0" ci="3" mb="0" cb="0"/><line nr="12" mi="0" ci="5" mb="1" cb="3"/><line nr="13" mi="0" ci="4" mb="0" cb="0"/><line nr="14" mi="0" ci="4" mb="0" cb="0"/><line nr="15" mi="0" ci="4" mb="0" cb="0"/><line nr="17" mi="2" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="2" covered="20"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="5"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="DeviceFactory.java"><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="10" mi="0" ci="5" mb="1" cb="2"/><line nr="11" mi="0" ci="4" mb="0" cb="0"/><line nr="12" mi="0" ci="4" mb="0" cb="0"/><line nr="14" mi="2" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="5" covered="13"/><counter type="BRANCH" missed="1" covered="2"/><counter type="LINE" missed="2" covered="3"/><counter type="COMPLEXITY" missed="2" covered="2"/><counter type="METHOD" missed="1" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SubscriptionFactoryProducer.java"><line nr="8" mi="3" ci="0" mb="0" cb="0"/><line nr="10" mi="0" ci="5" mb="1" cb="3"/><line nr="11" mi="0" ci="4" mb="0" cb="0"/><line nr="12" mi="0" ci="4" mb="0" cb="0"/><line nr="13" mi="0" ci="4" mb="0" cb="0"/><line nr="15" mi="2" ci="0" mb="0" cb="0"/><line nr="18" mi="0" ci="3" mb="0" cb="0"/><line nr="19" mi="5" ci="2" mb="1" cb="1"/><line nr="20" mi="0" ci="4" mb="0" cb="0"/><line nr="21" mi="5" ci="2" mb="1" cb="1"/><line nr="22" mi="0" ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="15" covered="30"/><counter type="BRANCH" missed="3" covered="5"/><counter type="LINE" missed="2" covered="9"/><counter type="COMPLEXITY" missed="4" covered="4"/><counter type="METHOD" missed="1" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="MusicSubscriptionFactory.java"><line nr="9" mi="0" ci="3" mb="0" cb="0"/><line nr="12" mi="0" ci="5" mb="1" cb="3"/><line nr="13" mi="0" ci="4" mb="0" cb="0"/><line nr="14" mi="0" ci="4" mb="0" cb="0"/><line nr="15" mi="0" ci="4" mb="0" cb="0"/><line nr="17" mi="2" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="2" covered="20"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="5"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AbstractFactory.java"><line nr="6" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="VideoSubscriptionFactory.java"><line nr="9" mi="0" ci="3" mb="0" cb="0"/><line nr="12" mi="0" ci="5" mb="1" cb="3"/><line nr="13" mi="0" ci="4" mb="0" cb="0"/><line nr="14" mi="0" ci="4" mb="0" cb="0"/><line nr="15" mi="0" ci="4" mb="0" cb="0"/><line nr="17" mi="2" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="2" covered="20"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="5"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="26" covered="106"/><counter type="BRANCH" missed="7" covered="16"/><counter type="LINE" missed="7" covered="28"/><counter type="COMPLEXITY" missed="9" covered="19"/><counter type="METHOD" missed="2" covered="10"/><counter type="CLASS" missed="0" covered="6"/></package><package name="com/geektrust/backend/entities/music"><class name="com/geektrust/backend/entities/music/PremiumMusicSubscription" sourcefilename="PremiumMusicSubscription.java"><method name="<init>" desc="()V" line="7"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/entities/music/FreeMusicSubscription" sourcefilename="FreeMusicSubscription.java"><method name="<init>" desc="()V" line="7"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/entities/music/PersonalMusicSubscription" sourcefilename="PersonalMusicSubscription.java"><method name="<init>" desc="()V" line="7"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="PersonalMusicSubscription.java"><line nr="7" mi="0" ci="2" mb="0" cb="0"/><line nr="8" mi="0" ci="3" mb="0" cb="0"/><line nr="9" mi="0" ci="3" mb="0" cb="0"/><line nr="10" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="PremiumMusicSubscription.java"><line nr="7" mi="0" ci="2" mb="0" cb="0"/><line nr="8" mi="0" ci="3" mb="0" cb="0"/><line nr="9" mi="0" ci="3" mb="0" cb="0"/><line nr="10" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="FreeMusicSubscription.java"><line nr="7" mi="0" ci="2" mb="0" cb="0"/><line nr="8" mi="0" ci="3" mb="0" cb="0"/><line nr="9" mi="0" ci="3" mb="0" cb="0"/><line nr="10" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="3"/></package><package name="com/geektrust/backend/entities/video"><class name="com/geektrust/backend/entities/video/PersonalVideoSubscription" sourcefilename="PersonalVideoSubscription.java"><method name="<init>" desc="()V" line="7"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/entities/video/PremiumVideoSubscription" sourcefilename="PremiumVideoSubscription.java"><method name="<init>" desc="()V" line="7"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/entities/video/FreeVideoSubscription" sourcefilename="FreeVideoSubscription.java"><method name="<init>" desc="()V" line="7"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="PersonalVideoSubscription.java"><line nr="7" mi="0" ci="2" mb="0" cb="0"/><line nr="8" mi="0" ci="3" mb="0" cb="0"/><line nr="9" mi="0" ci="3" mb="0" cb="0"/><line nr="10" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="PremiumVideoSubscription.java"><line nr="7" mi="0" ci="2" mb="0" cb="0"/><line nr="8" mi="0" ci="3" mb="0" cb="0"/><line nr="9" mi="0" ci="3" mb="0" cb="0"/><line nr="10" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="FreeVideoSubscription.java"><line nr="7" mi="0" ci="2" mb="0" cb="0"/><line nr="8" mi="0" ci="3" mb="0" cb="0"/><line nr="9" mi="0" ci="3" mb="0" cb="0"/><line nr="10" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="3"/></package><package name="com/geektrust/backend/config"><class name="com/geektrust/backend/config/ApplicationConfig" sourcefilename="ApplicationConfig.java"><method name="<init>" desc="()V" line="10"><counter type="INSTRUCTION" missed="0" covered="55"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getCommandInvoker" desc="()Lcom/geektrust/backend/commands/CommandInvoker;" line="21"><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="82"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="ApplicationConfig.java"><line nr="10" mi="0" ci="2" mb="0" cb="0"/><line nr="11" mi="0" ci="5" mb="0" cb="0"/><line nr="12" mi="0" ci="7" mb="0" cb="0"/><line nr="13" mi="0" ci="7" mb="0" cb="0"/><line nr="14" mi="0" ci="7" mb="0" cb="0"/><line nr="15" mi="0" ci="7" mb="0" cb="0"/><line nr="16" mi="0" ci="7" mb="0" cb="0"/><line nr="17" mi="0" ci="7" mb="0" cb="0"/><line nr="18" mi="0" ci="6" mb="0" cb="0"/><line nr="21" mi="0" ci="6" mb="0" cb="0"/><line nr="22" mi="0" ci="6" mb="0" cb="0"/><line nr="23" mi="0" ci="6" mb="0" cb="0"/><line nr="24" mi="0" ci="6" mb="0" cb="0"/><line nr="25" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="82"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="82"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></package><package name="com/geektrust/backend/enums"><class name="com/geektrust/backend/enums/SubscriptionStatus" sourcefilename="SubscriptionStatus.java"><method name="<clinit>" desc="()V" line="3"><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/enums/SubscriptionPlan" sourcefilename="SubscriptionPlan.java"><method name="<clinit>" desc="()V" line="3"><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/enums/DeviceType" sourcefilename="DeviceType.java"><method name="<clinit>" desc="()V" line="3"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/enums/TopUpStatus" sourcefilename="TopUpStatus.java"><method name="<clinit>" desc="()V" line="3"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/enums/SubscriptionCategory" sourcefilename="SubscriptionCategory.java"><method name="<clinit>" desc="()V" line="3"><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="SubscriptionPlan.java"><line nr="3" mi="0" ci="16" mb="0" cb="0"/><line nr="4" mi="0" ci="18" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SubscriptionStatus.java"><line nr="3" mi="0" ci="16" mb="0" cb="0"/><line nr="4" mi="0" ci="18" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="TopUpStatus.java"><line nr="3" mi="0" ci="12" mb="0" cb="0"/><line nr="4" mi="0" ci="12" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SubscriptionCategory.java"><line nr="3" mi="0" ci="16" mb="0" cb="0"/><line nr="4" mi="0" ci="18" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="DeviceType.java"><line nr="3" mi="0" ci="12" mb="0" cb="0"/><line nr="4" mi="0" ci="12" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="150"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="5"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="5"/></package><package name="com/geektrust/backend/entities"><class name="com/geektrust/backend/entities/DoReMiSubscription" sourcefilename="DoReMiSubscription.java"><method name="<init>" desc="()V" line="18"><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addDateOfSubscription" desc="(Ljava/time/LocalDate;)V" line="27"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addSubscriptionToCurrentPlan" desc="(Lcom/geektrust/backend/enums/SubscriptionCategory;Lcom/geektrust/backend/entities/Subscription;)V" line="31"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isSubscriptionCategoryExistInCurrentPlan" desc="(Lcom/geektrust/backend/enums/SubscriptionCategory;)Z" line="35"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addAdditionalDevices" desc="(Lcom/geektrust/backend/entities/Device;Ljava/lang/Integer;)V" line="38"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getStartDateOfSubscription" desc="()Ljava/time/LocalDate;" line="43"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getListOfSubscription" desc="()Ljava/util/Map;" line="46"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getSubscriptionStatus" desc="()Lcom/geektrust/backend/enums/SubscriptionStatus;" line="49"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getTopUpStatus" desc="()Lcom/geektrust/backend/enums/TopUpStatus;" line="52"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getNoOfMonthsForTopUp" desc="()Ljava/lang/Integer;" line="56"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDevice" desc="()Lcom/geektrust/backend/entities/Device;" line="59"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="77"/><counter type="LINE" missed="0" covered="25"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="11"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/entities/Subscription" sourcefilename="Subscription.java"><method name="<init>" desc="()V" line="3"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getValidityInMonths" desc="()Ljava/lang/Integer;" line="7"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPrice" desc="()Ljava/lang/Integer;" line="10"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/entities/Device" sourcefilename="Device.java"><method name="<init>" desc="()V" line="3"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getPrice" desc="()Ljava/lang/Integer;" line="6"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="DoReMiSubscription.java"><line nr="18" mi="0" ci="2" mb="0" cb="0"/><line nr="19" mi="0" ci="3" mb="0" cb="0"/><line nr="20" mi="0" ci="5" mb="0" cb="0"/><line nr="21" mi="0" ci="3" mb="0" cb="0"/><line nr="22" mi="0" ci="3" mb="0" cb="0"/><line nr="23" mi="0" ci="4" mb="0" cb="0"/><line nr="24" mi="0" ci="3" mb="0" cb="0"/><line nr="25" mi="0" ci="1" mb="0" cb="0"/><line nr="27" mi="0" ci="3" mb="0" cb="0"/><line nr="28" mi="0" ci="3" mb="0" cb="0"/><line nr="29" mi="0" ci="1" mb="0" cb="0"/><line nr="31" mi="0" ci="3" mb="0" cb="0"/><line nr="32" mi="0" ci="6" mb="0" cb="0"/><line nr="33" mi="0" ci="1" mb="0" cb="0"/><line nr="35" mi="0" ci="5" mb="0" cb="0"/><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="0" ci="3" mb="0" cb="0"/><line nr="40" mi="0" ci="3" mb="0" cb="0"/><line nr="41" mi="0" ci="1" mb="0" cb="0"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="46" mi="0" ci="6" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="52" mi="0" ci="3" mb="0" cb="0"/><line nr="56" mi="0" ci="3" mb="0" cb="0"/><line nr="59" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="77"/><counter type="LINE" missed="0" covered="25"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="11"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="Device.java"><line nr="3" mi="0" ci="3" mb="0" cb="0"/><line nr="6" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="Subscription.java"><line nr="3" mi="0" ci="3" mb="0" cb="0"/><line nr="7" mi="0" ci="3" mb="0" cb="0"/><line nr="10" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="92"/><counter type="LINE" missed="0" covered="30"/><counter type="COMPLEXITY" missed="0" covered="16"/><counter type="METHOD" missed="0" covered="16"/><counter type="CLASS" missed="0" covered="3"/></package><package name="com/geektrust/backend/entities/podcast"><class name="com/geektrust/backend/entities/podcast/FreePodCastSubscription" sourcefilename="FreePodCastSubscription.java"><method name="<init>" desc="()V" line="7"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/entities/podcast/PremiumPodCastSubscription" sourcefilename="PremiumPodCastSubscription.java"><method name="<init>" desc="()V" line="7"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/entities/podcast/PersonalPodCastSubscription" sourcefilename="PersonalPodCastSubscription.java"><method name="<init>" desc="()V" line="7"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="FreePodCastSubscription.java"><line nr="7" mi="0" ci="2" mb="0" cb="0"/><line nr="8" mi="0" ci="3" mb="0" cb="0"/><line nr="9" mi="0" ci="3" mb="0" cb="0"/><line nr="10" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="PersonalPodCastSubscription.java"><line nr="7" mi="0" ci="2" mb="0" cb="0"/><line nr="8" mi="0" ci="3" mb="0" cb="0"/><line nr="9" mi="0" ci="3" mb="0" cb="0"/><line nr="10" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="PremiumPodCastSubscription.java"><line nr="7" mi="0" ci="2" mb="0" cb="0"/><line nr="8" mi="0" ci="3" mb="0" cb="0"/><line nr="9" mi="0" ci="3" mb="0" cb="0"/><line nr="10" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="3"/></package><package name="com/geektrust/backend/commands"><class name="com/geektrust/backend/commands/CommandInvoker" sourcefilename="CommandInvoker.java"><method name="<init>" desc="()V" line="9"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="register" desc="(Ljava/lang/String;Lcom/geektrust/backend/commands/ICommand;)V" line="13"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="get" desc="(Ljava/lang/String;)Lcom/geektrust/backend/commands/ICommand;" line="17"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="executeCommand" desc="(Ljava/lang/String;Ljava/util/List;)V" line="21"><counter type="INSTRUCTION" missed="0" covered="15"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="<clinit>" desc="()V" line="10"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/commands/AddSubscriptionCommand" sourcefilename="AddSubscriptionCommand.java"><method name="<init>" desc="(Lcom/geektrust/backend/services/ISubscriptionService;)V" line="14"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="(Ljava/util/List;)V" line="21"><counter type="INSTRUCTION" missed="5" covered="27"/><counter type="LINE" missed="2" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="5" covered="33"/><counter type="LINE" missed="2" covered="10"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/commands/AddTopUpCommand" sourcefilename="AddTopUpCommand.java"><method name="<init>" desc="(Lcom/geektrust/backend/services/ISubscriptionService;)V" line="14"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="(Ljava/util/List;)V" line="21"><counter type="INSTRUCTION" missed="5" covered="28"/><counter type="LINE" missed="2" covered="7"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="5" covered="34"/><counter type="LINE" missed="2" covered="10"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/commands/StartSubscriptionCommand" sourcefilename="StartSubscriptionCommand.java"><method name="<init>" desc="(Lcom/geektrust/backend/services/ISubscriptionService;)V" line="13"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="(Ljava/util/List;)V" line="20"><counter type="INSTRUCTION" missed="5" covered="17"/><counter type="LINE" missed="2" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="5" covered="23"/><counter type="LINE" missed="2" covered="9"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/commands/ICommand" sourcefilename="ICommand.java"/><class name="com/geektrust/backend/commands/PrintRenewalDetailsCommand" sourcefilename="PrintRenewalDetailsCommand.java"><method name="<init>" desc="(Lcom/geektrust/backend/services/IRenewalService;)V" line="14"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="execute" desc="(Ljava/util/List;)V" line="21"><counter type="INSTRUCTION" missed="5" covered="22"/><counter type="LINE" missed="2" covered="8"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$execute$0" desc="(Lcom/geektrust/backend/dto/RenewalReminderDto;)V" line="23"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="5" covered="33"/><counter type="LINE" missed="2" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="CommandInvoker.java"><line nr="9" mi="0" ci="3" mb="0" cb="0"/><line nr="10" mi="0" ci="5" mb="0" cb="0"/><line nr="13" mi="0" ci="5" mb="0" cb="0"/><line nr="14" mi="0" ci="1" mb="0" cb="0"/><line nr="17" mi="0" ci="5" mb="0" cb="0"/><line nr="21" mi="0" ci="4" mb="0" cb="0"/><line nr="22" mi="0" ci="2" mb="0" cb="2"/><line nr="23" mi="0" ci="5" mb="0" cb="0"/><line nr="25" mi="0" ci="3" mb="0" cb="0"/><line nr="26" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="34"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ICommand.java"/><sourcefile name="PrintRenewalDetailsCommand.java"><line nr="14" mi="0" ci="2" mb="0" cb="0"/><line nr="15" mi="0" ci="3" mb="0" cb="0"/><line nr="16" mi="0" ci="1" mb="0" cb="0"/><line nr="21" mi="0" ci="4" mb="0" cb="0"/><line nr="22" mi="0" ci="4" mb="0" cb="0"/><line nr="23" mi="0" ci="8" mb="0" cb="0"/><line nr="24" mi="0" ci="3" mb="0" cb="0"/><line nr="25" mi="0" ci="1" mb="0" cb="0"/><line nr="26" mi="0" ci="4" mb="0" cb="0"/><line nr="27" mi="1" ci="0" mb="0" cb="0"/><line nr="28" mi="4" ci="0" mb="0" cb="0"/><line nr="29" mi="0" ci="2" mb="0" cb="0"/><line nr="30" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="5" covered="33"/><counter type="LINE" missed="2" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="StartSubscriptionCommand.java"><line nr="13" mi="0" ci="2" mb="0" cb="0"/><line nr="14" mi="0" ci="3" mb="0" cb="0"/><line nr="15" mi="0" ci="1" mb="0" cb="0"/><line nr="20" mi="0" ci="6" mb="0" cb="0"/><line nr="21" mi="0" ci="4" mb="0" cb="0"/><line nr="22" mi="0" ci="1" mb="0" cb="0"/><line nr="23" mi="0" ci="3" mb="0" cb="0"/><line nr="24" mi="1" ci="0" mb="0" cb="0"/><line nr="25" mi="4" ci="0" mb="0" cb="0"/><line nr="26" mi="0" ci="2" mb="0" cb="0"/><line nr="27" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="5" covered="23"/><counter type="LINE" missed="2" covered="9"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AddSubscriptionCommand.java"><line nr="14" mi="0" ci="2" mb="0" cb="0"/><line nr="15" mi="0" ci="3" mb="0" cb="0"/><line nr="16" mi="0" ci="1" mb="0" cb="0"/><line nr="21" mi="0" ci="7" mb="0" cb="0"/><line nr="22" mi="0" ci="7" mb="0" cb="0"/><line nr="23" mi="0" ci="5" mb="0" cb="0"/><line nr="24" mi="0" ci="1" mb="0" cb="0"/><line nr="25" mi="0" ci="4" mb="0" cb="0"/><line nr="26" mi="1" ci="0" mb="0" cb="0"/><line nr="27" mi="4" ci="0" mb="0" cb="0"/><line nr="28" mi="0" ci="2" mb="0" cb="0"/><line nr="29" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="5" covered="33"/><counter type="LINE" missed="2" covered="10"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AddTopUpCommand.java"><line nr="14" mi="0" ci="2" mb="0" cb="0"/><line nr="15" mi="0" ci="3" mb="0" cb="0"/><line nr="16" mi="0" ci="1" mb="0" cb="0"/><line nr="21" mi="0" ci="7" mb="0" cb="0"/><line nr="22" mi="0" ci="8" mb="0" cb="0"/><line nr="23" mi="0" ci="5" mb="0" cb="0"/><line nr="24" mi="0" ci="1" mb="0" cb="0"/><line nr="25" mi="0" ci="4" mb="0" cb="0"/><line nr="26" mi="1" ci="0" mb="0" cb="0"/><line nr="27" mi="4" ci="0" mb="0" cb="0"/><line nr="28" mi="0" ci="2" mb="0" cb="0"/><line nr="29" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="5" covered="34"/><counter type="LINE" missed="2" covered="10"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="20" covered="157"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="8" covered="50"/><counter type="COMPLEXITY" missed="0" covered="15"/><counter type="METHOD" missed="0" covered="14"/><counter type="CLASS" missed="0" covered="5"/></package><package name="com/geektrust/backend/constants"><class name="com/geektrust/backend/constants/Constants" sourcefilename="Constants.java"><method name="<init>" desc="()V" line="3"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="<clinit>" desc="()V" line="5"><counter type="INSTRUCTION" missed="0" covered="76"/><counter type="LINE" missed="0" covered="25"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="3" covered="76"/><counter type="LINE" missed="1" covered="25"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="1" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="Constants.java"><line nr="3" mi="3" ci="0" mb="0" cb="0"/><line nr="5" mi="0" ci="3" mb="0" cb="0"/><line nr="6" mi="0" ci="3" mb="0" cb="0"/><line nr="7" mi="0" ci="3" mb="0" cb="0"/><line nr="8" mi="0" ci="3" mb="0" cb="0"/><line nr="9" mi="0" ci="3" mb="0" cb="0"/><line nr="10" mi="0" ci="3" mb="0" cb="0"/><line nr="11" mi="0" ci="3" mb="0" cb="0"/><line nr="12" mi="0" ci="3" mb="0" cb="0"/><line nr="13" mi="0" ci="3" mb="0" cb="0"/><line nr="14" mi="0" ci="3" mb="0" cb="0"/><line nr="15" mi="0" ci="3" mb="0" cb="0"/><line nr="16" mi="0" ci="3" mb="0" cb="0"/><line nr="17" mi="0" ci="3" mb="0" cb="0"/><line nr="18" mi="0" ci="3" mb="0" cb="0"/><line nr="19" mi="0" ci="3" mb="0" cb="0"/><line nr="20" mi="0" ci="3" mb="0" cb="0"/><line nr="21" mi="0" ci="3" mb="0" cb="0"/><line nr="22" mi="0" ci="3" mb="0" cb="0"/><line nr="23" mi="0" ci="3" mb="0" cb="0"/><line nr="24" mi="0" ci="3" mb="0" cb="0"/><line nr="25" mi="0" ci="3" mb="0" cb="0"/><line nr="26" mi="0" ci="3" mb="0" cb="0"/><line nr="27" mi="0" ci="3" mb="0" cb="0"/><line nr="28" mi="0" ci="3" mb="0" cb="0"/><line nr="29" mi="0" ci="4" mb="0" cb="0"/><counter type="INSTRUCTION" missed="3" covered="76"/><counter type="LINE" missed="1" covered="25"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="1" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="3" covered="76"/><counter type="LINE" missed="1" covered="25"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="1" covered="1"/><counter type="CLASS" missed="0" covered="1"/></package><package name="com/geektrust/backend/entities/device"><class name="com/geektrust/backend/entities/device/FourDevice" sourcefilename="FourDevice.java"><method name="<init>" desc="()V" line="7"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/entities/device/TenDevice" sourcefilename="TenDevice.java"><method name="<init>" desc="()V" line="7"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="FourDevice.java"><line nr="7" mi="0" ci="2" mb="0" cb="0"/><line nr="8" mi="0" ci="3" mb="0" cb="0"/><line nr="9" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="TenDevice.java"><line nr="7" mi="0" ci="2" mb="0" cb="0"/><line nr="8" mi="0" ci="3" mb="0" cb="0"/><line nr="9" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="2"/></package><package name="com/geektrust/backend/services"><class name="com/geektrust/backend/services/SubscriptionService" sourcefilename="SubscriptionService.java"><method name="<init>" desc="(Lcom/geektrust/backend/entities/DoReMiSubscription;)V" line="22"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isAValidStringDate" desc="(Ljava/lang/String;)Z" line="29"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="startSubscriptionForUser" desc="(Ljava/lang/String;)V" line="37"><counter type="INSTRUCTION" missed="0" covered="19"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addSubscriptionForUser" desc="(Lcom/geektrust/backend/enums/SubscriptionCategory;Lcom/geektrust/backend/enums/SubscriptionPlan;)V" line="44"><counter type="INSTRUCTION" missed="0" covered="31"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="addTopUpForUser" desc="(Lcom/geektrust/backend/enums/DeviceType;Ljava/lang/Integer;)V" line="52"><counter type="INSTRUCTION" missed="0" covered="42"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="113"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="0" covered="24"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/services/ISubscriptionService" sourcefilename="ISubscriptionService.java"/><class name="com/geektrust/backend/services/IRenewalService" sourcefilename="IRenewalService.java"/><class name="com/geektrust/backend/services/RenewalService" sourcefilename="RenewalService.java"><method name="<init>" desc="(Lcom/geektrust/backend/entities/DoReMiSubscription;)V" line="21"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="calculateListOfRenewalDateOfSubscriptions" desc="()Ljava/util/List;" line="26"><counter type="INSTRUCTION" missed="0" covered="68"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="9"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="calculateRenewalAmount" desc="()Lcom/geektrust/backend/dto/RenewalAmountDto;" line="39"><counter type="INSTRUCTION" missed="0" covered="56"/><counter type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="130"/><counter type="BRANCH" missed="1" covered="11"/><counter type="LINE" missed="0" covered="20"/><counter type="COMPLEXITY" missed="1" covered="8"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="SubscriptionService.java"><line nr="22" mi="0" ci="2" mb="0" cb="0"/><line nr="23" mi="0" ci="3" mb="0" cb="0"/><line nr="24" mi="0" ci="4" mb="0" cb="0"/><line nr="25" mi="0" ci="1" mb="0" cb="0"/><line nr="29" mi="0" ci="5" mb="0" cb="0"/><line nr="30" mi="0" ci="1" mb="0" cb="0"/><line nr="31" mi="0" ci="2" mb="0" cb="0"/><line nr="32" mi="0" ci="1" mb="0" cb="0"/><line nr="33" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="9" mb="0" cb="2"/><line nr="38" mi="0" ci="5" mb="0" cb="0"/><line nr="39" mi="0" ci="4" mb="0" cb="0"/><line nr="40" mi="0" ci="1" mb="0" cb="0"/><line nr="44" mi="0" ci="11" mb="0" cb="2"/><line nr="45" mi="0" ci="10" mb="0" cb="2"/><line nr="46" mi="0" ci="4" mb="0" cb="0"/><line nr="47" mi="0" ci="5" mb="0" cb="0"/><line nr="48" mi="0" ci="1" mb="0" cb="0"/><line nr="52" mi="0" ci="11" mb="0" cb="2"/><line nr="53" mi="0" ci="11" mb="0" cb="2"/><line nr="54" mi="0" ci="11" mb="0" cb="2"/><line nr="55" mi="0" ci="3" mb="0" cb="0"/><line nr="56" mi="0" ci="5" mb="0" cb="0"/><line nr="57" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="113"/><counter type="BRANCH" missed="0" covered="12"/><counter type="LINE" missed="0" covered="24"/><counter type="COMPLEXITY" missed="0" covered="11"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="RenewalService.java"><line nr="21" mi="0" ci="2" mb="0" cb="0"/><line nr="22" mi="0" ci="3" mb="0" cb="0"/><line nr="23" mi="0" ci="1" mb="0" cb="0"/><line nr="26" mi="0" ci="11" mb="0" cb="2"/><line nr="27" mi="0" ci="11" mb="0" cb="2"/><line nr="28" mi="0" ci="4" mb="0" cb="0"/><line nr="29" mi="0" ci="4" mb="0" cb="0"/><line nr="30" mi="0" ci="11" mb="0" cb="2"/><line nr="31" mi="0" ci="16" mb="0" cb="0"/><line nr="32" mi="0" ci="8" mb="0" cb="0"/><line nr="33" mi="0" ci="1" mb="0" cb="0"/><line nr="34" mi="0" ci="2" mb="0" cb="0"/><line nr="39" mi="0" ci="2" mb="0" cb="0"/><line nr="40" mi="0" ci="4" mb="0" cb="0"/><line nr="41" mi="0" ci="11" mb="0" cb="2"/><line nr="42" mi="0" ci="7" mb="0" cb="0"/><line nr="43" mi="0" ci="1" mb="0" cb="0"/><line nr="44" mi="0" ci="4" mb="0" cb="0"/><line nr="45" mi="0" ci="20" mb="1" cb="3"/><line nr="46" mi="0" ci="7" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="130"/><counter type="BRANCH" missed="1" covered="11"/><counter type="LINE" missed="0" covered="20"/><counter type="COMPLEXITY" missed="1" covered="8"/><counter type="METHOD" missed="0" covered="3"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="ISubscriptionService.java"/><sourcefile name="IRenewalService.java"/><counter type="INSTRUCTION" missed="0" covered="243"/><counter type="BRANCH" missed="1" covered="23"/><counter type="LINE" missed="0" covered="44"/><counter type="COMPLEXITY" missed="1" covered="19"/><counter type="METHOD" missed="0" covered="8"/><counter type="CLASS" missed="0" covered="2"/></package><package name="com/geektrust/backend/exceptions"><class name="com/geektrust/backend/exceptions/AddTopUpFailedException" sourcefilename="AddTopUpFailedException.java"><method name="<init>" desc="(Ljava/lang/String;)V" line="5"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/exceptions/NoSuchCommandException" sourcefilename="NoSuchCommandException.java"><method name="<init>" desc="(Ljava/lang/String;)V" line="5"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/exceptions/SubscriptionInvalidTypeException" sourcefilename="SubscriptionInvalidTypeException.java"><method name="<init>" desc="(Ljava/lang/String;)V" line="5"><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></class><class name="com/geektrust/backend/exceptions/AddSubscriptionFailedException" sourcefilename="AddSubscriptionFailedException.java"><method name="<init>" desc="(Ljava/lang/String;)V" line="5"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/exceptions/InvalidDateException" sourcefilename="InvalidDateException.java"><method name="<init>" desc="(Ljava/lang/String;)V" line="5"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/exceptions/SubscriptionNotFoundException" sourcefilename="SubscriptionNotFoundException.java"><method name="<init>" desc="(Ljava/lang/String;)V" line="5"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="AddTopUpFailedException.java"><line nr="5" mi="0" ci="3" mb="0" cb="0"/><line nr="6" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="NoSuchCommandException.java"><line nr="5" mi="0" ci="3" mb="0" cb="0"/><line nr="6" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SubscriptionNotFoundException.java"><line nr="5" mi="0" ci="3" mb="0" cb="0"/><line nr="6" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="InvalidDateException.java"><line nr="5" mi="0" ci="3" mb="0" cb="0"/><line nr="6" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="AddSubscriptionFailedException.java"><line nr="5" mi="0" ci="3" mb="0" cb="0"/><line nr="6" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="SubscriptionInvalidTypeException.java"><line nr="5" mi="3" ci="0" mb="0" cb="0"/><line nr="6" mi="1" ci="0" mb="0" cb="0"/><counter type="INSTRUCTION" missed="4" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/><counter type="CLASS" missed="1" covered="0"/></sourcefile><counter type="INSTRUCTION" missed="4" covered="20"/><counter type="LINE" missed="2" covered="10"/><counter type="COMPLEXITY" missed="1" covered="5"/><counter type="METHOD" missed="1" covered="5"/><counter type="CLASS" missed="1" covered="5"/></package><package name="com/geektrust/backend/dto"><class name="com/geektrust/backend/dto/RenewalAmountDto" sourcefilename="RenewalAmountDto.java"><method name="<init>" desc="(Ljava/lang/Integer;)V" line="6"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toString" desc="()Ljava/lang/String;" line="12"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="com/geektrust/backend/dto/RenewalReminderDto" sourcefilename="RenewalReminderDto.java"><method name="<init>" desc="(Ljava/time/LocalDate;Lcom/geektrust/backend/enums/SubscriptionCategory;)V" line="13"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="toString" desc="()Ljava/lang/String;" line="20"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="RenewalAmountDto.java"><line nr="6" mi="0" ci="2" mb="0" cb="0"/><line nr="7" mi="0" ci="3" mb="0" cb="0"/><line nr="8" mi="0" ci="1" mb="0" cb="0"/><line nr="12" mi="0" ci="10" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="16"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="RenewalReminderDto.java"><line nr="13" mi="0" ci="2" mb="0" cb="0"/><line nr="14" mi="0" ci="3" mb="0" cb="0"/><line nr="15" mi="0" ci="3" mb="0" cb="0"/><line nr="16" mi="0" ci="1" mb="0" cb="0"/><line nr="20" mi="0" ci="12" mb="0" cb="0"/><line nr="22" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="43"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="2"/></package><package name="com/geektrust/backend"><class name="com/geektrust/backend/App" sourcefilename="App.java"><method name="<init>" desc="()V" line="15"><counter type="INSTRUCTION" missed="3" covered="0"/><counter type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="main" desc="([Ljava/lang/String;)V" line="17"><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="3" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="run" desc="(Ljava/util/List;)V" line="21"><counter type="INSTRUCTION" missed="0" covered="52"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="15"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="12" covered="52"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="4" covered="15"/><counter type="COMPLEXITY" missed="2" covered="2"/><counter type="METHOD" missed="2" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="App.java"><line nr="15" mi="3" ci="0" mb="0" cb="0"/><line nr="17" mi="6" ci="0" mb="0" cb="0"/><line nr="18" mi="2" ci="0" mb="0" cb="0"/><line nr="19" mi="1" ci="0" mb="0" cb="0"/><line nr="21" mi="0" ci="4" mb="0" cb="0"/><line nr="22" mi="0" ci="3" mb="0" cb="0"/><line nr="24" mi="0" ci="6" mb="0" cb="0"/><line nr="26" mi="0" ci="8" mb="0" cb="0"/><line nr="27" mi="0" ci="3" mb="0" cb="0"/><line nr="28" mi="0" ci="2" mb="0" cb="2"/><line nr="29" mi="0" ci="5" mb="0" cb="0"/><line nr="30" mi="0" ci="8" mb="0" cb="0"/><line nr="31" mi="0" ci="3" mb="0" cb="0"/><line nr="32" mi="0" ci="1" mb="0" cb="0"/><line nr="33" mi="0" ci="2" mb="0" cb="0"/><line nr="34" mi="0" ci="1" mb="0" cb="0"/><line nr="35" mi="0" ci="4" mb="0" cb="0"/><line nr="36" mi="0" ci="1" mb="0" cb="0"/><line nr="37" mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="12" covered="52"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="4" covered="15"/><counter type="COMPLEXITY" missed="2" covered="2"/><counter type="METHOD" missed="2" covered="1"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="12" covered="52"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="4" covered="15"/><counter type="COMPLEXITY" missed="2" covered="2"/><counter type="METHOD" missed="2" covered="1"/><counter type="CLASS" missed="0" covered="1"/></package><counter type="INSTRUCTION" missed="65" covered="1114"/><counter type="BRANCH" missed="8" covered="43"/><counter type="LINE" missed="22" covered="278"/><counter type="COMPLEXITY" missed="14" covered="99"/><counter type="METHOD" missed="6" covered="77"/><counter type="CLASS" missed="1" covered="42"/></report>