def test_toString(self): frac = fractal.Fractal() layer = fractal.HistogramLayer() frac.insert_layer(0, layer) desc = str(frac) self.assertEqual("fractal: \n\thistogramLayer\n", desc)
def test_text_init(self): "Test the Fractal object creation from text" # 1. Create Fractal object from text myobj = fractal.Fractal(text=aoc_21.from_text(EXAMPLE_TEXT)) # 2. Make sure it has the expected values self.assertEqual(myobj.part2, False) self.assertEqual(len(myobj.text), 2) self.assertEqual(myobj.art, fractal.INITIAL_PATTERN) self.assertEqual(myobj.art_size, fractal.INITIAL_SIZE) self.assertEqual(len(myobj.rules), 2) self.assertEqual(len(myobj.rules[2]), 1) self.assertEqual(len(myobj.rules[3]), 1) # 3. Check methods self.assertEqual(myobj.pixels(), PIXELS_ZERO) self.assertEqual(len(list(myobj.squares())), 1) self.assertEqual(list(myobj.squares())[0], fractal.INITIAL_PATTERN) self.assertEqual(myobj.transform(fractal.INITIAL_PATTERN), ENANCEMENT_ONE) # 4. Do one enhancement step #print("Step one") myobj.step() self.assertEqual(myobj.art, ENANCEMENT_ONE) self.assertEqual(myobj.art_size, SIZE_ONE) self.assertEqual(myobj.pixels(), PIXELS_ONE) # 5. And then another enhancement step #print("Step two") myobj.step() self.assertEqual(myobj.art, ENANCEMENT_TWO) self.assertEqual(myobj.art_size, SIZE_TWO) self.assertEqual(myobj.pixels(), PIXELS_TWO)
def test_width(self): frac = fractal.Fractal() frac.width = 1000 self.assertEqual(1000, frac.width) frac.width = 1001 self.assertEqual(1001, frac.width)
def test_height(self): frac = fractal.Fractal() frac.height = 1000 self.assertEqual(1000, frac.height) frac.height = 1001 self.assertEqual(1001, frac.height)
def test_get_layer_memory_leak(self): frac = fractal.Fractal() layer = fractal.HistogramLayer() frac.insert_layer(0, layer) retrieved_layer = frac.get_layer(0) self.assertEqual(retrieved_layer, layer)
def test_get_layer_functionality(self): frac = fractal.Fractal() layer = fractal.HistogramLayer() frac.insert_layer(0, layer) retrieved_layer = frac.get_layer(0) retrieved_layer.opacity = 0.2 self.assertEqual(retrieved_layer.opacity, layer.opacity)
def test_part_one(self): "Test part one example of Fractal object" # 1. Create Spinlock object from text myobj = fractal.Fractal(text=aoc_21.from_text(PART_ONE_TEXT)) # 2. Check the part one result self.assertEqual(myobj.part_one(verbose=False, limit=2), PART_ONE_RESULT)
def test_remove_layer_memory_leak(self): frac = fractal.Fractal() layer = fractal.HistogramLayer() # Insert then delete layer frac.insert_layer(0, layer) deleted_layer = frac.remove_layer(0) self.assertEqual(deleted_layer, layer)
def test_part_two(self): "Test part two example of Fractal object" # 1. Create Spinlock object from text myobj = fractal.Fractal(part2=True, text=aoc_21.from_text(PART_TWO_TEXT)) # 2. Check the part two self.assertEqual(myobj.part_two(verbose=False, limit=2), PART_TWO_RESULT)
def test_remove_layer_functionality(self): frac = fractal.Fractal() layer = fractal.HistogramLayer() # Insert then delete layer frac.insert_layer(0, layer) deleted_layer = frac.remove_layer(0) # Assert list length and equality of deleted layer self.assertEqual(0, frac.layer_count()) deleted_layer.opacity = 0.2 self.assertEqual(deleted_layer.opacity, layer.opacity)
def part_two(args, input_lines): "Process part two of the puzzle" # 1. Create the puzzle solver solver = fractal.Fractal(part2=True, text=input_lines) # 2. Determine the solution for part two solution = solver.part_two(verbose=args.verbose) if solution is None: print("There is no solution") else: print("The solution for part two is %s" % (solution)) # 3. Return result return solution is not None
def test_empty_init(self): "Test the default Fractal creation" # 1. Create default Fractal object myobj = fractal.Fractal() # 2. Make sure it has the default values self.assertEqual(myobj.part2, False) self.assertEqual(myobj.text, None) self.assertEqual(myobj.art, fractal.INITIAL_PATTERN) self.assertEqual(myobj.art_size, fractal.INITIAL_SIZE) self.assertEqual(myobj.rules, {2: [], 3: []}) # 3. Check methods self.assertEqual(myobj.pixels(), PIXELS_ZERO) self.assertEqual(len(list(myobj.squares())), 1) self.assertEqual(list(myobj.squares())[0], fractal.INITIAL_PATTERN)
def test_by_size(layer, width, height, num=10): frac = fractal.Fractal() frac.width = width frac.height = height frac.insert_layer(0, layer) times = [] result = None for i in range(num): start = process_time() result = frac.render() end = process_time() times.append(end - start) average = sum(times) / len(times) return average, verify(width, height, result)
def test_insert_layer(self): frac = fractal.Fractal() layer = fractal.HistogramLayer() frac.insert_layer(0, layer) self.assertEqual(1, frac.layer_count())
#!/usr/bin/env python import pygame, time, sys from pprint import pprint import fractal def update_callback(c, l): sys.stdout.write("*") sys.stdout.flush() s = 256 + 1 d = fractal.Fractal(size=s, debug=False, update_callback=update_callback) terrain = d.getTerrain() #pprint(terrain) #sys.exit(0) h = d.getHistogram() a = 0 sea_level = None land_level = None tree_level = None hill_level = None mountain_level = None for i in range(0, 256): a = a + h[i]
def test_remove_layer_invalid(self): frac = fractal.Fractal() self.assertRaises(IndexError, frac.remove_layer, 0) self.assertRaises(IndexError, frac.remove_layer, -1)
def test_insert_layer_invalid(self): frac = fractal.Fractal() layer = fractal.HistogramLayer() self.assertRaises(IndexError, frac.insert_layer, 1, layer) self.assertRaises(IndexError, frac.insert_layer, -1, layer)
def test_x(self): frac = fractal.Fractal() self.assertEqual(0, frac.x) frac.x = 1.11 self.assertEqual(1.11, frac.x)
def __init__(self): super().__init__() self.fract = fractal.Fractal() self.initUI()
# coding=utf-8 import fractal import screen_pg import event_pg import time spg = screen_pg.ScreenPg() epg = event_pg.EventPg(spg.pg) spg.beggin() spg.set_title('Cellular Automata: Fractal') fr = fractal.Fractal(width=spg.width, height=spg.height) def reset(): fr.reset_game_state() spg.screen.fill(spg.bg) # rule = 110 # rule = 124 # rule = 150 # rule = 90 # Para regla 110 # gameState[nxC -1 , 0] = 1 # Para regla 124 # gameState[0, 0] = 1 init_config = {
def test_viewport_width(self): frac = fractal.Fractal() self.assertEqual(4, frac.viewport_width) frac.viewport_width = 1.11 self.assertEqual(1.11, frac.viewport_width)
def test_y(self): frac = fractal.Fractal() self.assertEqual(0, frac.y) frac.y = 1.11 self.assertEqual(1.11, frac.y)