Exemplo n.º 1
0
    def test_calculates_nnrti_count(self):

        fields = self.check_class.combinations[0][FIELDS]
        cycle = "Jan - Feb 2014"
        facility_name = "F1"
        warehouse_name = "W1"
        ip_name = "I1"
        district_name = "D1"
        for part in [DF1, DF2]:
            formulations = self.check_class.combinations[0][part]
            for formulation in formulations:
                data = {FORMULATION: formulation}
                for field in fields:
                    data[field] = 20
                mommy.make(Consumption,
                           name=facility_name,
                           warehouse=warehouse_name,
                           ip=ip_name,
                           district=district_name,
                           cycle=cycle,
                           **data)
        combination = DEFAULT
        score = Score.objects.create(name=facility_name,
                                     warehouse=warehouse_name,
                                     ip=ip_name,
                                     district=district_name,
                                     REPORTING={DEFAULT: YES},
                                     WEB_BASED={DEFAULT: YES},
                                     cycle=cycle)
        data_source = NNRTIDataSource()
        data = data_source.load(score, self.test_name, combination)
        self.assertEqual(data["%s_COUNT" % DF1], 60.0)
        self.assertEqual(data["%s_COUNT" % DF2], 80.0)
        self.assertEqual(data[FINAL_SCORE], 25.0)
Exemplo n.º 2
0
 def test_that_table_for_df2_has_2_rows(self):
     formulations = self.check_class.combinations[0][
         OTHER] + self.check_class.combinations[0][DF2]
     fields = self.check_class.combinations[0][FIELDS]
     cycle = "Jan - Feb 2014"
     facility_name = "F1"
     warehouse_name = "W1"
     ip_name = "I1"
     district_name = "D1"
     for formulation in formulations:
         data = {FORMULATION: formulation}
         for field in fields:
             data[field] = 20
         mommy.make(Consumption,
                    name=facility_name,
                    warehouse=warehouse_name,
                    ip=ip_name,
                    district=district_name,
                    cycle=cycle,
                    **data)
     combination = DEFAULT
     score = Score.objects.create(name=facility_name,
                                  warehouse=warehouse_name,
                                  ip=ip_name,
                                  district=district_name,
                                  REPORTING={DEFAULT: YES},
                                  WEB_BASED={DEFAULT: YES},
                                  cycle=cycle)
     data_source = NNRTIDataSource()
     data = data_source.load(score, self.test_name, combination)
     self.assertEqual(len(data[DF2][ROWS]), 4)
     self.assertEqual(data[DF2][ROWS][1][COLUMN],
                      "Nevirapine (NVP) 50mg [Pack 60]")
     self.assertEqual(data[DF2][ROWS][0][TOTAL], 40)
Exemplo n.º 3
0
    def test_calculates_nnrti_count(self):

        fields = self.check_class.combinations[0][FIELDS]
        cycle = "Jan - Feb 2014"
        facility_name = "F1"
        warehouse_name = "W1"
        ip_name = "I1"
        district_name = "D1"
        for part in [DF1, DF2, OTHER]:
            formulations = self.check_class.combinations[0][part]
            for formulation in formulations:
                data = {FORMULATION: formulation}
                for field in fields:
                    data[field] = 20
                mommy.make(Consumption, name=facility_name, warehouse=warehouse_name, ip=ip_name,
                           district=district_name, cycle=cycle, **data)
        combination = DEFAULT
        score = Score.objects.create(name=facility_name, warehouse=warehouse_name, ip=ip_name, district=district_name,
                                     REPORTING={DEFAULT: YES},
                                     WEB_BASED={DEFAULT: YES}, cycle=cycle)
        data_source = NNRTIDataSource()
        data = data_source.load(score, self.test_name, combination)
        df1_c = 80.0 / 4.6
        df2_c = 40 + 120 / 4.6
        expected = 100 * (abs(df2_c - df1_c) / df2_c)
        self.assertEqual(data["%s_COUNT" % DF1], df1_c)
        self.assertAlmostEquals(data["%s_COUNT" % DF2], df2_c, 3)
        self.assertAlmostEquals(data[FINAL_SCORE], expected, 3)
