Esempio n. 1
0
def test_Demands():
    raise SkipTest
    wn = wntr.network.WaterNetworkModel()

    pattern_points1 = [0.5, 1.0, 0.4, 0.2]
    pattern1 = elements.Pattern('1',
                                multipliers=pattern_points1,
                                time_options=(0, 10))
    pattern_points2 = [1.0, 1.2, 1.0]
    pattern2 = elements.Pattern('2',
                                multipliers=pattern_points2,
                                time_options=(0, 10))
    demand1 = elements.TimeSeries(wn.patterns, 2.5, pattern1, '_base_demand')
    demand2 = elements.TimeSeries(wn.patterns, 1.0, pattern2, 'residential')
    demand3 = elements.TimeSeries(wn.patterns, 0.8, pattern2, 'residential')

    expected1 = 2.5 * np.array(pattern_points1 * 3)
    expected2 = 1.0 * np.array(pattern_points2 * 4)
    expected3 = 0.8 * np.array(pattern_points2 * 4)
    expectedtotal = expected1 + expected2 + expected3
    expectedresidential = expected2 + expected3
    demandlist1 = elements.Demands(wn.patterns, demand1, demand2, demand3)
    demandlist2 = elements.Demands(wn.patterns)
    demandlist2.append(demand1)
    demandlist2.append(demand1)
    demandlist2[1] = demand2
    demandlist2.append((0.8, pattern2, 'residential'))
    nose.tools.assert_list_equal(list(demandlist1), list(demandlist2))

    demandlist2.extend(demandlist1)
    nose.tools.assert_equal(len(demandlist1), 3)
    nose.tools.assert_equal(len(demandlist2), 6)
    del demandlist2[3]
    del demandlist2[3]
    del demandlist2[3]
    del demandlist2[0]
    demandlist2.insert(0, demand1)
    nose.tools.assert_list_equal(list(demandlist1), list(demandlist2))
    demandlist2.clear()
    nose.tools.assert_equal(len(demandlist2), 0)
    nose.tools.assert_false(demandlist2)
    nose.tools.assert_equal(demandlist1.at(5), expectedtotal[0])
    nose.tools.assert_equal(demandlist1.at(13), expectedtotal[1])
    nose.tools.assert_equal(demandlist1.at(13, 'residential'),
                            expectedresidential[1])
    nose.tools.assert_true(
        np.all(
            np.abs(demandlist1.get_values(0, 110, 10) -
                   expectedtotal) < 1.0e-10))
    nose.tools.assert_list_equal(demandlist1.base_demand_list(),
                                 [2.5, 1.0, 0.8])
    nose.tools.assert_list_equal(demandlist1.base_demand_list('_base_demand'),
                                 [2.5])
    nose.tools.assert_list_equal(demandlist1.pattern_list(),
                                 [pattern1, pattern2, pattern2])
    nose.tools.assert_list_equal(
        demandlist1.pattern_list(category='residential'), [pattern2, pattern2])
    nose.tools.assert_list_equal(
        demandlist1.category_list(),
        ['_base_demand', 'residential', 'residential'])
Esempio n. 2
0
    def test_Demands(self):
        wn = wntr.network.WaterNetworkModel()

        pattern_points1 = [0.5, 1.0, 0.4, 0.2]
        pattern1 = elements.Pattern("1",
                                    multipliers=pattern_points1,
                                    time_options=(0, 10))
        pattern_points2 = [1.0, 1.2, 1.0]
        pattern2 = elements.Pattern("2",
                                    multipliers=pattern_points2,
                                    time_options=(0, 10))
        demand1 = elements.TimeSeries(wn.patterns, 2.5, pattern1,
                                      "_base_demand")
        demand2 = elements.TimeSeries(wn.patterns, 1.0, pattern2,
                                      "residential")
        demand3 = elements.TimeSeries(wn.patterns, 0.8, pattern2,
                                      "residential")

        expected1 = 2.5 * np.array(pattern_points1 * 3)
        expected2 = 1.0 * np.array(pattern_points2 * 4)
        expected3 = 0.8 * np.array(pattern_points2 * 4)
        expectedtotal = expected1 + expected2 + expected3
        expectedresidential = expected2 + expected3
        demandlist1 = elements.Demands(wn.patterns, demand1, demand2, demand3)
        demandlist2 = elements.Demands(wn.patterns)
        demandlist2.append(demand1)
        demandlist2.append(demand1)
        demandlist2[1] = demand2
        demandlist2.append((0.8, pattern2, "residential"))
        self.assertListEqual(list(demandlist1), list(demandlist2))

        demandlist2.extend(demandlist1)
        self.assertEqual(len(demandlist1), 3)
        self.assertEqual(len(demandlist2), 6)
        del demandlist2[3]
        del demandlist2[3]
        del demandlist2[3]
        del demandlist2[0]
        demandlist2.insert(0, demand1)
        self.assertListEqual(list(demandlist1), list(demandlist2))
        demandlist2.clear()
        self.assertEqual(len(demandlist2), 0)
        self.assertFalse(demandlist2)

        raise SkipTest

        self.assertEqual(demandlist1.at(5), expectedtotal[0])
        self.assertEqual(demandlist1.at(13), expectedtotal[1])
        self.assertEqual(demandlist1.at(13, "residential"),
                         expectedresidential[1])
        self.assertTrue(
            np.all(
                np.abs(demandlist1.get_values(0, 110, 10) -
                       expectedtotal) < 1.0e-10))
        self.assertListEqual(demandlist1.base_demand_list(), [2.5, 1.0, 0.8])
        self.assertListEqual(demandlist1.base_demand_list("_base_demand"),
                             [2.5])
        self.assertListEqual(demandlist1.pattern_list(),
                             [pattern1, pattern2, pattern2])
        self.assertListEqual(demandlist1.pattern_list(category="residential"),
                             [pattern2, pattern2])
        self.assertListEqual(demandlist1.category_list(),
                             ["_base_demand", "residential", "residential"])