1#!/usr/bin/env python3 2#GI_TYPELIB_PATH=$PREFIX/lib/girepository-1.0/ ./array.py 3 4############################################################################### 5# 6# Copyright (C) 2015 William Yu <williamyu@gnome.org> 7# 8# This library is free software; you can redistribute it and/or modify 9# it under the terms of either: 10# 11# The LGPL as published by the Free Software Foundation, version 12# 2.1, available at: https://www.gnu.org/licenses/lgpl-2.1.txt 13# 14# Or: 15# 16# The Mozilla Public License Version 2.0. You may obtain a copy of 17# the License at https://www.mozilla.org/MPL/ 18# 19############################################################################### 20 21import gi 22 23gi.require_version('ICalGLib', '3.0') 24 25from gi.repository import ICalGLib 26 27array = ICalGLib.Timezone.array_new(); 28 29#TEST APPEND 30zone0 = ICalGLib.Timezone.get_builtin_timezone("Pacific/Midway"); 31zone1 = ICalGLib.Timezone.get_builtin_timezone("America/Vancouver"); 32zone2 = ICalGLib.Timezone.get_builtin_timezone("Atlantic/Bermuda"); 33zone3 = ICalGLib.Timezone.get_builtin_timezone("Africa/Casablanca"); 34zone4 = ICalGLib.Timezone.get_builtin_timezone("Asia/Irkutsk"); 35 36ICalGLib.Timezone.array_append_from_vtimezone(array, zone0.get_component()); 37ICalGLib.Timezone.array_append_from_vtimezone(array, zone1.get_component()); 38ICalGLib.Timezone.array_append_from_vtimezone(array, zone2.get_component()); 39ICalGLib.Timezone.array_append_from_vtimezone(array, zone3.get_component()); 40ICalGLib.Timezone.array_append_from_vtimezone(array, zone4.get_component()); 41 42assert array.size() == 5 43 44z0 = ICalGLib.Timezone.array_element_at(array, 0); 45assert(z0.get_location() == zone0.get_location()); 46z1 = ICalGLib.Timezone.array_element_at(array, 1); 47assert(z1.get_location() == zone1.get_location()); 48z2 = ICalGLib.Timezone.array_element_at(array, 2); 49assert(z2.get_location() == zone2.get_location()); 50z3 = ICalGLib.Timezone.array_element_at(array, 3); 51assert(z3.get_location() == zone3.get_location()); 52z4 = ICalGLib.Timezone.array_element_at(array, 4); 53assert(z4.get_location() == zone4.get_location()); 54 55array2 = array.copy(); 56 57assert array2.size() == 5 58 59z0 = ICalGLib.Timezone.array_element_at(array2, 0); 60assert(z0.get_location() == zone0.get_location()); 61z1 = ICalGLib.Timezone.array_element_at(array2, 1); 62assert(z1.get_location() == zone1.get_location()); 63z2 = ICalGLib.Timezone.array_element_at(array2, 2); 64assert(z2.get_location() == zone2.get_location()); 65z3 = ICalGLib.Timezone.array_element_at(array2, 3); 66assert(z3.get_location() == zone3.get_location()); 67z4 = ICalGLib.Timezone.array_element_at(array2, 4); 68assert(z4.get_location() == zone4.get_location()); 69 70array.remove_element_at(2); 71assert array.size() == 4 72 73z0 = ICalGLib.Timezone.array_element_at(array, 0); 74assert(z0.get_location() == zone0.get_location()); 75z1 = ICalGLib.Timezone.array_element_at(array, 1); 76assert(z1.get_location() == zone1.get_location()); 77z3 = ICalGLib.Timezone.array_element_at(array, 2); 78assert(z3.get_location() == zone3.get_location()); 79z4 = ICalGLib.Timezone.array_element_at(array, 3); 80assert(z4.get_location() == zone4.get_location()); 81