Exemplo n.º 4
0
 def test_that_each_df1_shows_calculated_tables(self):
     formulations = self.check_class.combinations[0][DF1]
     fields = self.check_class.combinations[0][FIELDS]
     cycle = "Jan - Feb 2014"
     facility_name = "F1"
     warehouse_name = "W1"
     ip_name = "I1"
     district_name = "D1"
     for formulation in formulations:
         data = {FORMULATION: formulation}
         for field in fields:
             data[field] = 20
         mommy.make(Consumption, name=facility_name, warehouse=warehouse_name, ip=ip_name, district=district_name,
                    cycle=cycle, **data)
     combination = DEFAULT
     score = Score.objects.create(name=facility_name, warehouse=warehouse_name, ip=ip_name, district=district_name,
                                  REPORTING={DEFAULT: YES},
                                  WEB_BASED={DEFAULT: YES}, cycle=cycle)
     data_source = NNRTIDataSource()
     data = data_source.load(score, self.test_name, combination)
     ratios_key = "%s_calculated" % DF1
     self.assertEqual(len(data[ratios_key][ROWS]), 4)
     self.assertEqual(data[ratios_key][ROWS][0][VALUE], 20.0)
     self.assertEqual(data[ratios_key][ROWS][0][COLUMN], "Zidovudine/Lamivudine (AZT/3TC) 300mg/150mg [Pack 60]")
     self.assertEqual(data[ratios_key][ROWS][1][VALUE], 20.0)
     self.assertEqual(data[ratios_key][ROWS][1][COLUMN], "Tenofovir/Lamivudine (TDF/3TC) 300mg/300mg [Pack 30]")
     self.assertEqual(data[ratios_key][ROWS][2][VALUE], 20.0)
     self.assertEqual(data[ratios_key][ROWS][2][COLUMN], "Abacavir/Lamivudine (ABC/3TC) 600mg/300mg [Pack 30]")
     self.assertEqual(data[ratios_key][ROWS][3][VALUE], 60.0)
     self.assertEqual(data[ratios_key][ROWS][3][COLUMN], TOTAL)
     self.assertEqual(data[ratios_key][ROWS][3]["isHeader"], True)
Exemplo n.º 5
0
    def test_that_each_df2_shows_calculated_tables(self):
        formulations = self.check_class.combinations[0][OTHER] + self.check_class.combinations[0][DF2]
        fields = self.check_class.combinations[0][FIELDS]
        cycle = "Jan - Feb 2014"
        facility_name = "F1"
        warehouse_name = "W1"
        ip_name = "I1"
        district_name = "D1"
        for formulation in formulations:
            data = {FORMULATION: formulation}
            for field in fields:
                data[field] = 20
            mommy.make(Consumption, name=facility_name, warehouse=warehouse_name, ip=ip_name, district=district_name,
                       cycle=cycle, **data)
        combination = DEFAULT
        score = Score.objects.create(name=facility_name, warehouse=warehouse_name, ip=ip_name, district=district_name,
                                     REPORTING={DEFAULT: YES},
                                     WEB_BASED={DEFAULT: YES}, cycle=cycle)
        data_source = NNRTIDataSource()
        data = data_source.load(score, self.test_name, combination)
        ratios_key = "%s_calculated" % DF2
        self.assertEqual(len(data[ratios_key][ROWS]), 5)
        self.assertEqual(data[ratios_key][ROWS][0][COLUMN], "Efavirenz (EFV) 200mg [Pack 90]")
        self.assertEqual(data[ratios_key][ROWS][0][VALUE], 40.0)
        self.assertEqual(data[ratios_key][ROWS][1][VALUE], 40.0 / 4.6)
        self.assertEqual(data[ratios_key][ROWS][1][COLUMN], "Nevirapine (NVP) 50mg [Pack 60]")
        self.assertEqual(data[ratios_key][ROWS][2][VALUE], 40.0 / 4.6)
        self.assertEqual(data[ratios_key][ROWS][2][COLUMN],
                         "Lopinavir/Ritonavir (LPV/r) 80mg/20ml oral susp [Bottle 60ml]")
        self.assertEqual(data[ratios_key][ROWS][3][VALUE], 40.0 / 4.6)
        self.assertEqual(data[ratios_key][ROWS][3][COLUMN], "Lopinavir/Ritonavir (LPV/r) 100mg/25mg")

        self.assertAlmostEquals(data[ratios_key][ROWS][4][VALUE], 40 + 120.0 / 4.6, 3)
        self.assertEqual(data[ratios_key][ROWS][4][COLUMN], TOTAL)
