mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-12 20:32:15 +00:00
78 lines
3.0 KiB
Plaintext
78 lines
3.0 KiB
Plaintext
CREATE OR REPLACE PACKAGE BODY texttest IS
|
|
co_lf CONSTANT VARCHAR2(1) := CHR(10);
|
|
|
|
PROCEDURE put_line(p_buffer IN OUT NOCOPY VARCHAR2, p_line VARCHAR2) IS
|
|
BEGIN
|
|
p_buffer := p_buffer || p_line || co_lf;
|
|
END put_line;
|
|
|
|
PROCEDURE setup IS
|
|
BEGIN
|
|
DELETE FROM ITEM;
|
|
|
|
new_item('+5 Dexterity Vest', 10, 20);
|
|
new_item('Aged Brie', 2, 0);
|
|
new_item('Elixir of the Mongoose', 5, 7);
|
|
new_item('Sulfuras, Hand of Ragnaros', 0, 80);
|
|
new_item('Sulfuras, Hand of Ragnaros', -1, 80);
|
|
new_item('Backstage passes to a TAFKAL80ETC concert', 15, 20);
|
|
new_item('Backstage passes to a TAFKAL80ETC concert', 10, 49);
|
|
new_item('Backstage passes to a TAFKAL80ETC concert', 5, 49);
|
|
-- this conjured item does not work properly yet ;
|
|
new_item('Conjured Mana Cake', 3, 6);
|
|
END setup;
|
|
|
|
PROCEDURE main_test IS
|
|
v_result VARCHAR2(4000) := '';
|
|
|
|
v_expected VARCHAR2(4000) := '';
|
|
|
|
l_days NUMBER(3);
|
|
|
|
CURSOR c_items IS SELECT name, sell_in, quality FROM item;
|
|
|
|
l_item c_items%ROWTYPE;
|
|
BEGIN
|
|
put_line(v_expected, 'OMGHAI!');
|
|
put_line(v_expected, '-------- day 0 --------');
|
|
put_line(v_expected, 'name, sellIn, quality');
|
|
put_line(v_expected, '+5 Dexterity Vest, 10, 20' || co_lf || 'Aged Brie, 2, 0');
|
|
put_line(v_expected, 'Elixir of the Mongoose, 5, 7');
|
|
put_line(v_expected, 'Sulfuras, Hand of Ragnaros, 0, 80');
|
|
put_line(v_expected, 'Sulfuras, Hand of Ragnaros, -1, 80');
|
|
put_line(v_expected, 'Backstage passes to a TAFKAL80ETC concert, 15, 20');
|
|
put_line(v_expected, 'Backstage passes to a TAFKAL80ETC concert, 10, 49');
|
|
put_line(v_expected, 'Backstage passes to a TAFKAL80ETC concert, 5, 49');
|
|
put_line(v_expected, 'Conjured Mana Cake, 3, 6');
|
|
put_line(v_expected, '-------- day 1 --------');
|
|
put_line(v_expected, 'name, sellIn, quality');
|
|
put_line(v_expected, '+5 Dexterity Vest, 9, 19');
|
|
put_line(v_expected, 'Aged Brie, 1, 1');
|
|
put_line(v_expected, 'Elixir of the Mongoose, 4, 6');
|
|
put_line(v_expected, 'Sulfuras, Hand of Ragnaros, 0, 80');
|
|
put_line(v_expected, 'Sulfuras, Hand of Ragnaros, -1, 80');
|
|
put_line(v_expected, 'Backstage passes to a TAFKAL80ETC concert, 14, 21');
|
|
put_line(v_expected, 'Backstage passes to a TAFKAL80ETC concert, 9, 50');
|
|
put_line(v_expected, 'Backstage passes to a TAFKAL80ETC concert, 4, 50');
|
|
put_line(v_expected, 'Conjured Mana Cake, 2, 5');
|
|
|
|
put_line(v_result, 'OMGHAI!');
|
|
l_days := 2;
|
|
|
|
FOR i IN 0 .. l_days - 1
|
|
LOOP
|
|
put_line(v_result, '-------- day ' || TO_CHAR(i) || ' --------');
|
|
put_line(v_result, 'name, sellIn, quality');
|
|
|
|
FOR l_item IN c_items
|
|
LOOP
|
|
put_line(v_result, l_item.name || ', ' || l_item.sell_in || ', ' || l_item.quality);
|
|
END LOOP;
|
|
|
|
update_quality();
|
|
END LOOP;
|
|
|
|
ut.expect(v_result).to_equal(v_expected);
|
|
END;
|
|
END texttest;
|
|
/ |