Skip to content

Instantly share code, notes, and snippets.

View rickardlindberg's full-sized avatar

Rickard Lindberg rickardlindberg

View GitHub Profile
import itertools
class World:
def __init__(self, interactions):
self.objects = []
self.interactions = interactions
def add(self, item):
self.objects.append(item)
@rickardlindberg
rickardlindberg / test.py
Last active June 18, 2023 17:41
Python Mock does not detect changed signature
from unittest.mock import Mock
import unittest.mock
import doctest
class Calculator:
"""
>>> mock_display = Mock(Display)
>>> calculator = Calculator(mock_display)
>>> calculator.add(3)
@rickardlindberg
rickardlindberg / pygame_cairo.py
Created May 20, 2023 06:42
Example how to display images drawn with Cairo in Pygame.
import cairo
import pygame
import sys
SIZE = (400, 400)
def draw_frame(cairo_context, position):
cairo_context.set_source_rgb(1, 0, 0)
cairo_context.rectangle(position, position, 10, 10)
cairo_context.fill()
#include <wx/wxprec.h>
#ifndef WX_PRECOMP
#include <wx/wx.h>
#endif
class MyApp: public wxApp
{
public:
virtual bool OnInit();
#!/usr/bin/python
import sys
def read_content(path):
f = open(path, "r")
res = f.read()
f.close()
return res
import wxversion
wxversion.ensureMinimal('2.8')
import wx
app = wx.App(False)
main_frame = wx.Frame(None)
main_frame.Show()
@rickardlindberg
rickardlindberg / check.py
Created January 10, 2015 10:06
This Python script is used to check a web page for broken links. I wrote it to be used in a workshop about continuous integration with Jenkins.
import re
import requests
import sys
import urlparse
TIMEOUT_IN_SECONDS = 10.0
def check(base_url):
print("Checking %s" % base_url)
base_response = requests.get(base_url, timeout=TIMEOUT_IN_SECONDS)
@rickardlindberg
rickardlindberg / MySortExample.hs
Created August 21, 2014 05:12
Testing my own sort function by comparing it to the standard library sort for many random test cases.
import Data.List
import Test.QuickCheck
mySort :: [Int] -> [Int]
mySort list =
let swapped = swap list in
if swapped == list
then list
else mySort swapped
where
@rickardlindberg
rickardlindberg / Bowling.hs
Created June 30, 2013 08:06
Bowling kata in Haskell.
import Test.Hspec
score :: [Int] -> Int
score rolls = score' 10 rolls
where
score' 0 rolls = 0
score' framesLeft rolls =
let (frameScore, restRolls) = popFrame rolls
in frameScore + score' (framesLeft - 1) restRolls
@rickardlindberg
rickardlindberg / Bowling.hs
Last active December 18, 2015 07:59
Bowling kata with kajgo 10 Jun 2013.
main = do
print $ score (replicate 20 0) == 0
print $ score (replicate 20 1) == 20
print $ score ([4,6,1,0] ++ replicate 16 0) == 10 + 1 + 1
print $ score ([10,6,1] ++ replicate 16 0) == 10 + 6 + 1 + 6 + 1
print $ score (replicate 18 0 ++ [3,7,1]) == 11
print $ score (replicate 18 0 ++ [10,5,2]) == 10 + 5 + 2
print $ score (replicate 18 0 ++ [10,10,10]) == 30
print $ score (replicate 12 10) == 300