Exemplo n.º 6
0
 def test_that_each_df2_shows_ratios(self):
     formulations = self.check_class.combinations[0][DF2]
     fields = self.check_class.combinations[0][FIELDS]
     cycle = "Jan - Feb 2014"
     facility_name = "F1"
     warehouse_name = "W1"
     ip_name = "I1"
     district_name = "D1"
     for formulation in formulations:
         data = {FORMULATION: formulation}
         for field in fields:
             data[field] = 20
         mommy.make(Consumption, name=facility_name, warehouse=warehouse_name, ip=ip_name, district=district_name,
                    cycle=cycle, **data)
     combination = DEFAULT
     score = Score.objects.create(name=facility_name, warehouse=warehouse_name, ip=ip_name, district=district_name,
                                  REPORTING={DEFAULT: YES},
                                  WEB_BASED={DEFAULT: YES}, cycle=cycle)
     data_source = NNRTIDataSource()
     data = data_source.load(score, self.test_name, combination)
     ratios_key = DF2 + "_ratios"
     self.assertEqual(len(data[ratios_key][ROWS]), 4)
     self.assertEqual(data[ratios_key][ROWS][0][VALUE], 2.0)
     self.assertEqual(data[ratios_key][ROWS][0][COLUMN], "Efavirenz (EFV) 600mg [Pack 30]")
     self.assertEqual(data[ratios_key][ROWS][1][VALUE], 2.0)
     self.assertEqual(data[ratios_key][ROWS][1][COLUMN], "Nevirapine (NVP) 200mg [Pack 60]")
     self.assertEqual(data[ratios_key][ROWS][2][VALUE], 2.0)
     self.assertEqual(data[ratios_key][ROWS][2][COLUMN], "Atazanavir/Ritonavir (ATV/r) 300mg/100mg [Pack 30]")
     self.assertEqual(data[ratios_key][ROWS][3][VALUE], 2.0)
     self.assertEqual(data[ratios_key][ROWS][3][COLUMN], "Lopinavir/Ritonavir (LPV/r) 200mg/50mg [Pack 120]")
Exemplo n.º 7
0
 def test_that_table_for_df2_has_proper_header(self):
     combination = DEFAULT
     score = Score.objects.create(name="F1", warehouse="W1", ip="I1", district="D1", REPORTING={DEFAULT: YES},
                                  WEB_BASED={DEFAULT: YES})
     data_source = NNRTIDataSource()
     data = data_source.load(score, self.test_name, combination)
     self.assertEqual(data[DF2][HEADERS], ["ART", "eMTCT", TOTAL])
     self.assertEqual(data[DF2]["table_header"], "NNRTI/PI")
Exemplo n.º 8
0
 def test_that_table_for_df2_has_proper_header(self):
     combination = DEFAULT
     score = Score.objects.create(name="F1",
                                  warehouse="W1",
                                  ip="I1",
                                  district="D1",
                                  REPORTING={DEFAULT: YES},
                                  WEB_BASED={DEFAULT: YES})
     data_source = NNRTIDataSource()
     data = data_source.load(score, self.test_name, combination)
     self.assertEqual(data[DF2][HEADERS], ["ART", "eMTCT", TOTAL])
     self.assertEqual(data[DF2]["table_header"], "NNRTI/PI")
