Exemplo n.º 1
0
 def test_exact_1(self):
     # One color
     colors = ColorExact({0: self.red})
     self.assertEqual(colors._clauses(band='r'), [('n == 0', self.red.r)])
     self.assertEqual(colors._clauses(band='a'), [('n == 0', self.red.a)])
     self.assertEqual(
         colors._expression(band='r'),
         'where(n == 0, {true}, {false})'.format(
             true=self.red.r, false=ColorExact.BACKGROUND.r))
     self.assertEqual(
         colors._expression(band='a'),
         'where(n == 0, {true}, {false})'.format(
             true=self.red.a, false=ColorExact.BACKGROUND.a))
Exemplo n.º 2
0
 def test_exact_1(self):
     # One color
     colors = ColorExact({0: self.red})
     self.assertEqual(colors._clauses(band='r'),
                      [('n == 0', self.red.r)])
     self.assertEqual(colors._clauses(band='a'),
                      [('n == 0', self.red.a)])
     self.assertEqual(colors._expression(band='r'),
                      'where(n == 0, {true}, {false})'.format(
                          true=self.red.r,
                          false=ColorExact.BACKGROUND.r
                      ))
     self.assertEqual(colors._expression(band='a'),
                      'where(n == 0, {true}, {false})'.format(
                          true=self.red.a,
                          false=ColorExact.BACKGROUND.a
                      ))
Exemplo n.º 3
0
    def test_exact_0(self):
        # Empty
        colors = ColorExact()
        self.assertEqual(colors._clauses(band='r'),
                         [])
        self.assertEqual(colors._clauses(band='a'),
                         [])
        self.assertEqual(colors._expression(band='r'),
                         None)
        self.assertEqual(colors._expression(band='a'),
                         None)

        # Empty, with nodata - no-op
        self.assertEqual(colors._clauses(band='r', nodata=0),
                         [])
        self.assertEqual(colors._clauses(band='a', nodata=0),
                         [])
        self.assertEqual(colors._expression(band='r', nodata=0),
                         None)
        self.assertEqual(colors._expression(band='a', nodata=0),
                         None)
Exemplo n.º 4
0
    def test_exact_0(self):
        # Empty
        colors = ColorExact()
        self.assertEqual(colors._clauses(band='r'), [])
        self.assertEqual(colors._clauses(band='a'), [])
        self.assertEqual(colors._expression(band='r'), None)
        self.assertEqual(colors._expression(band='a'), None)

        # Empty, with nodata - no-op
        self.assertEqual(colors._clauses(band='r', nodata=0), [])
        self.assertEqual(colors._clauses(band='a', nodata=0), [])
        self.assertEqual(colors._expression(band='r', nodata=0), None)
        self.assertEqual(colors._expression(band='a', nodata=0), None)
Exemplo n.º 5
0
    def test_exact_2(self):
        # Two colors
        colors = ColorExact({0: self.red, 2: self.green})
        self.assertEqual(colors._clauses(band='r'), [('n == 0', self.red.r)])
        self.assertEqual(colors._clauses(band='g'), [('n == 2', self.green.g)])
        self.assertEqual(colors._clauses(band='a'), [('n == 0', self.red.a),
                                                     ('n == 2', self.green.a)])
        self.assertEqual(
            colors._expression(band='r'),
            'where(n == 0, {red}, {false})'.format(
                red=self.red.r, false=ColorExact.BACKGROUND.r))
        self.assertEqual(
            colors._expression(band='g'),
            'where(n == 2, {green}, {false})'.format(
                green=self.green.g, false=ColorExact.BACKGROUND.g))
        self.assertEqual(
            colors._expression(band='a'),
            'where(n == 2, {green}, where(n == 0, {red}, {false}))'.format(
                red=self.red.a,
                green=self.green.a,
                false=ColorExact.BACKGROUND.a))

        # Two colors, with no data - should look like "One color" above.
        colors = ColorExact({0: self.red, 2: self.green})
        self.assertEqual(colors._clauses(band='r', nodata=2),
                         [('n == 0', self.red.r)])
        self.assertEqual(colors._clauses(band='a', nodata=2),
                         [('n == 0', self.red.a)])
        self.assertEqual(
            colors._expression(band='r', nodata=2),
            'where(n == 0, {true}, {false})'.format(
                true=self.red.r, false=ColorExact.BACKGROUND.r))
        self.assertEqual(
            colors._expression(band='a', nodata=2),
            'where(n == 0, {true}, {false})'.format(
                true=self.red.a, false=ColorExact.BACKGROUND.a))
Exemplo n.º 6
0
    def test_exact_2(self):
        # Two colors
        colors = ColorExact({0: self.red,
                             2: self.green})
        self.assertEqual(colors._clauses(band='r'),
                         [('n == 0', self.red.r)])
        self.assertEqual(colors._clauses(band='g'),
                         [('n == 2', self.green.g)])
        self.assertEqual(colors._clauses(band='a'),
                         [('n == 0', self.red.a),
                          ('n == 2', self.green.a)])
        self.assertEqual(
            colors._expression(band='r'),
            'where(n == 0, {red}, {false})'.format(
                red=self.red.r,
                false=ColorExact.BACKGROUND.r
            ))
        self.assertEqual(
            colors._expression(band='g'),
            'where(n == 2, {green}, {false})'.format(
                green=self.green.g,
                false=ColorExact.BACKGROUND.g
            ))
        self.assertEqual(
            colors._expression(band='a'),
            'where(n == 2, {green}, where(n == 0, {red}, {false}))'.format(
                red=self.red.a,
                green=self.green.a,
                false=ColorExact.BACKGROUND.a
            ))

        # Two colors, with no data - should look like "One color" above.
        colors = ColorExact({0: self.red,
                             2: self.green})
        self.assertEqual(colors._clauses(band='r', nodata=2),
                         [('n == 0', self.red.r)])
        self.assertEqual(colors._clauses(band='a', nodata=2),
                         [('n == 0', self.red.a)])
        self.assertEqual(colors._expression(band='r', nodata=2),
                         'where(n == 0, {true}, {false})'.format(
                             true=self.red.r,
                             false=ColorExact.BACKGROUND.r
                         ))
        self.assertEqual(colors._expression(band='a', nodata=2),
                         'where(n == 0, {true}, {false})'.format(
                             true=self.red.a,
                             false=ColorExact.BACKGROUND.a
                         ))