Skip to content
Testaroo
csv1.3 KB

Copper Oven Bakery: Till import with a duplicate item code

Till import with a duplicate item code for Copper Oven Bakery. Intentionally invalid. 22 rows where pos-import.csv has 21. item_code MENU-02 appears on line 3 at 4.25 CAD and again on line 23 at 5.25 CAD, which is the proposed price in the shared menu_price_changes table. It is the only repeated code in the file, so an importer that keeps the last row it reads silently ships the later price.

Preview, first 24 linescsv
item_code,item_name,category,price,tax_code,modifier_group
MENU-01,Yeasted loaf,Bread counter,7.50,GST5,MG-MENU-01
MENU-02,Butter croissant,Viennoiserie and sweet,4.25,GST5,MG-MENU-02
MENU-03,Chocolate bun,Viennoiserie and sweet,4.75,GST5,MG-MENU-03
MENU-04,Sweet butter roll,Viennoiserie and sweet,4.50,GST5,MG-MENU-04
MOD-01,Extra portion,Modifier,2.50,GST5,MG-MENU-01
MOD-02,Takeaway packaging,Modifier,0.50,GST5,MG-MENU-01
MOD-03,Extra portion,Modifier,2.50,GST5,MG-MENU-02
MOD-04,Takeaway packaging,Modifier,0.50,GST5,MG-MENU-02
MOD-05,Extra portion,Modifier,2.50,GST5,MG-MENU-03
MOD-06,Takeaway packaging,Modifier,0.50,GST5,MG-MENU-03
MOD-07,Extra portion,Modifier,2.50,GST5,MG-MENU-04
MOD-08,Takeaway packaging,Modifier,0.50,GST5,MG-MENU-04
DRK-01G,"Filter coffee carafe, 200 ml",By the glass,3.00,GST5,
DRK-02G,"Pressed orange juice, 200 ml",By the glass,2.75,GST5,
DRK-03G,"Sparkling water, 150 ml",By the glass,1.50,GST5,
DRK-04G,"Chocolat chaud à l'ancienne, 300 ml",By the glass,4.50,GST5,
DRK-01B,"Filter coffee carafe, 1000 ml",By the bottle,14.00,GST5,
DRK-02B,"Pressed orange juice, 1000 ml",By the bottle,13.00,GST5,
DRK-03B,"Sparkling water, 750 ml",By the bottle,7.00,GST5,
DRK-05B,"Still water, 500 ml",By the bottle,3.00,GST5,
GIFT-25,Gift card 25,Stored value,25.00,EXEMPT,
MENU-02,Butter croissant,Viennoiserie and sweet,5.25,GST5,MG-MENU-02

Specifications

Kit
restaurant-bakery
Industry
food-service
Schema Version
1
Synthetic
true
As Of
2026-09-08
Currency
CAD
Menu Items
4
Rows
22
Columns
6
Intentionally Invalid
true
Defect
duplicate-item-code
Duplicate Item Code
MENU-02
First Line
3
Second Line
23
Delimiter
,
Encoding
UTF-8
Line Endings
LF

Testing contract

Expected to fail
Scenario
Use till import with a duplicate item code in the Copper Oven Bakery menu, allergen and till import workflow.
Expected result
Intentionally invalid. 22 rows where pos-import.csv has 21. item_code MENU-02 appears on line 3 at 4.25 CAD and again on line 23 at 5.25 CAD, which is the proposed price in the shared menu_price_changes table. It is the only repeated code in the file, so an importer that keeps the last row it reads silently ships the later price.

What is a .csv file?

CSV (Comma-Separated Values) is a plain-text tabular format where rows are lines and fields are separated by commas, with quoting rules for values that contain delimiters, quotes, or newlines. It has no formal type system and depends on encoding and dialect conventions. It is the most portable format for tabular data exchange.

How to use this file

Use an example CSV to test parsers against quoting and embedded-delimiter edge cases, header handling, encoding detection, and import pipelines into databases or spreadsheets.

How to use this file for testing

“Copper Oven Bakery: Till import with a duplicate item code” is a deterministic Testaroo fixture for Data import, Error handling, CSV parsing. Realistic faker-generated datasets with documented schemas for testing import and ETL flows.

Documented properties for this file: 22 rows · 6 columns · UTF-8 · LF. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such, expect parsers to fail loudly rather than silently accept them.

Data fixtures document their exact quirks (delimiters, encodings, null handling, schema, and row counts) in the spec table. Point your parser or importer at the file and assert it handles the documented edge cases; clean and deliberately-messy siblings make before/after diffs straightforward.

Code examples

import pandas as pd

df = pd.read_csv("pos-import-duplicate-code.csv")
print(df.head())
print(df.dtypes)

Generated by generation/restaurant_menus.py. Free for any use, no attribution required, license.