Exemplo n.º 9
0
    def test_that_each_df2_shows_calculated_tables(self):
        formulations = self.check_class.combinations[0][
            OTHER] + self.check_class.combinations[0][DF2]
        fields = self.check_class.combinations[0][FIELDS]
        cycle = "Jan - Feb 2014"
        facility_name = "F1"
        warehouse_name = "W1"
        ip_name = "I1"
        district_name = "D1"
        for formulation in formulations:
            data = {FORMULATION: formulation}
            for field in fields:
                data[field] = 20
            mommy.make(Consumption,
                       name=facility_name,
                       warehouse=warehouse_name,
                       ip=ip_name,
                       district=district_name,
                       cycle=cycle,
                       **data)
        combination = DEFAULT
        score = Score.objects.create(name=facility_name,
                                     warehouse=warehouse_name,
                                     ip=ip_name,
                                     district=district_name,
                                     REPORTING={DEFAULT: YES},
                                     WEB_BASED={DEFAULT: YES},
                                     cycle=cycle)
        data_source = NNRTIDataSource()
        data = data_source.load(score, self.test_name, combination)
        ratios_key = "%s_calculated" % DF2
        self.assertEqual(len(data[ratios_key][ROWS]), 5)
        self.assertEqual(data[ratios_key][ROWS][0][COLUMN],
                         "Efavirenz (EFV) 200mg [Pack 90]")
        self.assertEqual(data[ratios_key][ROWS][0][VALUE], 40.0)
        self.assertEqual(data[ratios_key][ROWS][1][VALUE], 40.0 / 4.6)
        self.assertEqual(data[ratios_key][ROWS][1][COLUMN],
                         "Nevirapine (NVP) 50mg [Pack 60]")
        self.assertEqual(data[ratios_key][ROWS][2][VALUE], 40.0 / 4.6)
        self.assertEqual(
            data[ratios_key][ROWS][2][COLUMN],
            "Lopinavir/Ritonavir (LPV/r) 80mg/20ml oral susp [Bottle 60ml]")
        self.assertEqual(data[ratios_key][ROWS][3][VALUE], 40.0 / 4.6)
        self.assertEqual(data[ratios_key][ROWS][3][COLUMN],
                         "Lopinavir/Ritonavir (LPV/r) 100mg/25mg")

        self.assertAlmostEquals(data[ratios_key][ROWS][4][VALUE],
                                40 + 120.0 / 4.6, 3)
        self.assertEqual(data[ratios_key][ROWS][4][COLUMN], TOTAL)
Exemplo n.º 10
0
 def test_that_each_df1_shows_calculated_tables(self):
     formulations = self.check_class.combinations[0][DF1]
     fields = self.check_class.combinations[0][FIELDS]
     cycle = "Jan - Feb 2014"
     facility_name = "F1"
     warehouse_name = "W1"
     ip_name = "I1"
     district_name = "D1"
     for formulation in formulations:
         data = {FORMULATION: formulation}
         for field in fields:
             data[field] = 20
         mommy.make(Consumption,
                    name=facility_name,
                    warehouse=warehouse_name,
                    ip=ip_name,
                    district=district_name,
                    cycle=cycle,
                    **data)
     combination = DEFAULT
     score = Score.objects.create(name=facility_name,
                                  warehouse=warehouse_name,
                                  ip=ip_name,
                                  district=district_name,
                                  REPORTING={DEFAULT: YES},
                                  WEB_BASED={DEFAULT: YES},
                                  cycle=cycle)
     data_source = NNRTIDataSource()
     data = data_source.load(score, self.test_name, combination)
     ratios_key = "%s_calculated" % DF1
     self.assertEqual(len(data[ratios_key][ROWS]), 4)
     self.assertEqual(data[ratios_key][ROWS][0][VALUE], 20.0)
     self.assertEqual(
         data[ratios_key][ROWS][0][COLUMN],
         "Zidovudine/Lamivudine (AZT/3TC) 300mg/150mg [Pack 60]")
     self.assertEqual(data[ratios_key][ROWS][1][VALUE], 20.0)
     self.assertEqual(
         data[ratios_key][ROWS][1][COLUMN],
         "Tenofovir/Lamivudine (TDF/3TC) 300mg/300mg [Pack 30]")
     self.assertEqual(data[ratios_key][ROWS][2][VALUE], 20.0)
     self.assertEqual(
         data[ratios_key][ROWS][2][COLUMN],
         "Abacavir/Lamivudine (ABC/3TC) 600mg/300mg [Pack 30]")
     self.assertEqual(data[ratios_key][ROWS][3][VALUE], 60.0)
     self.assertEqual(data[ratios_key][ROWS][3][COLUMN], TOTAL)
     self.assertEqual(data[ratios_key][ROWS][3]["isHeader"], True)
Exemplo n.º 11
0
 def test_that_each_df2_shows_ratios(self):
     formulations = self.check_class.combinations[0][DF2]
     fields = self.check_class.combinations[0][FIELDS]
     cycle = "Jan - Feb 2014"
     facility_name = "F1"
     warehouse_name = "W1"
     ip_name = "I1"
     district_name = "D1"
     for formulation in formulations:
         data = {FORMULATION: formulation}
         for field in fields:
             data[field] = 20
         mommy.make(Consumption,
                    name=facility_name,
                    warehouse=warehouse_name,
                    ip=ip_name,
                    district=district_name,
                    cycle=cycle,
                    **data)
     combination = DEFAULT
     score = Score.objects.create(name=facility_name,
                                  warehouse=warehouse_name,
                                  ip=ip_name,
                                  district=district_name,
                                  REPORTING={DEFAULT: YES},
                                  WEB_BASED={DEFAULT: YES},
                                  cycle=cycle)
     data_source = NNRTIDataSource()
     data = data_source.load(score, self.test_name, combination)
     ratios_key = DF2 + "_ratios"
     self.assertEqual(len(data[ratios_key][ROWS]), 4)
     self.assertEqual(data[ratios_key][ROWS][0][VALUE], 2.0)
     self.assertEqual(data[ratios_key][ROWS][0][COLUMN],
                      "Efavirenz (EFV) 600mg [Pack 30]")
     self.assertEqual(data[ratios_key][ROWS][1][VALUE], 2.0)
     self.assertEqual(data[ratios_key][ROWS][1][COLUMN],
                      "Nevirapine (NVP) 200mg [Pack 60]")
     self.assertEqual(data[ratios_key][ROWS][2][VALUE], 2.0)
     self.assertEqual(data[ratios_key][ROWS][2][COLUMN],
                      "Atazanavir/Ritonavir (ATV/r) 300mg/100mg [Pack 30]")
     self.assertEqual(data[ratios_key][ROWS][3][VALUE], 2.0)
     self.assertEqual(data[ratios_key][ROWS][3][COLUMN],
                      "Lopinavir/Ritonavir (LPV/r) 200mg/50mg [Pack 120]")
Exemplo n.º 12
0
 def test_that_table_for_df1_has_2_rows(self):
     formulations = self.check_class.combinations[0][DF1]
     fields = self.check_class.combinations[0][FIELDS]
     cycle = "Jan - Feb 2014"
     facility_name = "F1"
     warehouse_name = "W1"
     ip_name = "I1"
     district_name = "D1"
     for formulation in formulations:
         data = {FORMULATION: formulation}
         for field in fields:
             data[field] = 20
         mommy.make(Consumption, name=facility_name, warehouse=warehouse_name, ip=ip_name, district=district_name,
                    cycle=cycle, **data)
     combination = DEFAULT
     score = Score.objects.create(name=facility_name, warehouse=warehouse_name, ip=ip_name, district=district_name,
                                  REPORTING={DEFAULT: YES},
                                  WEB_BASED={DEFAULT: YES}, cycle=cycle)
     data_source = NNRTIDataSource()
     data = data_source.load(score, self.test_name, combination)
     self.assertEqual(len(data[DF1][ROWS]), 3)
     self.assertEqual(data[DF1][ROWS][1][COLUMN], "Tenofovir/Lamivudine (TDF/3TC) 300mg/300mg [Pack 30]")
     self.assertEqual(data[DF1][ROWS][0][TOTAL], 40)
Exemplo n.º 13
0
 def test_correct_template_is_selected(self):
     data_source = NNRTIDataSource()
     self.assertEqual(data_source.get_template(""), "check/nnrti.html")
Exemplo n.º 14
0
 def test_correct_template_is_selected(self):
     data_source = NNRTIDataSource()
     self.assertEqual(data_source.get_template(""), "check/nnrti.html")